Re: Codd's Information Principle

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sun, 01 Nov 2009 01:14:33 -0300
Message-ID: <4aed0b2a$0$5360$9a566e8b_at_news.aliant.net>


paul c wrote:

> compdb_at_hotmail.com wrote:
>

>> On Oct 30, 9:41 pm, paul c <toledobythe..._at_oohay.ac> wrote:
>>
>>> com..._at_hotmail.com wrote:
>>>
>>>> On Oct 28, 12:51 pm, paul c <toledobythe..._at_oohay.ac> wrote:
>>>
>>> ...
>>>
>>>>> "Each row of the join represents a
>>>>> conjunction of propositions, one for each operand"
>>>>
>>>> This doesn't make sense. Perhaps "one from each operand"?
>>>> If so, yes. The predicate associated with r JOIN s is
>>>> (predicate associated with r) AND (predicate associated with s).
>>>> So each result tuple present makes this true and
>>>> each result tuple absent makes this false.
>>>> ...
>>>
>>> I was quoting Mr. Scott.
>>
>>
>> Yes, I know, that's why I left in your double quotes.
>>
>>>  Regardless, I don't agree with either
>>> interpretation.  I realize that many, perhaps most, people who have been
>>> trained in logic or read about it would place my attitude somewhere
>>> between unfaithful and ignorant, but I would never try to tell a user
>>> that some predicates are conjunctions and some aren't.
>>
>>
>> The user *doesn't* have any choice.
>>
>> Assume variables (base relations) v with attributes ai and predicate
>> (statement about the world) P and w with attributes bi  and predicate
>> Q.
>> P and Q are chosen by the designer.
>> The user set the value of v and w having observed the world.
>>
>> If variable v={t | P(a1 t.a1, ...)} and variable w={t | Q(b1
>> t.b1, ...)}
>> (using named operands) then it is unavoidably true that
>> (v JOIN w) = {t | P(a1 t.a1, ...)} AND Q(b1 t.b1, ...)}.
>> Suppose v={<joe, 10>, <mary, 20>} with P "a1 is a2 years old" and
>> w={<joe>, <sue>, <john>} with Q "a1 has a cat".
>> (ie  joe is 10 and marry is 20 and no one else is any age).
>> Then (v JOIN w)={t| a1 is a2 years old and has a cat"} ie {<joe, 10>}
>> (ie the names and ages of those people who have cats.
>> So "joe is 10 and has a cat" is true and "mary is 20 and has a cat" is
>> false
>> and every other statement of the form "a1 is a2 has a cat" is false
>> too.
>> (This is just an example following my original message.)
>>
>> This is why the operators of the relational algebra manipulate tuples
>> as they do.
>> The algebra plus this fact is essentially the relational model:
>> that the dbms calculates the tuples satisfying a transformation of
>> predicates
>> (in the users head) by evaluating the corresponding relation operator
>> on the
>> corresponding relations (in the database).
>>
>> philip

>
>
> I don't think I have much argument with most people here about
> relational operators as far as how they can manipulate relational
> representations of useful facts/assertions or make inferences from
> minimalized/normalized relations are concerned.
>
> However, I think many people are making correct arguments which are not
> apt because they are not necessary.
>
> Perhaps my attitude can be summarized by saying that I see no need to
> preserve any interpretation of a relation's extension that involves
> compound propositions (I don't mean by this that a view expression can't
> be preserved in the form of a mechanical constraint). I think arguments
> against this would be put best if they showed what problems result from
> such an interpretation.
>
> For want of a better name, I think of these as 'regular' relations,
> maybe because at one time I preached 'regular' sentences to people who
> were designing tables.
>
> (A few asides: I don't want to quibble with some of the lingo because I
> think it's somewhat beside my point, eg., I'm not making any comment at
> all about the myriad interpretations of truth that abound here and I
> don't object to alternative algebras on principle, eg., relational
> lattice, assuming they have practical advantages, I just happen to find
> the D&D definitions concise and tidy. I also lean to the view that
> procedural/imperative languages create big problems for most people when
> it comes to understanding RT.)

I would leave off the "assuming they have practical advantages". At worst, exploring a primrose path reduces by one the number of paths to explore. Provided, one doesn't insist on exploring the same primrose path to the exclusion of all others, that is. Received on Sun Nov 01 2009 - 05:14:33 CET

Original text of this message