Re: Codd's Information Principle

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sun, 01 Nov 2009 21:54:33 -0400
Message-ID: <4aee3bdb$0$5331$9a566e8b_at_news.aliant.net>


paul c wrote:

> Bob Badour wrote:
> ...
>

>> I suspect you simply do not include enough context to decipher what 
>> you are saying. If I have a relation variable, R, at any given time, 
>> its extension is simply its value. Is it not? Since R can have 
>> different values at different times, it can have more than one 
>> extension; albeit, only one at a time.

>
> Thanks, I'll ponder that. The only comments I want to make right now
> are i) that I prefer to avoid talking about relvars until some choice of
> language is made, which choice seems premature, eg., I can imagine an
> environment where the programmer's context doesn't include assignment,
> and ii) I think expressions have a value and extensions have a value
> (maybe you are more pertinent saying that they are values, not sure) and
> those two values are equivalent in Codd's RM context - my attitude about
> equality as far as machines are concerned is that it should be
> determined only by typical machine-level comparison instructions which I
> hope keeps various language notions of equality out of the picture as
> far as interpreting values is concerned. This is perhaps narrower or
> stricter than most people want, maybe it's an unnecessary distinction
> too but I'd rather be careful about it.

In logic, a relation is the extension of a predicate, and a predicate is the characteristic function of a relation. When talking about relational databases, sometimes one has to be clear about the internal predicate and the external predicate. At any given time, one will generally find fewer tuples in any relation variable than the internal predicate would allow because some parts of the predicate are not amenable to calculating or to expressing algebraically.

If one has a relational expression, one may derive or calculate a predicate for that expression, but it will always be the internal predicate ignoring the external predicate. The dbms has no data about the external predicate other than the actual tuples in relations. As far as the dbms is concerned, the value of the relation itself is the extension of the external predicate.

When you write about extensions of expressions, the phrase is meaningless. Expressions do not have extensions--predicates do. If you mean the extension of an expression's predicate, do you mean the internal predicate? The external predicate? If you mean something else, please define your terms. Received on Mon Nov 02 2009 - 02:54:33 CET

Original text of this message