Du kan använda alternativ 1 men utan en extra alternativ alternativnyckel.
Utöka istället den befintliga primärnyckeln (för varje entitet) med en EntityType
kolumn (säg CHAR(1)
, det skulle vara E
för händelser, P
för personer, D
för produkter).
Sammansättningen (EntityId, EntityType)
kommer då att bli den primära nyckeln för tabellen Entity
och motsvarande föreningar i de andra 3 subtyptabellerna.
(EntityType
är bara en hjälpreferenstabell med 3 rader):