dboxer 0 Newbie Poster

The 2NF states that all non-key attributes must be fully functionally dependent on the candidate key. I was wondering would the relation be in 2NF if "each" individual candidate key determines all other attributes including other candidate keys not presented on the left-hand side?

What if a dependency only determines "all" the non-keys rather than all the non-keys + other candidate keys? Let's assume we have the following relation: R (PK, CCK1, CCK2, CCK3, CCK4, CCK5, NK1, NK2, NK3). This relation contains three candidate keys: PK (which is the primary key of the relation), {CCK1, CCK2} <-- The second candidate key, and {CCK3, CCK4, CCK5} as the third candidate key.

If there is a dependency that states {CCK1, CCK2} -> {PK, CCK3, CCK4, CCK5, NK1, NK2, NK3}, is this FD in 2NF? How about {CCK1, CCK2} -> {CCK3, CCK4, CCK5, NK1, NK2, NK3}? What about partial dependency of one candidate key unto another candidate key, for instance, {CCK1, CCk2} -> {PK, CCK3, CCK4, NK1, NK2, NK3}? Notice CCK2 is missing from the dependency.

The first example perhaps is indeed in 2NF but what about the latter FD? The reason I am confused is that the definition of 2NF does not indicate any fully functionally dependency on the candidate keys and only talks about non-key attributes.


Any insight would be greatly appreciated.