New answers tagged dependencies
First, a name like 'entities' is too vague. The common name for org or individual is 'parties'. Second, people can have zero, one, or many addresses, and can share the same address. It's a many2many relationship. I would do it like this (using STI here, but break it out to CTI if you like): PARTIES id type (org or individual) name ADDRESSES id type ...
A candidate key is a set of attributes that constitute a minimal superkey. Two candidate keys, A and B, are said to overlap if they have some attributes in common, i.e.: A ∩ B is non-empty. In your case, MN and NO would be overlapping candidate keys in R. Because of the minimality (irreducibility) requirement one candidate key can never be a subset of ...
You're right on the money with the possible candidate keys, vikkyhacks. Overlapping candidate keys are composite (consist of more than one attribute) candidate keys with at least one attribute in common. So your overlapping candidate keys are NM and NO (they share N). It may also help to have an example you can really wrap your head around. The only time ...
The first three FD's combine to give MNOP -> L so MNOP is one possible candidate key, CK1. Similarly the last three FD's combine to give NOPL -> M so NOPL is another possible candidate key, CK2. However CK1 and CK2 have columns NOP in common, making them overlapping candidate keys.
Top 50 recent answers are included