Functional Dependencies > Uniqueness Constraints

From: Marshall <marshall.spight_at_gmail.com>
Date: 29 Aug 2006 23:34:47 -0700
Message-ID: <1156919687.904864.101160_at_p79g2000cwp.googlegroups.com>



Geeze, it's deader than a dotcom startup in here.

Okay, fine. I propose that a good relational DBMS should not have any special feature for enforcing uniqueness constraints. Instead, it should be able to record and enforce functional dependencies. (And of course there must be a rule that says every base table must have at least one functional dependency in which the union of the determinant set and the dependent set equals the set of attributes. (This restriction is sufficient to ensure every base table is a relation; is it necessary?))

Why? Because uniqueness constraints by themselves don't capture enough meaning.

Example:

Relation R1(a,b) with FD {a} -> {b}
Relation R2(c,d) with FD {c} -> {d}

Derived relation J = R1 join R2
(this join is a cross product)

FDs in J:
{a} -> {b}
{c} -> {d}

What if we had just recorded uniqueness constraints in R1 and R2 (on a and c respectively?) We can't express anything derived from those uniqueness constraints in J, at least not as uniqueness constaints anyway.

And if that doesn't get you talking, maybe the Angry Cat will.

ph3ar the Angry Cat!

http://video.google.com/videoplay?docid=4479228649911767872

Marshall Received on Wed Aug 30 2006 - 08:34:47 CEST

Original text of this message