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

Cizí klíče + dědění tabulky v PostgreSQL?

Je pokryta v uživatelské příručce .

Krátká verze:můžete použít cizí klíče nebo dědičnost tabulky, ale ne obojí. To není ze své podstaty nemožné, jen je technicky poměrně obtížné implementovat unikátní indexy, které zahrnují zděděné tabulky v PostgreSQL, rychlým a spolehlivým způsobem. Bez toho nemůžete mít užitečný cizí klíč. Nikdo to zatím neimplementoval dostatečně dobře na to, aby byla do PostgreSQL přijata oprava přidávající podporu.

Cizí klíč může ukazovat na tabulku, která je součástí hierarchie dědičnosti, ale přesně najde v této tabulce pouze řádky . Ne v žádných nadřazených nebo podřízených tabulkách. Chcete-li zjistit, které řádky cizí klíč vidí, proveďte SELECT * FROM ONLY thetable . ONLY klíčové slovo znamená "ignorování dědičnosti" a to je to, co vyhledá cizí klíč.



  1. Jak vypočítat sklon v SQL

  2. Jak vybrat nejstarší datum z MySQL

  3. MySql Processlist plný záznamů spánku vedoucích k příliš mnoha připojením?

  4. Jak implementovat hierarchickou strukturu many-to-many v MySQL