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>
>
> 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
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 meReceived on Sun Oct 10 2004 - 19:52:57 CEST