Re: Functional Dependencies > Uniqueness Constraints
From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Thu, 31 Aug 2006 02:38:55 GMT
Message-ID: <3ZrJg.6431$9u.76902_at_ursa-nb00s0.nbnet.nb.ca>
>
> Yes, that's exactly what it is: a restatement of the requirement for
> at least one candidate key, but stated in the terminology of
> functional dependencies. The requirement comes from the
> definition of set, of course, so any constraint of whatever
> form that satisfies the definition of set (which is to say,
> no duplicates) is sufficient.
>
> I think the way I stated it is overly strong for what is
> necessary to meet the definitional requirement. However
> using any weaker requirement *for base tables* seems
> like a really, really bad idea. On the other hand, for
> a result set, the FDs are whatever they are.
Date: Thu, 31 Aug 2006 02:38:55 GMT
Message-ID: <3ZrJg.6431$9u.76902_at_ursa-nb00s0.nbnet.nb.ca>
Marshall wrote:
>>paul c wrote: >> >> >>>Marshall wrote: >>> >>> >>>>... (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?)) >>>>... >>> >>>I would say not necessary. If a table is a representation of a >>>relation, then I`d think that even if no rule is stated, by definition >>>the union of the attributes is a CK, eg., if there is no stated >>>determinant set, all the attributes are in the dependent set. I can`t >>>think why one would want to state this, shouldn`t a dbms assume itÉ >> >>I think you have determinant and dependent reversed. The attributes of a >>candidate key are the determinant set, and the remaining attributes are >>each dependent attributes. Thus, if no other key is specified, all >>attributes are in the determinant set and the set of dependent >>attributes is empty. >> >>What Marshall stated is an invariant of every relation for every >>candidate key. In fact, it seems to me Marshall's statement is just a >>restatement of candidate keys, but there could be subtleties I miss.
>
> Yes, that's exactly what it is: a restatement of the requirement for
> at least one candidate key, but stated in the terminology of
> functional dependencies. The requirement comes from the
> definition of set, of course, so any constraint of whatever
> form that satisfies the definition of set (which is to say,
> no duplicates) is sufficient.
>
> I think the way I stated it is overly strong for what is
> necessary to meet the definitional requirement. However
> using any weaker requirement *for base tables* seems
> like a really, really bad idea. On the other hand, for
> a result set, the FDs are whatever they are.
Because one can derive a candidate key for every result set, whatever they are will still match the stated invariant. Received on Thu Aug 31 2006 - 04:38:55 CEST