Re: 4 the FAQ: Are Commercial DBMS Truly Relational?

From: Kenneth Downs <firstinit.lastname_at_lastnameplusfam.net>
Date: Sun, 10 Oct 2004 13:52:57 -0400
Message-ID: <ptsbkc.0h8.ln_at_mercury.downsfam.net>


Marshall Spight wrote:

> "Kenneth Downs" <firstinit.lastname_at_lastnameplusfam.net> wrote in message
> news:pbhbkc.5d7.ln_at_mercury.downsfam.net...

>> Marshall Spight wrote:
>>
>> > "Christopher Browne" <cbbrowne_at_acm.org> wrote in message
>> > news:2srmk1F1njk29U1_at_uni-berlin.de...
>> >>
>> >> If you cut columns off of the result set, it is possible for the
>> >> result set to, in fact, not be a "set", but rather a non-unique "bag"
>> >> of tuples.
>> >> [...]
>> >> That is NOT going to be a "set" or a "relation" if some customer made
>> >> multiple purchases between those dates.
>> >>
>> >> The problem that this expresses is that the relational algebra does
>> >> not satisfy the property of closure.
>> >
>> > That's an odd viewpoint.
>> >
>> > The math books I've read have made the point that when you
>> > are talking about sets, then {2, 2} is the same set as {2}.
>> > So if you have duplicates after a project, you just throw
>> > them away; they "don't count" so to speak.
>> >
>>
>> Therefore, wouldn't the implementation of SQL have some sort of implied
>> DISTINCT on every SELECT statement?

>
> We've switched from talking about the relational algebra to talking about
> SQL.
>
> Yes, the relational algebra has an implied "distinct" on the result of
> every operation. No, SQL doesn't. This is one of the ways SQL
> isn't relational.
>
>
> Marshall

So someday when there is a FAQ, one section has to be on SQL's non-relational behaviors. From these, any product depending upon SQL will display those non-relational behaviors.

-- 
Kenneth Downs
Use first initial plus last name at last name plus literal "fam.net" to
email me
Received on Sun Oct 10 2004 - 19:52:57 CEST

Original text of this message