sql >> Databáze >  >> RDS >> PostgreSQL

Cizí klíč PostgreSQL neexistuje, problém dědičnosti?

Můžete to obejít pomocí další tabulky individual_pks (individual_pk integer primary key) se všemi primárními klíči od rodiče i potomka, které budou udržovány pomocí spouštěčů (velmi jednoduché — vložte do individual_pks při vložení, smazat z něj při smazání, aktualizovat při aktualizaci, pokud se změní individual_pk ).

Potom místo na potomka ukážete cizí klíče na tuto dodatkovou tabulku. Dojde k malému snížení výkonu, ale pouze při přidávání/mazání řádků.

Nebo zapomeňte na dědičnost a udělejte to starým způsobem – jednoduše jedna tabulka s několika sloupci s možnou hodnotou null.



  1. Oracle 12c IDENTIFIKOVANÝ PODLE HODNOT

  2. Rails 3.2 Postgres Save Error ActiveRecord::StatementInvalid:PG::Error:ERROR:Chyba syntaxe poblíž 'T' na pozici 5

  3. Transakce nefungují pro moji databázi MySQL

  4. Výukový program DBMS:Kompletní rychlokurz o DBMS