Re: Weak entity types

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 11 Aug 2007 22:01:05 -0300
Message-ID: <46be5b96$0$4025$9a566e8b_at_news.aliant.net>


beginner16 wrote:
> hello
>
> a)
> Weak entity type cannot be uniquely identified by its own attributes
> alone and thus needs another entity to be uniquely identified.

I suggest you stop and question the above statement.

> So in relational model, every relation which has primary key made of
> foreign key and perhaps some other attribute, is weak entity type?

Basically, yes.

> Ok, but I could instead of creating a foreign key create another
> attribute which could uniquely identify rows in a table. By
> definition the relation would no longer be weak entity type --> there
> has to be more to this --> perhaps it’s more of a subjective thing?!

The original definition you give above is absurd on its face. To be a relation, one must be able to uniquely identify each of its tuples by value.

> Meaning two tables can both have compound primary key, but one table
> could be considered weak and other strong entity type, based on how
> the person creating the two tables would perceive the world?! Can you
> show me an example?

I think the statement is wrong.

> If so, aren’t there some regulations that would in more objective way
> define when an entity is weak and when strong ( assuming entity has
> compound primary key in both cases )

The distinction is arbitrary in the first place. Consider for a moment an application that has a two-letter country code as a component of a compound key. After several years in service, people complain they can never remember whether England should be UK or GB so a lookup tables is added to the dbms with a foreign key.

The original relation is still the exact same relation with exactly the same values and exactly the same external predicate. How does adding the lookup table weaken it?

> b)
> Looking at few E-R diagrams I noticed that attributes being drawn for
> particular entity type ( entity type is drawn as rectangle ) often
> don’t include an attribute acting as foreign key 
> I’d understand if this entity type was weak entity type and thus would
> include foreign key attribute only when E-R model was converted into,
> say, relational model, but in the examples I saw the entity type
> wasn’t represented as a weak type. So when do we also draw foreign key
> attributes and when not?!

I do not use ER diagrams of any flavour so I cannot really say. Perhaps someone familiar with the text you are using will have answers more relevant to your immediate needs. Received on Sun Aug 12 2007 - 03:01:05 CEST

Original text of this message