Jan,
>
> If a.x is unique, then (b.x, b.y) references (a.x, a.y) is only ensuring
> that the redundant copy of y in b.y stays in sync with a.y.
So? What's denormalized about that? His other choice is to use a trigger.
What he's trying to do is ensure that the class selected for the FK
class_name, field_name relates to the same class_name in objects.
--
--Josh
Josh Berkus
Aglio Database Solutions
San Francisco