1 Class Agenda (11/07 and 11/12)  Review HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve practical.

Slides:



Advertisements
Similar presentations
Relational Terminology. Normalization A method where data items are grouped together to better accommodate business changes Provides a method for representing.
Advertisements

BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
1 Class Agenda (04/03 and 04/08)  Review and discuss HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve.
Athabasca University Under Development for COMP 200 Gary Novokowsky
Modeling the Data: Conceptual and Logical Data Modeling
ISP 121 Access Normalization and Relationships. Normalization Say we’re operating a pet day-care and we need to keep information on our pets/customers.
Database table design Single table vs. multiple tables Sen Zhang.
Accounting 6500 Relational Databases: Accounting Applications Introduction to Normalization.
Database Design Conceptual –identify important entities and relationships –determine attribute domains and candidate keys –draw the E-R diagram Logical.
The Relational Database Model:
Relational Data Analysis II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance.
Chapter 5 Normalization of Database Tables
Normalization A337. A337 - Reed Smith2 Structure What is a database? ◦ Tables of information  Rows are referred to as records  Columns are referred.
LOGICAL DATABASE DESIGN
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Page 1 ISMT E-120 Introduction to Microsoft Access & Relational Databases The Influence of Software and Hardware Technologies on Business Productivity.
Page 1 ISMT E-120 Desktop Applications for Managers Introduction to Microsoft Access.
Normalization Rules for Database Tables Northern Arizona University College of Business Administration.
File and Database Design SYS364. Today’s Agenda WHTSA DBMS, RDBMS, SQL A place for everything and everything in its place. Entity Relationship Diagrams.
1 Class Agenda: 03/13 – 3/15  Review Database design – core concepts Review design for ERD Scenarios #3 & #4 Review concepts of normalization. Do practice.
Modelling Techniques - Normalisation Description and exemplification of normalisation.Description and exemplification of normalisation. Creation of un-normalised.
XP Class Objectives – 9/10 and 9/12 Learn how to design a small database Understand the goals of a database Understand the terminology of database design.
1 Class Agenda (04/09 through 04/16)  Review HW #8  Present normalization process Enhance conceptual knowledge of database design. Improve practical.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Chapter 1 Overview of Database Concepts Oracle 10g: SQL
Functional Dependence An attribute A is functionally dependent on attribute(s) B if: given a value b for B there is one and only one corresponding value.
1 Chapter 1 Overview of Database Concepts. 2 Chapter Objectives Identify the purpose of a database management system (DBMS) Distinguish a field from a.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Avoiding Database Anomalies
Normalization A technique that organizes data attributes (or fields) such that they are grouped to form stable, flexible and adaptive entities.
Normalization (Codd, 1972) Practical Information For Real World Database Design.
Logical Database Design Relational Model. Logical Database Design Logical database design: process of transforming conceptual data model into a logical.
Schema Refinement and Normal Forms 20131CS3754 Class Notes #7, John Shieh.
M Taimoor Khan Course Objectives 1) Basic Concepts 2) Tools 3) Database architecture and design 4) Flow of data (DFDs)
In this chapter, you learn about the following: ❑ Anomalies ❑ Dependency and determinants ❑ Normalization ❑ A layman’s method of understanding normalization.
Chapter 7 1 Database Principles Data Normalization Primarily a tool to validate and improve a logical design so that it satisfies certain constraints that.
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
10/3/2012ISC329 Isabelle Bichindaritz1 Logical Design.
IST 210: ORGANIZATION OF DATA Chapter 1. Getting Started IST210 1.
I Information Systems Technology Ross Malaga 4 "Part I Understanding Information Systems Technology" Copyright © 2005 Prentice Hall, Inc. 4-1 DATABASE.
Copyright 2008 McGraw-Hill Ryerson 1 TECHNOLOGY PLUG-IN T5 DESIGNING DATABASE APPLICATIONS.
Data Models and Relational Databases Chapter 2. Learning Objectives Identify primary and foreign keys for each entity and relevant relationships in the.
Normalization Information Systems II Ioan Despi. Informal approach Building a database structure : A process of examining the data which is useful & necessary.
Normalization Well structured relations and anomalies Normalization First normal form (1NF) Functional dependence Partial functional dependency Second.
BIS 360 – Lecture Eight Ch. 12: Database Design and Normalization.
Chapter 1Introduction to Oracle9i: SQL1 Chapter 1 Overview of Database Concepts.
M1G Introduction to Database Development 4. Improving the database design.
Component 4/Unit 6d Topic IV: Design a simple relational database using data modeling and normalization Description and Information Gathering Data Model.
Chapter 16: Using Relational Databases Programming Logic and Design, Third Edition Comprehensive.
Functional Dependency, Normalization
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
A337 - Reed Smith1 Structure What is a database? –Table of information Rows are referred to as records Columns are referred to as fields Record identifier.
Creating Databases Data normalization. Integrity and Robustness. Work session. Homework: Prepare short presentation on enhancement projects. Continue working.
Normalization. 2 u Main objective in developing a logical data model for relational database systems is to create an accurate representation of the data,
Assignment 1 Uploaded to course website Due next Tuesday, Sep 1, at 11:59pm.
1 Class Agenda (04/06/2006 and 04/11/2006)  Discuss use of Visio for ERDs  Learn concepts and ERD notation for data generalization  Introduce concepts.
Logical Database Design and the Relational Model.
IST Database Normalization Todd Bacastow IST 210.
Logical Design 12/10/2009GAK1. Learning Objectives How to remove features from a local conceptual model that are not compatible with the relational model.
McGraw-Hill/Irwin Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 6 Modeling the Data: Conceptual and Logical Data Modeling.
NormalisationNormalisation Normalization is the technique of organizing data elements into records. Normalization is the technique of organizing data elements.
5 1 Normalization of Database Tables. 5 2 Database Tables and Normalization Normalization –Process for evaluating and correcting table structures to minimize.
Logical Database Design and Relational Data Model Muhammad Nasir
What Is Normalization  In relational database design, the process of organizing data to minimize redundancy  Usually involves dividing a database into.
Database Planning Database Design Normalization.
Chapter 1. Getting Started IST 210: Organization of Data IST2101.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
CIS 155 Table Relationship
Example Question–Is this relation Well Structured? Student
Presentation transcript:

1 Class Agenda (11/07 and 11/12)  Review HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve practical skills of database design.  Approach Review what we learned from SQL. Review goals of database design. Identify and define vocabulary for normalization. Do an “intuitive” database design for a refresher. Discuss the characteristics of the three normal forms and the characteristics of a data model in third normal form. Use the normalization process to do the same database design. Compare results. Do more database design exercises using normalization process.

SQL and database design  Tables in a relational database aren’t really “related” unless the DBA wants to enforce referential integrity.  Tables are joined together by shared fields. SQL doesn’t care how you join tables together – it is completely up to the SQL programmer to make that decision.  It is really easy to get the wrong number of rows in the result table when joining tables.  It is easier to join tables correctly if you follow the relationship structure of a good database design. 2

3 Review of database design goals  Protect the integrity of the data. Reduce data redundancy. Prevent data anomalies.  Provide for change. Prevent inflexible data structures. Anticipate changes.  Provide access to complete data for decision making.

Data anomalies  An anomaly is a potential error or inconsistency in the data.  Data anomalies are most frequently caused by the implementation of M:N relationships.  M:N relationships are implemented through 1:M relationships that aren’t actually an accurate picture of the data... 4

Example of a “False” 1:m Relationship Order net net net cod cod Product 5613 tumbler 12 oz ea inventory Sacramento South tumbler 12 oz ea inventory Sacramento North food processor ea inventory Sacramento North paper rm supplies Sacramento South glass pitcher ea inventory Reno

6 Potential anomalies in the example  Insertion anomaly: Can’t add “some” of a row; must have all the key attributes. Example - Suppose we need to add a new warehouse?  Deletion anomaly: Lose some relevant data when deleting other data. Example - What happens to the Reno warehouse information (name and phone#) when we delete item #4512?  Update anomaly: Must update more than one row when one piece of data changes. Examples - What happens if the telephone number at the Sacramento North warehouse changes? What happens if the date the purchase order was placed is entered incorrectly and must be updated?

How to create a good database design?  Be an incredibly adept, intuitive database designer.  Be a fairly decent intuitive database designer and check your work with the principles of the normalization process.  Be able to follow the normalization process closely and completely. 7

8 What is normalization?  Normalization is a formal, process-oriented approach to data modeling.  Normalization is the process of: examining groups of data attributes; splitting them into appropriate entities; identifying the relationships between the entities; and identifying appropriate primary and foreign keys.

Same old/same old  Normalization should sound like what you have already done during database design.  The ultimate goals of design have not changed; we are just going to go about it in a slightly different way.  Let’s start with an application and doing it through “intuitive” database design. Student information grade screen design exercise available on the class website. 9

Database Normalization  What will you know about database normalization? Define normalization. Know the vocabulary of normalization. Understand the process of normalization. Better understand the characteristics of an effective database design.  What will you be able to do? Be able to identify the characteristics of each normal form. Be able to tell whether or not a data model is in third normal form. Potentially be able to use normalization to assist you in the design of a database. 10

11 Normalization process  Some refer to this as the “bottom-up” form of database design.  Contrast with the more intuitive “top-down” approach we have been using.  The results from the normalization process are stable, flexible entities. The results from the intuitive approach should be the same.

12 Two methods of applying normalization 1. Use it to help in designing a database. Normalization starts with a single entity. Normalization breaks that entity into a series of additional entities. More entities are discovered and named during the process. Entities are linked during the process. 2. Use it to validate the design of a database. Identify entities from the meaning of the data. Create conceptual and logical data models. Apply the rules of normalization to ensure a stable, non-redundant design.

13 Vocabulary for normalization  A “functional dependency" is a relationship between attributes in which one attribute or group of attributes determines the value of another.  A “determinant” is an attribute or group of attributes that, once known, can determine the value of another attribute.

Examples of functional dependencies and determinants  A social security number determines your name and address. SSN  name, address.  A vehicle id number determines the make and model of a car. VIN  make, model.  Name and address are “functionally dependent” on SSN.  SSN “determines” name and address.

Functional dependencies  Functional dependency diagram format: CourseID  CourseName, CourseDescription, CourseCredits ZipCode  City, State PatientID, TreatmentDateTime  TestResults  Must make decisions about the data. Are course credits dependent on the courseID? What else could course credits be dependent on? 15

16 Normalization process  Normalization is accomplished in stages. A “normal form” is a state (level of completeness) of a data model.  Unnormalized data: A data model that has not been normalized. It contains repeating groups and is not a stable model.  Unnormalized data is essentially one entity. The system under analysis is categorized as a single entity.

Steps/forms/phases in Normalization  First normal form: Remove repeating groups.  Second normal form: Remove partial functional dependencies.  Third normal form: Remove transitive dependences  There are additional normal forms. See the appendix in your DB book.  The goal for most designs is to have a database in third normal form. 17

Semester Year Student Name Student Address Student City Student State Student Zip Code Student ID Student College Student Major Student Minor Student Year Course ID Course Title Course Instructor Course Credits Grade What attributes might be needed that aren’t visible on the grade report? Group all attributes in one “big” entity. Identify a primary key for the entity. Maybe studentID for this one. Unnormalized data for grade report exercise

19 First Normal Form  First normal form: Remove repeating groups. A repeating group is an attribute or group of attributes that can have more than one value for an instance of an entity. If it is a single attribute, we have been calling it a “multi-valued” attribute.  To get a data model into first normal form: Identify repeating groups and place them as separate entities in the model. Identify a primary key for the repeating group. The key may be concatenated. Create the relationships between entities. Divide m:n relationships with appropriate intersection entities.

Second Normal Form  Second normal form: Remove partial functional dependencies.  A partial functional dependency is a situation in which one or more non-key attributes are functionally dependent on part, but not all, of the primary key. Partial functional dependencies occur only with concatenated keys.  Examples of partial functional dependencies: PatientID, TreatmentDateTime  PatName, TstResults, TrtID, LocID CourseID, StudentID  CourseTitle, Grade  Which entities developed during the transition to first normal form for the grade report have concatenated keys? 20

21 Third normal form  Third normal form: Remove transitive dependencies. A transitive dependency occurs when a non-key attribute is functionally dependent on one or more non-key attributes.  Third normal form examines entities with single primary keys and removes the “floating” or transitive dependencies.  It may be possible to have attributes that are determined by other attributes, rather than by the primary key. They must be removed into entities with appropriate primary keys.  Example of transitive dependency: courseID->course title, departmentID, department name

22 Summary of normalization process  Examine and evaluate the logical data model for effectiveness. Find the repeating groups and put the model into first normal form. Identify primary key fields for any new entities. Relate entities with foreign keys. Find the functional dependencies. Identify the partial functional dependencies and put the model into second normal form. Identify primary key fields for any new entities. Relate entities with foreign keys. Find the transitive dependencies and put the model into third normal form. Identify primary key fields for any new entities. Relate entities with foreign keys.

23 Goal of normalization A set of entities where each attribute in each entity is dependent on the primary key, the whole primary key, and nothing but the primary key.