entity

The Entity component is a table that represents the classic Entity from data modeling and entity-relationship diagramming. The only difference is that all the descriptive and summary stuff has been moved up to the Class. The Entity contains those data unique to its functional relationship to the business function or activity. The Entity also contains the legacy key. The Entity component belongs in an Application Database.

The Person attributes Person.Name, Person.Gender, Person.BirthDate exist in nature. Therefore they are stored in the Class table Person because they exist independent of the business relationship. PersonEmployee.GrossPay, PersonEmployee.NetPay, etc., are stored in the Entity table PersonEmployee because these attributes are dependent on the business relationship.

Note the logical and convenient location for the legacy system key, Employee.Number. Most converted databases contain a separate table just to maintain this integrity.

Due to the nature of legacy systems, it is common for duplicate records or rows to exist due to spelling and other errors. For example, three rows in the Customer table contain "Acme Corp.", "Acme Corporation" and "Acme Corpration." Two of these rows contain typographical errors produced during the input process. When the conversion to enterprise is made, Acme Corporation is stored once as a value of Organization.Name. The functionally dependent Entity data are stored with three different Customer Numbers, although they logically refer to a single customer. These three occurrences should be resolved into a single occurrence through the Data Management process.