sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo implementar asociaciones polimórficas en una base de datos existente

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):