Re: cdt

From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Mon, 07 Jun 2004 00:03:45 +0200
Message-ID: <40c394ba$0$568$e4fe514c_at_news.xs4all.nl>


Alan wrote:

> mAsterdam wrote:

>>Alan wrote:
>>>Laconic2 wrote:
>>>
>>>>Perhaps the problem lies in the word "implicit", in the term "implicit
>>>>meaning".  Perhaps what is implicit is subject to misinterpratation.
[snip]
>>... The meaning of the propositions
>>conveyed by the tuples is supposed to be explained by
>>the *external* predicate (3rd manifesto, 1st edition).
>>"external" suggests that the authors do not think
>>of the predicate as being part of the database
>>- but I can't check this as I don't have the book here.
>>The "definitions" in the schema only serve to associate
>>the structure of the relation body with the relation header.

>
> They are talking about "facts", not "attributes" (yet). An attribute is a
> classification description. A fact is an instance (to borrow an OO term) of
> that classification. For example, in a table EMPLOYEE, we have attributes
> ssn, last_name, first_name, etc.

> last_name is an attribute; "Jones" is an instance of that attribute. We know
> from experience that Jones is often a last name, so "Jones" has implicit
> meaning to us even outside this table. It has explicit meaning as part of
> the row inside this table.

The attribute name is pretty clear - however, this is not allways possible.

> It is a(n explicit) fact that Jones is the last
> name of an employee who is further described by other attributes and is
> uniquely identfied and associated with the other attribute instances on that
> row by his/her ssn.

Found it :-) In the 3rd manifesto (BTW the term 'fact' is not in the index of the book, buth neiter are 'meaning' and 'data') on page 18 (1st ed) Date and Darwen introduce the term 'predicate'.

"Given a relation R, the heading of R denotes a certain predicate (i.e. a truth valued function), and each row in the body of R denotes e certain true proposition, obtained from the predicate by substituting certain domain values for the placeholders or parameters of that predicate ("instatiating the predicate")." On page 136-137: "... note therefore, that the predicate is, informally, what the relation means."

So it was 'informally', not, as I wrote, "external" (where *did* I see that?) - but it is clear that they do not see the predicate as part of the database (and IMO it is also clear that they *do* see it as part of the model).

It is not necessary to put it in the glossary. Unlike e.g. with data(!), pointer, normalization and entity, I haven't seen any lengthy misunderstanding here caused by someone using 'predicate' in another meaning than what other people assumed it meant.

I don't want to meddle with the wording of definitions given by recognized authorities. My stance is: Either we like it and use it as it is - or we don't so we'll have to find another one to fit our needs - or come up with our own. I don't have problems with the definition as you gave it. It will (I hope) prevent some miscommunications. Received on Mon Jun 07 2004 - 00:03:45 CEST

Original text of this message