Download presentation
Presentation is loading. Please wait.
Published byGiles Hodge Modified over 9 years ago
1
Chapter 2. The Relational Model (cont.) IST2101
2
Review: Functional Dependency A relationship between attributes: some attribute(s) determine the value of some other attribute(s) in the same table –These attributes we name them determinant –The other attributes are functionally dependent on this determinant IST2102 CookieCost = NumberOfBoxes * $5 NumberOfBoxes CookieCost CookieCost = NumberOfBoxes * UnitPrice (UnitPrice, NumberOfBoxes) CookieCost determinant The composite forms determinant Functionally dependent on NumberofBoxes
3
Determinant = Candidate Key? IST2103 DeterminantsCandidate Key (StudentID, CourseID) StudentID CourseID (StudentID, CourseID) In a relation, a candidate key must be a determinant In a relation, a determinant may not be a candidate key A relation is well-formed if and only if every determinant is a candidate key.
4
Normalization Normalization is a process of breaking a table with more than one theme into a set of tables to ensure that each table is well-formed – No data redundancy – Data can be inserted, deleted, or modified without creating modification problems IST2104
5
Normalization Principles Relational design principles for normalized relations: – To be a well-formed relation, every determinant must be a candidate key – Any relation that is not well-formed should be broken into two or more well-formed relations IST2105
6
Normalization Process 1.Identify all the candidate keys of the relation. 2.Identify all the functional dependencies in the relation. 3.Examine the determinants of the functional dependencies. If any determinant is not a candidate key, the relation is not well formed. In this case: a.Place the columns of the functional dependency in a new relation of their own. b.Make the determinant of the functional dependency the primary key of the new relation. c.Leave a copy of the determinant as a foreign key in the original relation. d.Create a referential integrity constraint between the original relation and the new relation. 4.Repeat step 3 as many times as necessary until every determinant of every relation is a candidate key. IST2106
7
Normalization Process: Exercise 1 IST2107 Step 1. Candidate keys: Step 2. Functional dependencies: Step 3. Determine if the relation is well-formed. If not, split the relation into multiple well-formed relations and specify all the primary keys, foreign keys and referential integrity constraints: Hint: If any determinant is not a candidate key, the relation is not well formed.
8
Normalization Process: Exercise 2 IST2108 Step 1. Candidate keys: Step 2. Functional dependencies: Step 3. Determine if the relation is well-formed. If not, split the relation into multiple well-formed relations and specify all the primary keys, foreign keys and referential integrity constraints: Hint: If any determinant is not a candidate key, the relation is not well formed.
9
Normalization Process: Exercise 3 IST2109 Step 1. Candidate keys Step 2. Functional dependencies GRADE(ClassName, Section, Term, Grade, StudentNumber, StudentName, Professor, ProfessorDepartment, ProfessorEmail) Step 3. Determine if the relation is well-formed. If not, split the relation into multiple well-formed relations and specify all the primary keys, foreign keys and referential integrity constraints: Hint: If any determinant is not a candidate key, the relation is not well formed.
10
True/False Quiz Given the functional dependency for the attributes of ENTITY1, X → (A, B, C), X is a candidate key for the relation ENTITY1 (A, B, C, X). Normalization is the process of removing all functional dependencies from a relation. In the normalization process, it is not necessary to identify all the functional dependencies in a relation. In the normalization process, if you find a candidate key that is not a primary key, then you have determined that the relation needs to be broken into two or more relations.
11
Summary of Chapter 2 Learn the concept of the relational model: entities, relations, relationships Learn the meaning and importance of keys, foreign keys, and related terminology Learn the meaning of functional dependencies Learn to apply a process for normalizing relations IST21011
12
Assignment 2: Relational Model Due: 11:59pm on Sunday, 2/1 IST21012
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.