Re: Another view on analysis and ER

From: Jan Hidders <hidders_at_gmail.com>
Date: Fri, 7 Dec 2007 13:37:57 -0800 (PST)
Message-ID: <2451c46c-b9b6-4976-abc8-45479c0a4d88_at_s8g2000prg.googlegroups.com>


On 7 dec, 20:12, "David Cressey" <cresse..._at_verizon.net> wrote:
> "Jan Hidders" <hidd..._at_gmail.com> wrote in message
>
> news:b0c48336-ae41-4041-b1c6-c55f4ed69cdc_at_s8g2000prg.googlegroups.com...> On 7 dec, 17:12, "David Cressey" <cresse..._at_verizon.net> wrote:
> > > "Jan Hidders" <hidd..._at_gmail.com> wrote in message
>
> news:0c5c22b8-cdb3-462c-b55d-4c63d7974001_at_a39g2000pre.googlegroups.com...
>
>
>
>
>
> > > > On 7 dec, 12:17, Jon Heggland <jon.heggl..._at_ntnu.no> wrote:
> > > > > Quoth David BL:
>
> > > > > > I wasn't actually intending that Location be necessary for
> > > > > > identification of a marriage. I'll make the intensional definition
> > > > > > clearer:-
>
> > > > > > married(Husband, Wife, Location) :-
> > > > > > Husband is *currently* married to Wife
> > > > > > and they (last) got married at Location
>
> > > > > > Candidate keys are { Husband } or { Wife }, enforcing monogamy
> > > > > > integrity constraints.
>
> > > > > So Marriage is a relationship between a Husband and a Wife, yet it
> is
> > > > > identified by either, not the combination? I thought I finally had
> the
> > > > > common definition of "relationship" pegged, and then this comes
> along.
>
> > > > > I suppose I am looking for rigor where there is none, though. The
> > > > > definition of entity---something that is identified independently of
> > > > > other entities---is also rather half-baked. Take weak entities, for
> > > > > instance.
>
> > > > Allow me to make an attempt at a few definitions:
>
> > > > Entities are things.
> > > > Relationships are predicates.
>
> > > > What's wrong with this picture?
>
> > > This sounds right to me. If we can go one step further, and say that
> unary
> > > relationships are predicates that reference only one entity, now we
> have a
> > > basis for moving forward. The entire lofical level is baed on
> predicates.
>
> > > We can say, as others have said, that relvars can be designed once the
> > > predicates are known.
> > > And this, unlike the discussions on ER, remains silent on the subject
> of
> > > whether the mode of epxression has to be a diagram. Predicates can be
> > > expressed in plain English.
>
> > Indeed. Both the RM and ER modelling are ultimately based on
> > predicates. That is not where the essential difference lies. Also not
> > in the fact that you can draw a diagram, because this can be done in
> > both cases.
>
> > > What's the difference between a predicate and a proposition?
>
> > My usual explanation is something like the following. A proposition is
> > a specific statement that is either true or false. A predicate is a
> > proposition where zero or more references have been left open such as
> > "X is having a conversation with Y". If you instantiate the predicate,
> > i.e., you fill in the X and Y with well understood references, like in
> > "Jan is having a conversation with David", then it becomes a
> > proposition. Roughly speaking you could say that the relationship
> > between propositions and predicates is like the relationship between
> > entities and entity types, or between objects and object classes.
>
> Could they also be the difference between a relvar's intension and its
> extension, as I read in here?

Yes, in the sense that the predicate is the intension of the relvar and each tuple in the content of the relvar represents a proposition in the extension of the predicate.

> > Somehow I suspect that what you actually wanted to hear was "they are
> > the same". :-)
>
> No, actually what I wanted to hear was "the same as the difference between
> the two Wikipedia definitions."

The entry for "proposition" seems fine to me and emphasizes correctly that it is not the statement itself but rather its meaning, something I glossed over. The entry for "predicate" is lousy, and seems to think all predicates are unary. The "predicate (mathematics)" is better, but considers only static ones, i.e., ones whose extension is fixed and cannot change over time (hence the claim that a predicate can be defined as a relation). This is not wrong in itself, this is indeed how the term is usually used in mathematics, but in the context of database theory it is important to realize that we also are considering the time-varying kind.

  • Jan Hidders
Received on Fri Dec 07 2007 - 22:37:57 CET

Original text of this message