In the Person
table, either the Citizen_IdentityID
or the Foreigner_WorkPermitID
will be null.
The PersonID_ID
holds either the value of the Citizen_IdentityID
or Foreigner_WorkPermitID
(whichever that is not null).
In other words, PersonID_ID
is dependent on the value of either Citizen_IdentityID
or Foreigner_WorkPermitID
.
How should I structure the design for normalization?
The above entities are just a simple substitution of the actual use case.