Re: constraints in algebra instead of calculus
Date: Mon, 21 May 2007 05:10:01 GMT
Message-ID: <JQ94i.200044$DE1.108062_at_pd7urf2no>
Brian Selzer wrote:
> "paul c" <toledobythesea_at_oohay.ac> wrote in message
> news:dX84i.201343$6m4.74192_at_pd7urf1no...
>
>>Marshall wrote:
>>
>>>Okay, a while back we were talking about writing constraints
>>>in a language with aspects of the relational calculus, specifically
>>>the existential and universal quantifiers. The point was made
>>>that that's unnecessary; the calculus is no more expressive
>>>than the algebra.
>>>
>>>So it ought to be possible to write any constraint from the
>>>calculus in the algebra.
>>>
>>>Well, I'm having a hard time figuring out how to do it. Can
>>>anyone help?
>>>
>>>How does one write a functional dependency in the algebra?
>>>A foreign key?
>>>
>>>
>>>Marshall
>>>
>>
>>I thought that one was easy, if FK is the set of 'foreign key' attributes
>>and A is the 'referencing table' and using an op like D&D <AND>, then it's
>>something like A{FK} <AND> B{FK} = A{FK}. (I like this one because it's
>>particularly easy to implement.)
>>
> > > Very slick. One point, though. The constraint > > A{FK} <AND> B{FK} = A{FK} > > Is not sufficient. Also required is the constraint > > COUNT(B{FK}) = COUNT(B) > > > >
I've never seen anybody justify why a foreign key must be a candidate key in the referenced relation/relvar/table except for 'so-and-so says so'. Whereas I've seen examples where the non-key reference is essential. Received on Mon May 21 2007 - 07:10:01 CEST