Re: Relation or attribute and why

From: Gene Wirchenko <genew_at_ucantrade.com.NOTHERE>
Date: Wed, 17 May 2006 17:20:10 -0700
Message-ID: <h6fn621c2hpgpsm8k57k5j4itj38kbk3r1_at_4ax.com>


On 16 May 2006 18:51:45 -0700, "Marshall" <marshall.spight_at_gmail.com> wrote:

>dawn wrote:
>> Let's say that we have a noun present in a conceptual data model, but
>> not identified as a strong entitiy (recognizing not all conceptual
>> modeling techniques use such distinctions). What are the conditions
>> under which this noun will/should translate into an attribute in a
>> logical data model? What are the conditions under which this noun
>> will/should translate into a relation in the logical data model?
>
>I searched for a definition of "strong entity" and found this page:
>
>http://www.siue.edu/~dbock/cmis450/3-ermodel.htm
>
>which said:
>
>"A Strong Entity is one that exists on its own, independent of other
>entities.
>A Weak Entity is one whose existence depends on another entity. This
>means an occurrence of one entity cannot exist unless there is an
>occurrence
>of a related entity."

     Yes.

>If I read this correctly, it's saying that a strong entity is a
>conceptual
>entity that would be modelled with a table without a foreign key.

     Why could you not have an FK? And see below.

>Let's say I have a Customers table; an unremarkable example.
>Probably every Customer must have at least one Address.
>Likewise, every Address belongs to a specific Customer.
>Thus, the Customer cannot exist without the Address, and
>the Address cannot exist without the Customer. Thus, both
>are weak entities. At this point, I'm about ready to conclude
>that strong vs. weak is a term that is sufficiently fuzzy as
>to be at best evocative, and at worst simply distracting.
>
>I never learned any formal modelling technique; I picked it up
>on the job. Sometimes this feels like an advantage.

     Sometimes, it is not. The example of weak entity I was given in a databases course was a dependant of an insurance policyholder. Without the policyholder, the dependant does not exist for that system.

>Anyway, to take a stab at your actual question, I would
>say the thing to attend to, bearing in mind that I'm speaking
>quite informally, is the cardinality of the "noun."* If it's
>exactly-one
>with a "strong entity" then it's an attribute of that strong entity.
>Otherwise it's part of some other "sub" entity.

     And it may be strong or may be weak.

Sincerely,

Gene Wirchenko Received on Thu May 18 2006 - 02:20:10 CEST

Original text of this message