Idegen kulcs

Szerző: John Stephens
A Teremtés Dátuma: 24 Január 2021
Frissítés Dátuma: 1 Július 2024
Anonim
25. MySQL Idegen kulcs megkötések- Node.js Tutorial
Videó: 25. MySQL Idegen kulcs megkötések- Node.js Tutorial

Tartalom

Meghatározás - Mit jelent az idegen kulcs?

Az idegen kulcs egy oszlop vagy oszlopcsoport egy relációs adatbázis táblában, amely kapcsolatot teremt a két táblázat adatai között. A táblák közötti kereszthivatkozásként működik, mivel hivatkozik egy másik tábla elsődleges kulcsára, és így kapcsolatot létesít közöttük.


A relációs adatbázisrendszer táblázatainak nagy része megfelel az idegen kulcs fogalmának. Komplex adatbázisokban és adattárházakban a tartomány adatait több táblába kell összeadni, ezáltal fenntartva a kapcsolatukat. A referenciális integritás fogalma az idegen kulcselméletből származik.

Az idegen kulcsok és azok megvalósítása összetettebbek, mint az elsődleges kulcsok.

Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, hogy mi a lényeg a felhőalapú számítástechnikában, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

A Techopedia magyarázza az Foreign Key-t

Minden idegen kulcsként működő oszlopnak megfelelő értéknek kell lennie a hivatkozási táblázatban. Különös figyelmet kell fordítani az adatok beillesztésekor és az adatok eltávolításakor az idegen kulcs oszlopából, mivel a gondatlan törlés vagy beillesztés tönkreteheti a két tábla közötti kapcsolatot.


Például, ha két tábla van, az ügyfél és a megrendelés, akkor kapcsolat létesíthető közöttük egy idegen kulcs bevezetésével a megrendelési táblába, amely utal az ügyfélazonosítóban szereplő ügyfél-azonosítóra. Az ügyfélazonosító oszlop létezik mind az ügyfél, mind a megrendelési táblázatokban. A megrendelési táblázatban szereplő ügyfélazonosító idegen kulcsvá válik, utalva az ügyféltáblázat elsődleges kulcsára. Bejegyzés beszúrásához a megrendelési táblázatba be kell tartani az idegen kulcs korlátozását. Sikertelen olyan ügyfélazonosító megadására tett kísérlet, amely nem található az ügyféltáblában, megőrzi a táblázat referencia-integritását.


Néhány, az idegen kulcsművelettel kapcsolatos referenciaművelet a következőket foglalja magában:

  • Kaszkád: Ha a szülőtáblán sorokat törölnek, akkor az utódtáblában lévő idegen kulcs-oszlopokat is törlik, és lépcsőzetes törlést hoznak létre.
  • Set Null: Ha a szülőtáblában egy hivatkozott sort törölnek vagy frissítenek, a hivatkozási sor idegen kulcs értékeit nullra állítják a referencia integritásának fenntartása érdekében.
  • Triggerek: A referenciaműveleteket rendszerint triggerekként hajtják végre. Sok szempontból az idegen kulcsműveletek hasonlóak a felhasználó által definiált eseményindítókhoz. A megfelelő végrehajtás biztosítása érdekében a rendelt referenciaműveleteket időnként felváltják a felhasználó által meghatározott egyenértékű triggerekkel.
  • Alapértelmezett érték: Ez a referenciaművelet hasonló a "beállított nullhoz". Az utódtábla idegen kulcs értékeit az alapértelmezett oszlopértékre állítják be, ha a szülőtáblában szereplő hivatkozott sort törlik vagy frissítik.
  • Korlátozás: Ez egy idegen kulcshoz társított normál referenciaművelet. A szülőtáblában szereplő értéket nem lehet törölni vagy frissíteni, hacsak egy másik táblában idegen kulcs hivatkozik rá.
  • Nincs művelet: Ez a referenciaművelet funkciója hasonló a "korlátozás" művelethez, azzal a különbséggel, hogy a művelet nélküli ellenőrzést csak a tábla megváltoztatása után hajtják végre.