Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como implementar associações polimórficas em um banco de dados existente


Você pode usar a Opção 1, mas sem uma Chave Alternativa substituta adicional.

Em vez disso, estenda a Chave Primária existente (de cada entidade), com um EntityType coluna (digamos CHAR(1) , isso seria E para eventos, P para Pessoas, D para Produtos).

O composto (EntityId, EntityType) se tornará então a Chave Primária da tabela Entity e os compostos correspondentes nas outras 3 tabelas de subtipos.

(O EntityType é apenas uma tabela de referência auxiliar, com 3 linhas):