PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Klucz obcy PostgreSQL nie istnieje, problem dziedziczenia?

Możesz to obejść za pomocą dodatkowej tabeli individual_pks (individual_pk integer primary key) ze wszystkimi kluczami podstawowymi od rodzica i dziecka, które będą utrzymywane za pomocą wyzwalaczy (bardzo proste — wstaw do individual_pks przy wstawieniu, usuń przy usuwaniu, zaktualizuj przy aktualizacji, jeśli zmieni individual_pk ).

Następnie wskazujesz klucze obce do tej dodatkowej tabeli zamiast do dziecka. Nastąpi mały spadek wydajności, ale tylko podczas dodawania/usuwania wierszy.

Lub zapomnij o dziedziczeniu i zrób to po staremu - po prostu jedna tabela z kilkoma kolumnami dopuszczającymi wartości null.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak make_time() działa w PostgreSQL

  2. Jak stworzyć użytkownika za pomocą PSQL

  3. Postgres UTC format daty i epoka, odwrócenie znaku

  4. PostgreSQL, stan SQL:42601

  5. Rozpakuj tablicę o jeden poziom