3.2.2. Az idegen kulcsok definiálása
A hivatkozási épség biztosítása érdekében adjuk meg a külső kulcsokat, miután ezek a kapcsolat hordozói a táblák között. Hiszen egy mező külső kulcsként csak olyan értéket vehet fel, amit kulcsként már tartalmaz. Ugyanakkor egy kulcsértéket addig nem szabad törölni, amíg külső kulcsként van rá hivatkozás.
A külső kulcs szerkezetének természetesen azonosnak kell lennie azon elsődleges kulcséval, melyre hivatkozik; de a kulcsot alkotó oszlopnevek egyezése nincs kikötve. Természetesen lehet több idegen kulcs is egy táblában.
Figyelem: ha az idegen kulcs nem kulcsszerepű (csak leíró), akkor nekünk kell eldönteni, hogy lehet-e nem kitöltött az ügyvitel szerint (ha nem, akkor az értékére megszorítást teszünk NOT NULL-al).
Megjegyzés: általábann elegendő a kapcsolt tábla nevét megadni a külső kulcs mellett, de előfordulhat, hogy a megvalósítás megengedi az elsődleges kulcstól különböző, másik egyedi kulcsra való hivatkozást is.
Arról is gondoskodni kell, hogy a szülő-tábla hivatkozott sorának törlése / módosítása esetén mi legyen a válaszlépés a gyerek-tábla hivatkozó sorában:
- ismeretlen értékkel töltse fel ott is
- alapértelmezett értékkel töltse fel ott is
- ott is törölje ki a hivatkozó sorokat / ott is módosítsa a hivatkozások értékét az új értékre
- ne tegyen semmit
az adatbáziskezelő rendszer.