Re: Foreign superkey support

From: Brian Selzer <brian_at_selzer-software.com>
Date: Tue, 08 Aug 2006 18:57:07 GMT
Message-ID: <785Cg.8243$gY6.4023_at_newssvr11.news.prodigy.com>


"Marshall" <marshall.spight_at_gmail.com> wrote in message news:1155059837.979156.61820_at_n13g2000cwa.googlegroups.com...
> paul c wrote:
>>
>> Perhaps all I'm saying is that the basic relational algebra doesn't need
>> a foreign key concept which I admit is a deviation from the specific
>> question.
>
> I don't think of constraints as being part of the algebra per se.
> Constraints
> are a useful mechanism for ensuring integrity of variables, whereas the
> algebra is a way of constructing values from other values. (Including
> the values in variables.) Note that the algebra is what you do queries
> with, but constraints are relevant only when doing DML: insert, update,
> delete. (Although we may use the algebra to construct values that
> we then insert, for example.)
>

I have always thought that constraints were part of the predicate of the database, and while their enforcement during DML operations is critical, I don't think that their definition requires the concept of variables. A database value is static, so any change involves selecting a different database value. What constraints do is limit the scope of available database values that can be selected. In other words, constraints narrow the scope of the discussion.

> It is quite interesting to consider the idea of constraints as
> descriptive entities for values, in addition to being prescriptive
> for variables. We can then consider propogation of these
> descriptions through the algebraic operations.
>

Constraints not only limit the values that a attribute, tuple, relation or database can take, but they also augment the meaning of the values that they constrain. For example, if you have a relation that can only contain statements about men, then any conclusion drawn from that applies only to men or groups of men.

>
>> But as long as people like the shortcut notation, I think the
>> example is a good reason for allowing super foreignkeys or foreign
>> superkeys!
>
> Frankly I think there's too much emphasis on foreign keys. I
> think we should emphasize the use of domestic keys wherever
> possible, and use foreign keys only when the domestic variety
> is not available.
>
I don't think there's anything wrong with foreign keys, as long as they're not illegal.
>
> Marshall
>
> PS. dumb joke, sorry.
>
Received on Tue Aug 08 2006 - 20:57:07 CEST

Original text of this message