Re: erd to db

From: Jan Hidders <hidders_at_uia.ua.ac.be>
Date: Mon, 25 Mar 2002 14:14:23 +0100
Message-ID: <3c9f223a$1_at_news.uia.ac.be>


"Daniel Guntermann" <guntermann_at_uswest.net> wrote in message news:Fa_m8.6$JN1.10619_at_news.uswest.net...
>
> "Jan Hidders" <hidders_at_uia.ua.ac.be> wrote in message
> news:3c9af4b6$1_at_news.uia.ac.be...
> >
> > I'm not sure what type of ERDs you are talking about, but in the usual
> > ones
> > your problem statement doesn't make sense. First, if W has a primary key
> > then it is by definition not a weak entity,
>
> I would have to disagree with your statement, Jan. It's totally possible
> that several candidate keys exist in W, one of which is termed to primary
> key (w1), but perhaps another composite candidate key that has one
component
> attribute that is related to the primary key of E also exists. Choosing a
> primary key from several candidates might be an arbitrary choice, but have
> significance to a particular designer or user.

My point was that we are talking about a *weak* entity type here. An entity type is weak if it doesn't have enough attributes of its own to identify its entities. Of course you can extend the notion of key such that you can also include the involved weak relationsips but as far as I know that isn't usually done.

> > and second, there can be no such
> > thing as the primary key of a relationship other than that which is
> > implied
> > by the involved entity types (if there would be then it is not a
> > relationship but an entity type).
>
> You are probably correct in some sense, at least according to some
peoples'
> definitions. But again, I would unfortunately have to disagree, at least
in
> terms of common acceptance for the terminology. A "relationship" is
> unfortunately somewhat of an ambiguous term when considering the rather
> large body of published work on the subject, but in some instances, even
in
> some of E.F Codd's original work, authors seem to imply that a
relationship
> IS an entity type, much like what some people term as a cross-reference,
or
> association entity, and therefore, by extension, a relation (which require
> at least one candidate key).

I beg to differ. It is not true that a relationship *is* or *can be* a relation. What is true is that it *can be implemented* or *modeled* as a table. The most important reason that we are in this terminology-mess is that many people mix the terms of ER modelling and the relational model. The two should be kept apart. Every time I hear people talk about the primary key of an entity type, it sends shivers down my spine. These people don't seem to understand why Codd introduced the notion of primary key (as opposed to candidate key) in the first place.

Kind regards,

  • Jan Hidders
Received on Mon Mar 25 2002 - 14:14:23 CET

Original text of this message