Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zaimplementować asocjacje polimorficzne w istniejącej bazie danych

Możesz użyć Opcji 1, ale bez dodatkowego zastępczego klucza zastępczego.

Zamiast tego rozszerz istniejący klucz podstawowy (każdej encji) za pomocą EntityType kolumna (powiedz CHAR(1) , czyli E dla wydarzeń, P dla osób, D dla produktów).

Złożony (EntityId, EntityType) stanie się wtedy kluczem podstawowym tabeli Entity i odpowiednie związki w pozostałych 3 tabelach podtypów.

(EntityType to tylko pomocnicza tabela referencyjna z 3 wierszami):




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Policz Zawsze zwracaj -1 SQL Server. ASP.NET C#

  2. Rekurencyjny SQL do podziału CSV na wiersze tabeli

  3. Usuń profil poczty bazy danych (SSMS)

  4. najprostszy sposób na cykliczne przesyłanie pliku tekstowego na serwer sql

  5. Jak mogę zmienić tę obliczoną kolumnę w SQL Server 2008?