Puede usar la opción 1 pero sin una clave alternativa sustituta adicional.
En su lugar, extienda la clave principal existente (de cada entidad), con un EntityType
columna (diga CHAR(1)
, eso sería E
para Eventos, P
para Personas, D
para Productos).
El compuesto (EntityId, EntityType)
se convertirá entonces en la clave principal de la tabla Entity
y los compuestos correspondientes en las otras 3 tablas de subtipos.
(El EntityType
es solo una tabla de referencia auxiliar, con 3 filas):