3NF in Relational Database Design
Given a schema R (A,B,C,D)
with functional dependencies F = {A->B, A->C}
I need to determine if R is in 3NF, but first I need to determine what the candidate keys are so I can determine if B and C are contained in some candidate key. How would I go about determining the开发者_高级运维 candidate keys?
"How would I go about determining the candidate keys?"
Using normalization theory to determine keys amounts to considering the trivial dependencies that any relation always satisfies. A->A and D->D in your case. Use Armstrong's axiom of augmentation, or Darwen's "unification theorem", to determine the FD that has all attributes on the RHS, and a minimal set of attributes on the LHS.
You will then observe that there are certain attributes that depend on a proper subset of the key.
And perhaps label the question as "homework".
精彩评论