Entity Relationship Modeling (ER modeling) is by far the most common way to express the analytical result of an early stage in the construction of a new database. In this ebook, Alf Pedersen describes the principles for ER modeling, as well as the most important terms used in modeling a new database.
Entity Relationship Modeling - Second Normal Violation (Page 18 of 21 )
This analysis trap breaks Second Normal Form. Name, address and so on is not dependent on contact type, only on business contact. If a business contact is both a customer and a supplier, all names and address information etc. must be stored twice.
But what about the whole concept of customers and suppliers? They are only two of several groups that are relating to the business. In an early stage, we should plan for several groups of business contacts, such as customers, suppliers, and maybe other interest groups, all of which we may have to deal with. In such cases, one may use the terms super-entity and sub-entity as a very powerful illustration of generic (common) structures, like this-
We are trying to find all attributes for each sub-entity. Since they obviously are closely related to each other, many of the attributes will be common. As the analysis moves forward, we add attributes to each sub-entity. Where an attribute exists in all sub-entities, we move it to the super-entity. We see that actually, some of the sub-entities are different types of the same thing, because they do not have un-common attributes: