Missing Information
Missing information in a model can sometimes result from efforts to normalize the data. In the example, adding the SPOUSE entity to the EMPLOYEE-CHILD model improves the design, but destroys the implicit relationship between the CHILD entity and the SPOUSE address. It is possible that the reason that “emp‑spouse‑address” was stored in the CHILD entity in the first place was to represent the address of the other parent of the child (which was assumed to be the spouse). If you need to know the other parent of each of the children, then you must add this information to the CHILD entity.
The following three tables are sample instance tables for EMPLOYEE, CHILD, and SPOUSE:
EMPLOYEE
emp-id |
emp-name |
emp-address |
E1 |
Tom |
Berkeley |
E2 |
Don |
Berkeley |
E3 |
Bob |
Princeton |
E4 |
Carol |
Berkeley |
CHILD
emp-id |
child-id |
child-name |
other-parent-id |
E1 |
C1 |
Jane |
- |
E2 |
C1 |
Tom |
S1 |
E2 |
C2 |
Dick |
S1 |
E2 |
C3 |
Donna |
S2 |
E4 |
C1 |
Lisa |
S1 |
SPOUSE
emp-id |
spouse-id |
spouse-address |
current-or-not |
E2 |
S1 |
Berkeley |
Y |
E2 |
S2 |
Cleveland |
N |
E3 |
S1 |
Princeton |
Y |
E4 |
S1 |
New York |
Y |
E5 |
S1 |
Berkeley |
Y |
However, the normalization of this model is not complete. In order to complete it, you must ensure that you can represent all possible relationships between employees and children, including those where both parents are employees.
Copyright © 2023 Quest Software, Inc. |