Re: Modelling Disjoint Subtypes

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 22 Mar 2007 22:23:50 GMT
Message-ID: <WlDMh.13854$PV3.141488_at_ursa-nb00s0.nbnet.nb.ca>


Joe Thurbon wrote:

> Bob Badour wrote:
>

>> Joe Thurbon wrote:
>>
>>> Am I just barking up the wrong tree? Would you like to tell me the 
>>> answer?
>>
>> You are barking up the wrong tree. If at all possible, the only 
>> constraints one should have are foreign key references. What exactly 
>> prevents one from using a foreign key constraint to enforce the 
>> disjoint requirement?

>
> A lack of imagination on my part?
>
> More seriously, I think the answer is that a foreign key constraint
> enforces a constraint between columns in two tables. The disjoint entity
> requirement requires a constraint to be enforced between columns in N
> tables (where there are N-1 subtypes).

The foreign key constraints for N-1 subtypes require N-1 foreign key constraints.

If one uses foreign key constraints to enforce disjointedness among the same subtypes, presumably one may use at least as many foreign key constraints.

> Or, more explicitly, if
> - a table COMMON contains columns that are common to a number of
> entities, and COMMON has a primary key K; and
> - tables SUBTYPE1 ... SUBTYPEN represent specialisations of COMMON,
> these tables also have a primary key K which references K as a foreign key.

Remember: K is a set of attributes.

> then,
>
> I want to ensure is that for each value of the attribute K appearing in
> COMMON, that value appears as the value for K in at most 1 of the tables
> SUBTYPE1...SUBTYPEN.
Indeed. Received on Thu Mar 22 2007 - 23:23:50 CET

Original text of this message