sql >> Database >  >> RDS >> PostgreSQL

Buitenlandse PostgreSQL-sleutel bestaat niet, probleem met overerving?

U kunt dit omzeilen met behulp van de aanvullende tabel individual_pks (individual_pk integer primary key) met alle primaire sleutels van zowel ouder als kind, die worden onderhouden met behulp van triggers (heel eenvoudig - invoegen in individual_pks bij invoegen, eruit verwijderen bij verwijderen, bijwerken bij update, als het verandert individual_pk ).

Dan wijs je buitenlandse sleutels naar deze extra tabel in plaats van naar een kind. Er zal een kleine prestatiehit zijn, maar alleen bij het toevoegen/verwijderen van rijen.

Of vergeet overerving en doe het op de oude manier - gewoon één tabel met enkele nullable-kolommen.



  1. Hoe installeer ik een Python-pakket op Linux zodat het wordt gevonden door de reeds werkende PostgreSQL 13 plpython3u-extensie?

  2. Doe mee met de PAUG Database Designer Conference

  3. Intel Xeon schaalbare processors en SQL Server 2017

  4. Best practices voor MySQL-replicatie