Vous pouvez utiliser l'option 1 mais sans clé alternative de substitution supplémentaire.
Au lieu de cela, étendez la clé primaire existante (de chaque entité), avec un EntityType
colonne (dire CHAR(1)
, ce serait E
pour les événements, P
pour les personnes, D
pour les produits).
Le composé (EntityId, EntityType)
deviendra alors la Clé Primaire de la table Entity
et les composés correspondants dans les 3 autres tableaux de sous-types.
(Le EntityType
n'est qu'une table auxiliaire, de référence, à 3 lignes) :