CS 325 - Week 9 Lecture 2 - 2016-10-20

*   Normalization, continued

*   3NF - Third Normal Form

    *   a relation is in 3NF if:
        *   it is in 1NF and 2NF
        *   and, it has NO transitive dependencies

   *   transitive dependency: is when a non-primary-key
       attribute is the determinant in a functional dependency,
       determining another non-primary-key attribute or attributes

       (named because it IS the case that
       if A -> B and B -> C, then A -> C,

       and if A is a primary key attribute,
           (B is not)
           and C is in this true-relation based on the above,
	   then we've got a transitive dependency here,
	   with B -> C

    *   to convert a 2NF relation with transitive dependencies
        into 3NF,

	*   make a NEW relation based on the transitive
	    dependency,
	    whose primary key is the determinant of
	    that transitive dependency

        *   REMOVE the attribute(s) in the right-hand-side
	    of the transitive dependency from the original
	    relation,
	    and leave the determinant, BUT now it is
	    a foreign key to the new relation;