sql >> Databáze >  >> RDS >> Mysql

Je možné odkazovat na jeden sloupec jako na více cizích klíčů?

Ne.

To znamená, že tímto způsobem nemůžete vytvořit omezení cizího klíče. Můžete však použít cizí klíč bez omezení cizího klíče.

Cizí klíč je pouze hodnota primárního klíče jiné tabulky (nebo jiného záznamu ve stejné tabulce), kterou lze použít ve spojeních. Ve skutečnosti byste mohli odkazovat na jiná pole než primární klíč, pokud vše, co potřebujete, je použít hodnotu pro spojení.

Omezení cizího klíče však říká databázi, aby vynutila pravidlo, že pro každou hodnotu cizího klíče v tabulce má odkazovaná tabulka záznam s tím, že je primárním klíčem. Vynucení toho, aby každý cizí klíč v tabulce PDF měl primární klíč VE VŠECH ČTYŘECH TABULKÁCH nebude pro vás fungovat. Takže pokračujte a použijte pole k odkazování na jiné záznamy, ale jednoduše nevytvářejte žádné omezení cizího klíče.



  1. Vraťte SETOF řádky z funkce PostgreSQL

  2. Volání uložené procedury pomocí VBA

  3. Co přesně dělají uvozovky kolem názvu tabulky?

  4. Vytvoření výpisu databáze pro konkrétní tabulky a položky Postgres