Re: constraints in algebra instead of calculus

From: paul c <toledobythesea_at_oohay.ac>
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

Original text of this message