Normalization
Normalization
Definition:
Transitive functional dependency - a FD X -> Z
that can be derived from two FDs X -> Y and Y -> Z
Examples:
- SSN -> DMGRSSN is a transitive FD since
SSN -> DNUMBER and DNUMBER -> DMGRSSN hold
- SSN -> ENAME is non-transitive since there is no set of
attributes X where SSN -> X and X -> ENAME
Definition:
Superkey of relation schema R - a set of attributes
S of R that contains a key of R
A relation schema R is in third normal form
(3NF) if whenever a FD X -> A holds in R, then
either:
(a) X is a superkey of R, or
(b) A is a prime attribute of R
NOTE: Boyce-Codd normal form disallows condition (b)
above
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-42
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-44
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
5 BCNF (Boyce-Codd Normal Form)
Suppose that we have thousands of lots in the relation and lots are from only
two counties: DeKalb and Fulton. Suppose also that lot sizes in DeKalb
County are only 0.5 to 1.0 acres, whereas lot sizes in Fulton County are from
1.1 to 2.0 acres. This adds a functional dependency FD5: Area->County_name.
LOTS1A still is in 3NF because County_name is a prime attribute, but not in
BCNF as Area is not a superkey of LOTS1A