Normalization
Normalization
Figure 14.1 A
simplified COMPANY
relational database
schema.
Figure 14.3
Two relation schemas
suffering from update
anomalies. (a)
EMP_DEPT and (b)
EMP_PROJ.
GUIDELINE 4:
The relations should be designed to satisfy the
lossless join condition.
No spurious tuples should be generated by doing
a natural-join of any relations.
Note that:
Property (a) is extremely important and cannot be
sacrificed.
Property (b) is less stringent and may be sacrificed. (See
Chapter 15).
Normal form:
Condition using keys and FDs of a relation to
certify whether a relation schema is in a particular
normal form
Figure 14.10
Normalizing nested relations into 1NF. (a) Schema of the EMP_PROJ relation with a
nested relation attribute PROJS. (b) Sample extension of the EMP_PROJ relation
showing nested relations within each tuple. (c) Decomposition of EMP_PROJ into
relations EMP_PROJ1 and EMP_PROJ2 by propagating the primary key.
Figure 14.13
Boyce-Codd normal form. (a) BCNF normalization of
LOTS1A with the functional dependency FD2 being lost in
the decomposition. (b) A schematic relation with FDs; it is
in 3NF, but not in BCNF due to the f.d. C → B.
Figure 14.14
A relation TEACH that is in 3NF
but not BCNF.
Figure 14.15
Fourth normal forms. (a) The EMP relation with two MVDs: Ename –>> Pname and Ename –>> Dname. (b)
Decomposing the EMP relation into two 4NF relations EMP_PROJECTS and EMP_DEPENDENTS. (c) The
relation SUPPLY with no MVDs is in 4NF.