Web-Enabled Decision Support Systems

Slides:



Advertisements
Similar presentations
BUSINESS DRIVEN TECHNOLOGY Plug-In T4 Designing Database Applications.
Advertisements

1 Logical Database Design and the Relational Model Modern Database Management.
The Relational Model System Development Life Cycle Normalisation
Modeling the Data: Conceptual and Logical Data Modeling
Chapter 6 Methodology Logical Database Design for the Relational Model Transparencies © Pearson Education Limited 1995, 2005.
Systems Development Life Cycle
© 2005 by Prentice Hall 1 Chapter 5: Logical Database Design and the Relational Model Modern Database Management 7 th Edition Jeffrey A. Hoffer, Mary B.
© 2005 by Prentice Hall Chapter 3a Database Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Database Design Conceptual –identify important entities and relationships –determine attribute domains and candidate keys –draw the E-R diagram Logical.
Entity-Relationship Model and Diagrams (continued)
Methodology Logical Database Design for the Relational Model
1 © Prentice Hall, 2002 Chapter 5: Logical Database Design and the Relational Model Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B.
Chapter 5 Normalization of Database Tables
APPENDIX C DESIGNING DATABASES
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
1 Web-Enabled Decision Support Systems Entity-Relationship Modeling Prof. Name Position (123) University Name.
Chapter 5 1 © Prentice Hall, 2002 Chapter 5: Transforming EER Diagrams into Relations Mapping Regular Entities to Relations 1. Simple attributes: E-R attributes.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 9.1.
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management Dave Salisbury ( )
Concepts and Terminology Introduction to Database.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
CMPE 226 Database Systems September 16 Class Meeting Department of Computer Engineering San Jose State University Fall 2015 Instructor: Ron Mak
Normalization. Learners Support Publications 2 Objectives u The purpose of normalization. u The problems associated with redundant data.
Logical Database Design Relational Model. Logical Database Design Logical database design: process of transforming conceptual data model into a logical.
10/3/2012ISC329 Isabelle Bichindaritz1 Logical Design.
Copyright 2008 McGraw-Hill Ryerson 1 TECHNOLOGY PLUG-IN T5 DESIGNING DATABASE APPLICATIONS.
Team Dosen UMN Database Design Connolly Book Chapter
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
CSE314 Database Systems Basics of Functional Dependencies and Normalization for Relational Databases Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E.
Relational Database. Database Management System (DBMS)
Slide Chapter 5 The Relational Data Model and Relational Database Constraints.
IE 423 – Design of Decision Support Systems Data modeling and database development.
11/07/2003Akbar Mokhtarani (LBNL)1 Normalization of Relational Tables Akbar Mokhtarani LBNL (HENPC group) November 7, 2003.
Chapter 9: Logical Database Design and the Relational Model (ERD Mapping)
1 © Prentice Hall, 2002 Chapter 5: Logical Database Design and the Relational Model Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B.
1 Chapter 17 Methodology - Local Logical Database Design.
Chapter 9 Logical Database Design : Mapping ER Model To Tables.
©NIIT Normalizing and Denormalizing Data Lesson 2B / Slide 1 of 18 Objectives In this section, you will learn to: Describe the Top-down and Bottom-up approach.
In this session, you will learn to: Describe data redundancy Describe the first, second, and third normal forms Describe the Boyce-Codd Normal Form Appreciate.
9/23/2012ISC329 Isabelle Bichindaritz1 Normalization.
Normalization. 2 u Main objective in developing a logical data model for relational database systems is to create an accurate representation of the data,
Logical Database Design and the Relational Model.
1 ER Modeling BUAD/American University Mapping ER modeling to Relationships.
Chapter 10 Designing Databases. Objectives:  Define key database design terms.  Explain the role of database design in the IS development process. 
1 © Prentice Hall, 2002 ITD1312 Database Principles Chapter 4B: Logical Design for Relational Systems -- Transforming ER Diagrams into Relations Modern.
Logical Database Design and the Relational Model.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 5 (Part a): Logical Database Design and the Relational Model Modern Database Management.
11/10/2009GAK1 Normalization. 11/10/2009GAK2 Learning Objectives Definition of normalization and its purpose in database design Types of normal forms.
Copyright © 2016 Pearson Education, Inc. Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman, Heikki Topi CHAPTER 3: LOGICAL DATABASE.
IE 423 – Design of Decision Support Systems Data modeling and database development.
Lecture 4: Logical Database Design and the Relational Model 1.
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.
Normalization. Overview Earliest  formalized database design technique and at one time was the starting point for logical database design. Today  is.
Methodology - Logical Database Design. 2 Step 2 Build and Validate Local Logical Data Model To build a local logical data model from a local conceptual.
Logical Database Design and Relational Data Model Muhammad Nasir
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
1 CS490 Database Management Systems. 2 CS490 Database Normalization.
COP Introduction to Database Structures
Logical Database Design and the Rational Model
Methodology Logical Database Design for the Relational Model
Chapter 4 Logical Database Design and the Relational Model
Chapter 4: Logical Database Design and the Relational Model
Chapter 5: Logical Database Design and the Relational Model
MIS 322 – Enterprise Business Process Analysis
Translation of ER-diagram into Relational Schema
CMPE 226 Database Systems February 21 Class Meeting
© 2011 Pearson Education, Inc. Publishing as Prentice Hall
Relational Database.
CHAPTER 4: LOGICAL DATABASE DESIGN AND THE RELATIONAL MODEL
Presentation transcript:

Web-Enabled Decision Support Systems Relational Data Modeling and Normalization Prof. Name name@email.com Position (123) 456-7890 University Name

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Introduction In the previous chapter, we described conceptual database design using object-based entity-relationship (E-R) data modeling The objective of a logical database design is to transform the conceptual data model into a set of relations used for physical database design We describe logical database design using record-based relational data modeling Widely used in contemporary database applications General modeling approach

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Relational Data Model First introduced by IBM’s E.F. Codd in the 1970s Based on mathematical concept of a relation Physically represented as a relation or a table that stores data Consists of three components: Relational data structure Where data is organized Data manipulation Operations used to manipulate data stored in the data structure Relational data integrity Rules that maintain the integrity of data when manipulated

Relational Data Structure A relation is the main data structure that stores and organizes data in the relational data model Two-dimensional grid that holds data about the object in the database E-R Diagram and Relational Schema for the Student Relation

Relational Data Structure (cont.) A column of a relation is referred to as an attribute The number of attributes in a relation is called the degree of the relation A row is referred to as a record or a tuple The number of records in a relation is defined as the cardinality of the relation Relational schema example: STUDENT (SSN, Name, Email, DeptName)

Properties of a Relation Each relation is uniquely identified by its name Each cell of a relation contains exactly one (atomic) value Each record of a relation is unique Each attribute in a relation has a distinct name The values of an attribute are from the same domain The order of attributes is irrelevant The order of records is also irrelevant

Data Manipulation A way to access and manipulate the data in the relations Done using a data manipulation language: Structured Query Language (SQL) SQL example:

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Relational Keys We need to specify one or more attributes (relational keys) that uniquely identify each record in a relation A super key is a set of one or more attributes that uniquely identifies each record in a relation A candidate key is a minimal super key (one that has a minimum number of attributes)

Primary and Composite Keys A primary key is a candidate key that has been selected to uniquely identify records in a relation Selection of primary key: It must be unique within its domain at all times The candidate key can never change It cannot hold a NULL value A composite key is a key that has more than one attribute

Foreign Key A foreign key is an attribute or a set of attributes in a relation that serves as a primary key of the same or some other relation Foreign Key Primary Key Student and Department Relations Illustrating Foreign Keys (DeptName)

About NULL Situations where attribute cannot be assigned with a data value There is no applicable data value When the value is unknown Assign NULL value in such situations NULL means that the value is either unknown or is not applicable NULL is not same as zero or white space

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Integrity Constraints There are three types of data integrity constraints: Domain constraints Entity constraints Referential constraints

Domain Constraints A domain is the set of values that can be assigned to an attribute The domain constraint states that all the values of an attribute must be from the same domain The Domain Definition

Entity Constraints Entity constraints ensure that every relation of a relational data model has a primary key and that the value of the primary key cannot be NULL Proof: Primary key: Minimal set of attributes that uniquely identify tuples Say primary key can have nulls: We don’t need all attributes of a primary key to identify the tuples uniquely CONTRADICTION!

Referential Constraints A referential integrity constraint ensures that the foreign key values of a relation must come from the primary key values of the related relation; otherwise, the value of a foreign key must be NULL Violation of a Referential Integrity Constraint

Referential Constraints (cont.) Representation: Add an arrow starting from foreign key attribute(s) pointing to the associated primary key attribute(s) Graphical Representation of a Relational Schema

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Task 1: Transforming Regular Entities Transform a regular entity type in an E-R diagram into a relation. Assign the entity name in an E-R diagram as a relation name. Make each simple attribute of a regular entity an attribute of a relation. Make the identifier of the regular entity type the primary key of a relation. Transformation of a Regular Entity

Task 2: Transforming Composite Attributes Include simple attributes of a composite attribute in the relation. Transformation of a Composite Attribute

Task 3: Transforming Multi-Valued Attributes Transform a regular entity as described; however, do not add any multi-valued attributes to the relation. Create a new relation (one for each multi-valued attribute). The new relation should have two attributes: Identifier of a regular entity Multi-valued attribute The name of the new relation should be a logical name that reflects the meaning of a multi-valued attribute. The primary key of a new relation is a composite key. The two attributes of a new relation together serve as its primary key.

Task 3: Transforming Multi-Valued Attributes Transformation of Multi-Valued Attribute

Task 4: One-to-Many Unary Relationships Transform an entity of a unary relationship as a regular entity as described previously. Add a new attribute, primary key of the same relation as a foreign key. Draw an arrow that originates from the foreign key and points towards the primary key. Student Relation After Transformation

Task 4: One-to-Many Unary Relationships Transformation of a Unary One-to-Many Relationship

Task 4: Many-to-Many Unary Relationships Transform the entity of a unary relationship as a regular entity. Create and name a new relation to represent the many-to-many relationship. The new relation gets the primary key of the entity and a second attribute representing the many-to-many relationship. Primary key of the new relation is a composite key of the two foreign keys. Draw referential integrity arrows for the foreign keys. Add any attributes of the many-to-many relationship in the new relation.

Task 4: Many-to-Many Unary Relationships Transformation of a Unary Many-to-Many Relationship

Task 4: Many-to-Many Unary Relationships Relation Item and the New Relation Component After Transformation

Task 5: One-to-One Binary Relationships Create two relations, one for each entity. Transform each entity into a relation as a regular entity. Include the primary key of one relation as a foreign key to the other relation. Mandatory side migrates towards the optional side. Show the referential integrity constraint. Any attributes on the relationship along with the foreign key migrate toward the optional side of the relationship.

Task 5: One-to-One Binary Relationships Transformation of a Binary One-to-One Relationship

Task 5: One-to-One Binary Relationships Employee and Workstation Relations After Transformation

Task 5: One-to-Many Binary Relationships Create two relations, one for each entity. Transform each entity into a relation as a regular entity. The primary key of a relation on the “one” side of the relationship migrates towards the relation on the “many” side of the relationship. Show referential integrity constraints. Any attributes on the relationship along with the foreign key migrate toward the relation on the “many” side of the relationship.

Task 5: One-to-Many Binary Relationships Transformation of a Binary One-to-Many Relationship

Task 5: One-to-Many Binary Relationships Student and Department Relations After Transformation

Task 5: Many-to-Many Binary Relationships Create two relations, one for each entity. Transform each entity into a relation as a regular entity. Create a third new relation to represent the many-to-many relationship. Primary key from both the relations migrates to the new relation. Show referential integrity constraints. Primary key of the new relation is a composite key with foreign keys of relations. Any attributes of the relationship migrate toward the intermediate relation.

Task 5: Many-to-Many Binary Relationships Transformation of Binary Many-to-Many Telationship

Task 5: Many-to-Many Binary Relationships Transformed Binary Many-to-Many Relationship

Task 6: Transforming Ternary Relationships Create three relations, one for each entity in a ternary relationship. Transform each entity into a relation as a regular relation. Create a fourth relation that represents the ternary relationship. Primary key from the first three relations migrates to the new relations. Show referential integrity constraints. The three foreign keys of the new relation together serve as a composite primary key. Any attributes of the relationship migrate toward the intermediate relation.

Task 6: Transforming Ternary Relationships Transformation of a Ternary Relationship

Task 6: Transforming Ternary Relationships Transformed Ternary Relationship

Task 7: Transforming Superclass/Subclass Relationships Create a separate relation for the superclass and each subclass entity. Transform each entity into a relation as a regular entity. All common attributes of superclass entity are assigned to the relation for the subclass entity. Identifier of the superclass serves as the primary key for the superclass relation. Assign attributes unique to each subclass to each subclass relation. Primary key of superclass migrates as a foreign key to each subclass relation. Transform the subclass discriminator as a multi-valued attribute in case of the overlap rule of EER.

Task 7: Transforming Superclass/Subclass Relationships Transformation of a Superclass/Subclass Relationship

Task 7: Transforming Superclass/Subclass Relationships Transformed Superclass/ Subclass Relationship

Task 8: Transforming Weak Entities Create a relation for the owner entity type. Create a new relation for a weak entity type and transform it as a regular entity. Include the primary key of the owner relation as a foreign key. Show referential integrity constraints. Primary key of the new relation is the composite key formed by partial identifier attributes of the weak entity and a foreign key.

Task 8: Transforming Weak Entities Transformation of a Weak Entity

Task 9: Transforming Associative Entities Create two relations, one for each entity types. Transform them as regular entities. Create another relation for the associative entity and transform it as a regular entity. Add the primary key of relations for participating entities as a foreign key for the new relation. Associative entity with its own identifier becomes primary key for that relation. If associative entity does not have its own identifier, the keys of the participating entities serve as the composite primary key.

Task 9: Transforming Associative Entities Transformation of an Associative Entity With an Identifier

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Case Study: Logical Design for a University DB The Relational Schema for the University Database

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Normalization Normalization refers to a series of tests performed on relations to determine whether they satisfy or violate the requirements of a normal form. Technique of decomposing given relations to produce smaller, well-structured sets of relations with desirable properties.

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Data Redundancy Data redundancy is having duplicate data in the database Increases use of disk storage Reduces efficiency of data updates Data Redundancies

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Database Anomalies Relations with redundant data may cause additional inconsistency problems known as anomalies Example: VETOFFICE (ClientID, Client Name, PetID, PetName, PetWt, VetID, VetName) The VetOffice Relation

Database Anomalies (cont.) Insertion Anomalies: Inserting a new record for veterinarian will leave the values of VetID and VetName to be NULL in the Client relation. This is prohibited. Deletion Anomalies: If we delete all records for a client, the deletion does not reflect in the records for all vets who work for that client. Critical data is deleted. Update Anomalies: If the weight for a certain pet updated, all records that feature this pet’s weight need to be updated.

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Functional Dependency Functional dependency is a relationship among attributes An attribute B is functionally dependent of attribute A, if given a value of A, value of B is uniquely defined Denoted as A  B Each valid value of A maps exactly to one value of B Normalization is based on the analysis of functional dependencies within a relation

Functional Dependency (cont.) Examples for the VetOffice relation: ClientID  ClientName, VetID, VetName PetID  PetName, PetWeight VetID  VetName ClientID, PetID  ClientName, PetName, PetWeight, VetID, VetName ClientID, PetID, VetID  ClientName, PetName, PetWeight, VetName

Determinants Determinants are the attribute(s) on the left-hand side of the arrow in a functional dependency representation Examples: ClientID, PetID, and ClientID-PetID from the previous slide If all attributes appear in the functional dependency representation then the determinant is the super key This helps in finding out the primary key for the relation (ClientID, PetID) is the minimal super key and hence is selected as the primary key

Dependency Diagram A dependency diagram is a pictorial representation of a functional dependency Dependency Diagram for the VetOffice Relation

Types of Functional Dependencies A partial dependency is a functional dependency in which a non-primary key’s attributes functionally depend on a part of (but not all) the primary key attributes Example: ClientID  ClientName, VetID, VetName A transitive dependency is a functional dependency in which none of the attributes involves attributes of a primary key Example: VetID  VetName Partial and Transitive Dependencies

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Forms of Normalization The Normal Forms

First Normal Form A relation is said to be in the first normal form if each cell in the relation contains exactly one value The VetOffice Relation in Non-1NF Form

First Normal Form (cont.) The VetOffice Relation in 1NF Form

Second Normal Form A relation is said to be in the second normal form if: It is already in the first normal form It has no partial functional dependencies Example: The relation from previous slide is in first normal form, but the following partial dependencies do exist ClientID  ClientName, VetID, VetName PetID  PetName, PetWeight Decompose client relation into smaller relations

Second Normal Form (cont.) The Second Normal Form: Client and Pet Relations

Third Normal Form A relation is said to be in the third normal form if: It is already in the second normal form It has no transitive dependencies Consider the previous slide Client and Pet relations: Pet is already in third normal form since there are no dependencies Client relation has a dependency: VetID  VetName Decompose Client relation further smaller relations

Third Normal Form (cont.) Client, Vet, and Pet Relations in Third Normal Form

Boyce-Codd Normal Form Functional dependencies related to candidate keys may also cause data redundancy. A relation is said to be in Boyce-Codd Normal (BCNF) form if: It is already in third normal form Every determinant is a candidate key

Boyce-Codd Normal Form (cont.) Example: STUDENT (StudentID, Major, Advisor, Major-GPA) Relation is already in third normal form but there are anomalies: Update anomaly Change in advisor Insertion anomaly A new advisor is added Deletion Anomaly Student is removed and if an advisor has only one advisee Advisor  Major has its determinant as a non-candidate key

Boyce-Codd Normal Form (cont.) We change primary key from (StudentID, Major) to (StudentID, Advisor) This doesn’t help much! The dependency now becomes a partial dependency Apply the second normal form and third normal tests again

Boyce-Codd Normal Form (cont.) Student Relation Before BCNF Student and Advisor Relations in BCNF

Principles for Good Database Design Relations in a well designed database meet the following criteria: No redundancy No partial dependencies No transitive dependencies Guidelines: Identify entities involved and their relevant attributes and identifiers Define relationships between entities Draw an E-R / EER diagram to model the problem Transform the E-R / EER model to a relational schema Normalize the relations up to BCNF

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

In-Class Assignment Create a relational schema for a book store that wishes to keep information about the following entities: BOOK: book name, author name, publication date, and price PUBLISHER: publisher’s name, address, and telephone number CUSTOMER: customer’s name, address, and reading preferences Develop an appropriate E-R diagram for the above entities and transform it to a relational schema showing all integrity constraints. Consider Address as a composite attribute Consider ReadingPreferences as a multi-valued attribute

Overview 4.1 Introduction 4.2 The Relational Data Model 4.3 Relational Keys 4.4 Relational Data Integrity Constraints 4.5 Transforming E-R Diagrams into Relational Schemas 4.6 Case Study: Logical Design for a University Database 4.7 Introduction to Normalization 4.8 Data Redundancy 4.9 Database Anomalies 4.10 Functional Dependencies 4.11 Forms of Normalization 4.12 In-Class Assignment 4.13 Summary

Summary The relational data model consists of three components: Relational data structure: Where data is organized. Data manipulation: Operations used to manipulate data stored in the data structure. Relational data integrity: Rules that maintain the integrity of data when they are manipulated. The main data structure that stores and organizes data in the relational data model is a relation, a two-dimensional grid that holds data about the object represented in the database. A column of a relation is referred to as an attribute. The number of attributes in a relation is defined as a degree. A row is referred to as a record, or a tuple. The number of records in a relation is defined as cardinality.

Summary - Keys A super key is a set of one or more attributes that uniquely identifies each record in a relation. A candidate key is a super key with a minimum number of attributes. The primary key is a candidate key that has been selected to identify unique records in a relation. The foreign key is an attribute or a set of attributes of a relation that serves as a primary key of the same or other relation.

Summary - Constraints The domain constraint states that the values of an attribute must be from the same domain. Entity constraints ensure that every relation of a relational data model has a primary key and primary key cannot be NULL. A referential integrity constraint ensures that the foreign key values of a relation must come from the primary key values in the related relation; otherwise, the value of a foreign key must be NULL.

Summary - Anomalies Relations with redundant data may cause inconsistency problems known as anomalies. Deletion anomalies occur when data has been removed from the database unintentionally. Insertion anomalies occur when we want to add a new record to the relation and not all of the information is available. Update anomalies occur when the DBMS must make multiple changes to reflect a single attribute change.

Summary - Dependency A functional dependency is a relationship among attributes. A dependency diagram is a pictorial representation of a functional dependency. A partial dependency is a functional dependency in which the non-primary key attributes functionally depend on a part of (but not all) the primary key. A transitive dependency is a functional dependency in which none of the attributes involves attributes of a primary key.

Summary - Normalization The term normalization, as defined by Codd, refers to a series of tests performed on relations that determines whether a given relation satisfies or violates the requirements of a normal form. A relation is said to be in the first normal form if each cell in the relation contains exactly one value. A relation is said to be in the second normal form if it is already in the first normal form and there are no partial functional dependencies. A relation is said to be in the third normal form if it is already in the second normal form and if it has no transitive dependencies. A relation is said to be in the BCNF if it is already in the third normal form and if every determinant is a candidate key.

Additional Links Add links here.