I've got a very general question about the relational model and it's relationship to 1st order predicate calculus. It will probably seem very basic to most, I'm afraid, a consequence of me grappling with these concepts on my own for the first time. I would love it if someone could please clarify.

One often sees examples of the predicate calculus of the form: P(x,y,z) where P is a predicate with multiple parameters, interpreted for example as "Gary thinks Jimmy likes Kate", with all the arguments coming from a single domain such as "people in my Painting class" or similar. Sometimes you see the results in tabular form with the comment "and this is actually a simple database" or similar. And then you find descriptions of the Relational Algebra (apparently equivalent to the predicate calculus) that define a relation as a subset of the Cartesian Product of however many domains as attributes and creating a tuple accordingly. Fine, no problem with those descriptions in isolation.

But it seems to me that in the relational case, you have a domain (=type) per attribute, but in the Predicate Calculus example above you only have one domain. Further, the expressions seem to be of a different kind altogether. The Relation seems to group the attributes in such a way that they are totally independent of each other, an arbitrary collection of independent facts about each element, that is true by virtue of being present as a tuple in the relation. Whereas in the logic example, the parameters do NOT seem to be independent in the same way- for example the argument order is critical to the interpretation of the resulting proposition. I can't figure out what I'm missing!

It occurs to me that perhaps to say that for the Predicate example ("Gary thinks Jimmy likes Kate"- call it P) that all the arguments come from a single domain is really just shorthand for saying that it is a Cartesion Product of the same domain ("people in my logic class"- call it D), so that the real and proper description of the domain for P is D x D x D. Would that get us out of trouble? I hope somebody can understand my confusion and help an amateur out!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.