Re: In an RDBMS, what does "Data" mean?
Date: Mon, 07 Jun 2004 15:53:07 +0100
> 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.
> Because otherwise the database would be ambiguous. :-) Define
> identical :-)
I'm using identical to mean "identical syntax, though possibly different
semantics". (And maybe different relation, column names).
I think maybe we're talking at cross-purposes here: I'm thinking of a
I think maybe we're talking at cross-purposes here: I'm thinking of adatabase 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.
Paul. Received on Mon Jun 07 2004 - 16:53:07 CEST