Re: In an RDBMS, what does "Data" mean?

From: Paul <paul_at_test.com>
Date: Wed, 26 May 2004 14:43:19 +0100
Message-ID: <I91tc.8436$NK4.1009881_at_stones.force9.net>


x wrote:

>>The Completeness Theorem proves the "complete" part. i.e. everything
>>that is true in all models or interpretations of the database will be
>>provable by the DBMS.

>
> Is something that is true in only one model provable by the DBMS ?
> What this "all models" thing has to do with databases ?
> Just one model wouldn't be enough ?

No, it'd have to be all models, because the DBMS can only prove things that are true under all circumstances, or in the most general case.

Suppose for example I have the following tuples in a relation:

('Alan', 'Bill')
('Bill', 'Chas')

Now in one model, this might mean:
Alan is an ancestor of Bill.
Bill is an ancestor of Chas.

So in this model, the tuple ('Alan', 'Chas') could also be legitimately added to this relation. i.e the proposition 'Alan is an ancestor of Chas' is true.

Similarly if it means "is a brother of'.

But consider the model where it means:
Alan is a friend of Bill.
Bill is a friend of Chas.

Then it doesn't follow that Alan is a friend of Chas. It could easily be that Alan hates Chas.

So the DBMS shouldn't be able to prove that ('Alan', 'Chas') is a legitimate tuple for that relation, because the DBMS has no idea what model is being used to interpret the database. And there's no way it could have an idea either.

I guess what it is really saying is that the model is larger than the theory, in the sense that it has concepts external to the theory. The theory can only prove things that are common to all models based on the theory (and the Completeness Theorem says it can *always* do this).

I'm not an expert though, so it's quite possible I've either misunderstood the theorem or misapplied it - please correct me if you think this is the case.

Paul. Received on Wed May 26 2004 - 15:43:19 CEST

Original text of this message