Re: Normalizing the ER model

From: David Cressey <david_at_dcressey.com>
Date: Tue, 10 Dec 2002 07:00:58 GMT
Message-ID: <KigJ9.323$0I3.37277_at_petpeeve.ziplink.net>


I think whether one wishes to apply principles of normalization to an ER model or not depends on what one is using the ER model for. If one is using an ER model basically as a substitute for a relational model, then normalization proceeds pretty much the same way as it would in a relational model.

But there's a different way to use ER modeling. If you use ER for analysis and relational for design, then normalization becomes pretty much beside the point for the ER model. Why do it? And I think ER is more usefully used this way.

There is, however, a question one can ask about each attribute in an ER model: does the attribute truly describe the entity or relation that it has been attached to, or should it be attached to some different entity?

The answer can be subject matter dependent. If one is analyzing a personnel information system, then "Date of Birth" can be an attribute of a "Person". Fine. But if one is analyzing an information center for a birthing center, then "Date of Birth" might become an attribute of a new entity, a "Birth".

Turning an ER model into a relational model is a relatively mechanical exercise. That's one of the things that's good about an ER model.

Oddly enough, how normalized the resulting relational model is, after that transformation, is often contingent on how well you attached each attribute to the correct entity of relationship.

--
Regards,
    David Cressey
    www.dcressey.com
Received on Tue Dec 10 2002 - 08:00:58 CET

Original text of this message