From Database Management Systems, by Raghu Ramakrishnan, Johannes Gehrk
Rbe a relation schema,
Fbe the set of functional dependencies (FDs) given to hold over
Xbe a subset of the attributes of
Abe an attribute of
Ris in third normal form if, for every FD
X -> Ain
F, one of the following statements is true:
X; that is, it is a trivial FD, or
Xis a superkey, or
Ais part of some key for
Suppose that a dependency
X -> Acauses a violation of 3NF. There are two cases:
Xis a proper subset of some key
K. Such a dependency is called a partial dependency.
Xis not a proper subset of any key. Such a dependency is called a transitive dependency, because it means we have a chain of dependencies
- Am I correct that "Figure 19.7 Case 1" and "Figure 19.8 Case 1" are not 3NF, while "Figure 19.8 Case 2" is 3NF?
Why is there no either "Figure 19.7 Case 2: A in KEY" or "Figure 19.7 Case 2: A in KEY1" where "KEY1" is different from "KEY"? Does that case exist?
Am I correct that
If that case can exist, it will be 3NF.
If that case can't exist, all relational schemas with partial dependencies are not in 3NF?