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

x wrote:
> Prolog will let you store anything you want that is expressible in > Prolog. If you want contradictory statements, you can have them.

Hmm that's strange. In a relational database I can't have both the
proposition "Employee 123 is called John" and the constraint "no
employee is called John" in my database. If I have one, it stops me
adding the other.

I've got Prolog here and I'm playing with it trying to write a program
that has two contradictory statements. It seems that the "not" predicate
in Prolog works a bit strangely. Could you give me an example of a
simple Prolog program that has two terms that contradict each other?
Would in then follow that in that system anything is provable?

>>> I'm not sure about this. There must be exactly *ONE* real-world
>>> "interpretation" of the database.
>>
>> Why must there? consider the database with one tuple like this:
>> (1,2) There could be many real-world interpretations of this
>> database surely? It's not inconceivable that two people who've
>> never met have identical databases with totally different
>> interpretations.

I think maybe we're talking at cross-purposes here: I'm thinking of a
database from a purely syntactically viewpoint, you're thinking of it as
a whole, semantics included.

I think that Godel's Completeness theorem says that if a statement about
a database is semantically true *irrespective of which semantics you
choose*, then it's provable purely syntactically using first order logic.

What database-related elements would you say correspond to the different
parts of Godel's theorem (logic, theory, model, axioms)? If indeed you
think it's applicable at all?