Talk:Fourth normal form
From Wikipedia, the free encyclopedia
[edit] Multi-valued dependencies
I think your explanation of multi-valued dependencies was misleading. A functional dependency is one where a field or fields determine the value of another field in the same row; whereas a multivalued dependency is the existence of some rows of data necessitate further rows of data in the same table, but not in the same row. I've been staring hard at the multivalued dependency article to get my head round it and I'll try and come up with a user-friendly description of what its on about. --VinceBowdren 14:11, 18 August 2006 (UTC)
Ok, perhaps it was a bad idea to go into detail about multivalued dependencies in the 4NF article (especially as an informative multivalued dependencies article already exists). The pizza example gives an intuitive idea of what they're about anyway. Ronald Fagin's 1977 paper in which he introduces the idea of multivalued dependencies and 4NF can be found at http://www.almaden.ibm.com/cs/people/fagin/tods77.pdf. It's very clearly written and looks at multivalued dependencies from several different angles, some of which I found easier to think through than others. One succinct definition he gives is: "THEOREM 1. X->->Y holds for the relation R(X,Y,Z) if and only if R is the join of its projections R1( X,Y) and R2 (X,Z)." You can see how this holds for the pizza example. Fagin notes that a functional dependency is a special case of a multivalued dependency, but on further consideration, I don't want to push that: it will only confuse people needlessly. --Nabav 15:47, 18 August 2006 (UTC)