Re: two nasty schemata, union types and surrogate keys

From: Bob Badour <>
Date: Tue, 22 Sep 2009 10:56:15 -0300
Message-ID: <4ab8d776$0$23752$>

Roy Hann wrote:

> Bob Badour wrote:

>>Roy Hann wrote:
>>>Brian wrote:
>>>>>>>Whatever.  What is in the database is supposed to be true.  
>>>>>>>Says who?  
>>>>>>Everyone who advocates the closed world assumption.
>>>>>The closed world assumption doesn't tell you anything about what is
>>>>>actually in the database; it tells you how you are entitled to
>>>>>manipulate what you find in the database.  I hinted at that in
>>>>>my first post when I wrote "All that matters is that we can make the
>>>>>inferences that we should be entitled to make from the assertions."
>>>>You're wrong, of course, but don't take my word for it.  According to
>>>>Date in /An Introduction to Database Systems, Eighth Edition/, page
>>>>161: 'the Closed World Assumption (also known as the Closed World
>>>>Interpretation) says that if an otherwise valid tuple--that is, one
>>>>that conforms to the relvar heading--does /not/ appear in the body of
>>>>the relvar, then we can assume the corresponding proposition is
>>>>false.  In other words, the body of the relvar at any given time
>>>>contains /all/ and /only/ the tuples that correspond to true
>>>>propositions at that time.'  So the closed world assumption tells us
>>>>that what is actually in the database is supposed to be true, while
>>>>what is not is supposed to be false.
>>>Far be it from me to contradict Date, but there is no way on earth that
>>>he intended us to take that to mean "Garabage In, Garbage Out" doesn't
>>>apply to databases.
>>Um, note the word "assume" in the quoted passage above. He doesn't say 
>>it is false only that we can assume it is. Also note the phrase 
>>"supposed to be". He doesn't say it is, which we have no way of 
>>validating from the dbms, only that it is supposed to be.

> I flatter myself that I understand that completely. However we (me and
> Brian) seem to be talking about two different things. Brian has started
> talking about how a DBMS has to work, and I am talking about the
> assorted fantasies, lies, and honest-to-God truths end-users shovel into
> databases. Databases <> DBMSs.
> This gets important when we start designing systems for people to use,
> because anyone who undertakes that task imagining that the software must
> somehow ensure the database is a wonderland of infallible truths will
> end up with unusable and very expensive junk. I've seen it happen
> a couple of times, at great public expense.

Don't kid yourself: It happens at great private expense too. Received on Tue Sep 22 2009 - 15:56:15 CEST

Original text of this message