Databases Reference
In-Depth Information
predicate, called the relvar predicate for the relvar in question, and that relvar predicate is, in
essence, how the relvar in question is understood by the user. Here by way of example is the
way I would prefer to state the predicate for relvar S:
S: Supplier SNO is under contract, is named SNAME, has status STATUS, and is located
in city CITY.
And here for the record are the predicates for relvars P and SP:
P: Part PNO is used in the enterprise, is named PNAME, has color COLOR and weight
WEIGHT, and is stored in city CITY.
SP: Supplier SNO supplies part PNO in quantity QTY.
Aside: 14 Perhaps I should say a little more about the way I use the term predicate in this
topic. First of all, you're very likely familiar with the term already, since SQL uses it
extensively to refer to boolean or truth valued expressions (it talks about comparison
predicates, IN predicates, EXISTS predicates, and so on). However, while this usage on
SQL's part isn't exactly incorrect, it does usurp a very general term—one that's extremely
important in database contexts—and give it a rather specialized meaning, which is why I
prefer not to follow that usage myself.
Second, I should explain in the interest of accuracy that a predicate isn't really a
natural language sentence as such, like the ones shown above; rather, it's the assertion
made by such a sentence. For example, the predicate for relvar S is what it is, regardless of
whether it's expressed in English or Spanish or whatever. For simplicity, however, I'll
assume in what follows that a predicate is indeed just a sentence per se, expressed (usually)
in some natural language. (Analogous remarks apply to propositions also—see below.)
Finally, I've now explained what I mean by the term; however, you should be aware
that, the previous paragraph notwithstanding, there seems to be little consensus, even
among logicians, as to exactly what a predicate is. In particular, some writers regard a
predicate as a purely formal construct that has no meaning in itself, and regard what I've
referred to above as the intended interpretation as something distinct from the predicate as
such. I don't want to get into arguments about such matters here; for further discussion, I
refer you to the article “What's a Predicate?” in Database Explorations: Essays on The
Third Manifesto and Related Topics, by Hugh Darwen and myself (Trafford, 2010). End of
aside.
14 This aside is taken, lightly edited, from Database Design and Relational Theory . Note: I remind you from the preface that
throughout this topic I use “ Database Design and Relational Theory” as an abbreviated form of reference to my topic Database
Design and Relational Theory: Normal Forms and All That Jazz (O'Reilly, 2012).
Search WWH ::




Custom Search