Re: In an RDBMS, what does "Data" mean?
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