1 Class Agenda (04/09 through 04/16)  Review HW #8  Present normalization process Enhance conceptual knowledge of database design. Improve practical.

Slides:



Advertisements
Similar presentations
Database Design: Normalization J.G. Zheng June 29 th 2005 DB Chapter 4.
Advertisements

Relational Terminology. Normalization A method where data items are grouped together to better accommodate business changes Provides a method for representing.
Normalization What is it?
1 Class Agenda (04/03 and 04/08)  Review and discuss HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve.
GCSE Computing#BristolMet Session Objectives# 21 MUST describe methods of validating data as it is input. SHOULD explain the use of key fields to connect.
Normalisation Ensuring data integrity in database design 1.
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.
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:
Normalization I.
Relational Data Analysis II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance.
Chapter 5 Normalization of Database Tables
Project and Data Management Software
System Analysis and Design
Why Normalization? To Reduce Redundancy to 1.avoid modification, insertion, deletion anomolies 2.save space Goal: One Fact in One Place.
LOGICAL DATABASE DESIGN
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Normalization Rules for Database Tables Northern Arizona University College of Business Administration.
Systems analysis and design, 6th edition Dennis, wixom, and roth
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.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
1 Class Agenda (11/07 and 11/12)  Review HW #8 answers  Present normalization process Enhance conceptual knowledge of database design. Improve practical.
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.
Relational databases and third normal form As always click on speaker notes under view when executing to get more information!
Avoiding Database Anomalies
Normalization A technique that organizes data attributes (or fields) such that they are grouped to form stable, flexible and adaptive entities.
Module Title? DBMS Normalization. Module Title? DBMS Normalization  Normalization is the process of removing redundant data from tables in order to improve.
RDBMS Concepts/ Session 3 / 1 of 22 Objectives  In this lesson, you will learn to:  Describe data redundancy  Describe the first, second, and third.
Normalization (Codd, 1972) Practical Information For Real World Database Design.
Normalisation Rules and Practical Application Geoff Leese January 2010.
Database Normalization Lynne Weldon July 17, 2000.
Logical Database Design Relational Model. Logical Database Design Logical database design: process of transforming conceptual data model into a logical.
M Taimoor Khan Course Objectives 1) Basic Concepts 2) Tools 3) Database architecture and design 4) Flow of data (DFDs)
1 CMPT 275 Phase: Design. Janice Regan, Map of design phase DESIGN HIGH LEVEL DESIGN Modularization User Interface Module Interfaces Data Persistance.
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.
1 5 Normalization. 2 5 Database Design Give some body of data to be represented in a database, how do we decide on a suitable logical structure for that.
BIS 360 – Lecture Eight Ch. 12: Database Design and Normalization.
Customer Order Order Number Date Cust ID Last Name First Name State Amount Tax Rate Product 1 ID Product 1 Description Product 1 Quantity Product 2 ID.
Chapter 1Introduction to Oracle9i: SQL1 Chapter 1 Overview of Database Concepts.
Database Design – Lecture 8
Functional Dependency, Normalization
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,
BSA206 Database Management Systems Lecture 2: Introduction to Oracle / Overview of Database Concepts.
MIS2502: Data Analytics Relational Data Modeling
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.
Functional dependencies and normalization 1 Normalization Functional dependencies NF + BCNF.
Chapter 8: Object-Relational Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer.
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.
Normalization ACSC 425 Database Management Systems.
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
5 1 Chapter 5 Normalization of Database Tables Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
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.
SEEM3430: Information Systems Analysis and Design
IST 318 Database Administration
MIS2502: Data Analytics Relational Data Modeling 2
Database Design Chapter 7.
Presentation transcript:

1 Class Agenda (04/09 through 04/16)  Review HW #8  Present normalization process Enhance conceptual knowledge of database design. Improve practical skills of database design.  Approach 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.

2 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.

3 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 4

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. 5

6 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.

7 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.

8 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 dependency diagram format: CourseID  CourseName, CourseDescription, CourseCredits ZipCode  City, State PatientID, TreatmentDateTime  TestResults

10 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.

11 Steps/forms/phases in Normalization  First normal form: Remove repeating groups.  Second normal form: Remove partial functional dependencies.  Third normal form: Remove transitive dependences

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

13 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.

14 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?

15 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 partial functional dependency: PatID, TrtDateTime  TstResults, TrtType, TrtDescription, LocName, TrtID, LocID

16 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.

17 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.