Lost (and found?) on 4NF I'm so extremely lost on 4NF it's not even funny.  I've been reading on it for literally days and, except for about 15 minutes ago, I wasn't sure that I had even broken the surface.

I think I might have just had the light bulb moment, but given the difficulty I had on this, I'd appreciate some confirmation. These are my notes:



Am I even close on this?
In your notes you say:


  4NF describes multivalued dependencies, wherein a key value has multiple attributes dependent upon it, but those attribute have, at best, only a trivial relationship to each other.


This is not the definition of 4NF, since multivalued dependencies are not present when “a key value has multiple attributes dependent upon it”, but when those attributes have multiple values depending from some other attribute.

A typical example is when you have an employee which has the attribute child with multiple values and, in the same relation, an attribute skill which has multiple values, so that you have two  Multivalued Functional Dependency (MVD), Employee →→ Child, Employee →→ Skill. Instead, in your relation you have only one MVD, Title, Developer, Publisher, ReleaseDate, Price, ESRB →→ Platform, and for this reason the MVD is called a trivial MVD.

So, the redundancy in your example is not due to the fact that the relation is not in 4NF, rather that it is not in BCNF, neither in 3NF. Assuming that there is the functional dependency Title → Developer, Publisher, ReleaseDate, Price, ESRB, your relation in neither in BCNF, nor in 3NF. So, a decomposition of your schema in 3NF would be:

R1(Title, Developer, Publisher, ReleaseDate, Price, ESRB)
R2(Title, Platform)


where the first relation has key Title and the only Functional Dependency Title → Developer, Publisher, ReleaseDate, Price, ESRB, and the second one has key Title, Platform.