Re: a union is always a join!

From: Brian Selzer <brian_at_selzer-software.com>
Date: Sat, 28 Mar 2009 11:22:44 -0400
Message-ID: <ahrzl.23160$Ws1.9417_at_nlpi064.nbdc.sbc.com>


"paul c" <toledobythesea_at_oohay.ac> wrote in message news:yV5zl.18811$Db2.2114_at_edtnps83...
> Brian Selzer wrote:
> ...
>> If a user issues an insert, isn't it reasonable to assume that it
>> concerns something that isn't already represented in the database? ...
>
> It's not "reasonable to assume" anything that doesn't obey the Information
> Principle.
>

Maybe that's what the problem is: You apparently don't understand what the Information Principle requires. From Date's /An Introduction to Database Systems, Eighth Edition/ page 63:

<<<<<<
The Information Principle: The entire information content of the database is represented in one and only one way--namely, as explicit values in column positions in rows in tables.
>>>>>>

Specifies only how information /in the database/ is represented. It says absolutely nothing about how it gets there, but this does:

<<<<<<
The totality of data in a data bank may be viewed as a collection of time-varying relations. These relations are of assorted degrees. As time progresses, each n-ary relation may be subject to insertion of additional n-tuples, deletion of existing ones, and alteration of components of any of its existing n-tuples.

"A Relational Model of Data for Large Shared Data Banks," E. F. Codd Volume 13 / Number 6 / June, 1970 Communications of the ACM Page 379
>>>>>>

>
>> ... the assumption that an update is essentially the same thing as a
>> delete followed by an insert isn't.
>>
>
> There is no such assumption, it is a fact - you yourself posted the TD
> definition that REMOVE's the 'deleted' attribute values.
>

I think that the point I was trying to make was that information is lost when tranforming UPDATE into assignment. Interestingly, a similar loss of information occurs when transforming an UPDATE into a DELETE followed by an INSERT. As an exercise, try to reverse the process, turn a DELETE followed by an INSERT into an UPDATE. I think that you'll find that there can be more than one UPDATE for an arbitrary DELETE followed by an INSERT.

>
> You are just playing with words.

Huh? Received on Sat Mar 28 2009 - 16:22:44 CET

Original text of this message