Extending my question. Was: The relational model and relational

From: Bernard Peek <bap_at_shrdlu.com>
Date: Mon, 17 Feb 2003 23:58:37 +0000
Message-ID: <JyMJPSAtcXU+EwSH_at_diamond9.demon.co.uk>


In message <b2rqnp$1tj$1_at_slb2.atl.mindspring.net>, Steve Kass <skass_at_drew.edu> writes

>I think you are confusing your employees with your model.
>If we have only the two employees named John Smith, in
>department 10 with salary 20000, and we are storing this
>information in a multiset, we have only _one_ fact, not two:
>"There are two John Smiths in department 10 with salary
>20000". Two employees, but only one fact.

That depends entirely on an opinion on what constitutes a fact. It's equally true to say that there are two facts. The first fact is that there is an employee called John Smith, the second fact is that there are two John Smiths. If you redefine the word (making it a term of art) so that it always equals that which is recorded by a *unique* record in a database then your statement becomes true.

It's usually quite important to be able to distinguish between people that may have the same name. Let's choose a different example.

I collect books and as sometimes happens I have some duplicates. I have two copies of the same book, quite often both of them in mint condition. I have two database entries for that edition. I have two copies of the book on the shelf. Suppose I give one copy away? I take one copy off of the shelf and I delete one record from the database.

It makes no difference whether I delete the record that was created when I acquired the first book or the second. It makes no difference whether I remove the first book or the second.

I could create a new entity and call it "Acquisition Number" and that's what most librarians do. Acquisition numbers are simply identity fields. They should not be considered part of the logical data structure.

-- 
Bernard Peek
bap_at_shrdlu.com
www.diversebooks.com: SF & Computing book reviews and more.....

In search of cognoscenti
Received on Tue Feb 18 2003 - 00:58:37 CET

Original text of this message