Idegen kulcs típusú korlátozás - sql programozás

Korlátozások írja FOREIGN KEY (idegen kulcs), hogy állapítsa meg egy vagy több oszlopot a táblázatban, utalva egy oszlopot UNIQUE kényszer vagy PRIMARY KEY másik asztalhoz. (A külső kulcs utalhat egy értéket egy tábla egyedi vagy elsődleges kulcs az ugyanannál az asztalnál, ahol önmagát, de ezek a gombok ritkák.) Ezután a külső gombok megakadályozhatja bejegyzés a táblázat adatait, amelyek nem megfelelő értékeket a hivatkozott táblában . A külföldi kulcsok a relációs adatbázisban lévő táblák közötti kapcsolat meghatározásának fő módjai. Íme néhány szabály a külföldi kulcsokra vonatkozóan.







  • Több idegen kulcs egyidejűleg ugyanabban a táblában létezhet.
  • Az idegen kulcsot kijelölheti egy elsődleges kulcsra vagy egy egyedi attribútumra vonatkozó érték meghatározására, ha közvetlen kapcsolatot létesít a két táblázat között.

FORDULÓ KEY (helyi oszlop [, ...])

REFERENCIÁK kapcsolódó táblázat [(kapcsolódó oszlop [, ...])].

A táblát nevezzük, és szükség esetén egy oszlopot (oszlopokat), amely az idegen kulcsra érvényes értékek listáját tárolja. A hozzárendelt oszlopot már meg kell adni a NEM LEHETSÉGES PRIMARY KEY vagy NOT DEFERRABLE UNIQUE KEY clauses-ban. A táblaterületeknek meg kell felelniük. Például ha egy táblázat egy ideiglenes helyi táblázat, akkor mindkettőnek ideiglenesnek és helyinek kell lennie.

MATCH (FULL | PARTIAL | SIMPLE).

Meghatározza a kötelező (helyi) oszlop és a hozzá tartozó (külső) oszlop kívánt koincidenciafokát, ha az oszlopokban NULL értékek vannak.

A mérkőzés akkor elfogadható, ha: 1) a kötelező oszlopok közül egyik sem NULL, és minden érték egybeesik a társult érték összes értékével

- Külső asztalszintű kulcs [CONSTRAINT [constraint_name]] FORDULÓ KEY

(Lokalnyy_stolbets [, ...]) Hivatkozások svyazannaya_tablitsa [(svyazannyy_stolbets [, ...])] [MATCH]

- Külső oszlopszintű kulcs [CONSTRAINT [constraint_name]

REFERENCIÁK kapcsolódó táblázat [(társult oszlop [, ...])] [MATCH]

CASCADE | RESTRICT | SET NULL | SET DEFAULT>] [[Restriction] [Késleltetési idő] korlátozása

A mérkőzés akkor elfogadható, ha a kötelező oszlopok közül legalább egy NULL, a többi pedig a hozzá tartozó oszlop megfelelő értékeinek felel meg.







A mérkőzés akkor elfogadható, ha a kötelező oszlopban lévő érték NULL, vagy megfelel a hozzá tartozó oszlop megfelelő értékének. Ez a fajta találat alapértelmezés szerint elfogadva.

Ez azt jelenti, hogy ha az UPDATE frissítési műveletet rögzít egy vagy több kapcsolt asztalra svyazannyh_stolbtsov elsődleges vagy egyedi kulcs, hajtsa végre a megfelelő lépéseket, hogy a hivatkozási integritást az idegen kulcs adat nem került veszélybe. Az ON UPDATE záradék külön bejelölhető vagy az ON DELETE záradékkal együtt. Ha a mondat el van hagyva, akkor az alapértelmezett BE UPDATE NO ACTION.

Ez azt jelenti, hogy ha az eltávolítás DELETE művelet rögzíti egy vagy több kapcsolt asztalra svyazannyh_stolbtsov elsődleges vagy egyedi kulcs, hajtsa végre a megfelelő lépéseket, hogy a hivatkozási integritást az idegen kulcs adat nem került veszélybe. Az ON DELETE záradék külön bejelenthető vagy az ON UPDATE záradékkal együtt. Ha a mondat el van hagyva, akkor az alapértelmezett beállítás az ON DELETE NO ACTION.

NINCS ACTION | CASCADE | RESTRICT | SET NULL | SET DEFAULT

Meghatározza az adatbázis által végrehajtott műveleteket, hogy biztosítsa az idegen kulcs referenciális integritását, ha a hozzá tartozó elsődleges vagy egyedi kulcs értékét megváltoztatja vagy törli.

Azt jelzi, hogy ha az idegen kulcskal társított elsődleges vagy egyedi kulcs értéke megváltozik vagy törlődik, akkor az adatbázis semmilyen műveletet nem hajt végre.

Azt jelzi, hogy ha az elsődleges vagy egyedi kulcs értéke megváltozik vagy törlődik, akkor az adatbázis végrehajtja ugyanazt a műveletet (azaz törli vagy frissíti) az idegen kulcson.

Jelzi, hogy az adatbázis nem teszi lehetővé az idegen kulcsmal társított elsődleges vagy egyedi kulcs értékének módosítását.

Azt jelzi, hogy ha az elsődleges vagy egyedi kulcsot módosítja vagy törli, az adatbázis az idegen kulcs értékét NULL értékre állítja.

Meghatározza, hogy ha az elsődleges vagy egyedi kulcsot módosítja vagy törli, az adatbázis megadja az alapértelmezett értéket az idegen kulcs számára (az oszlopokhoz megadott alapértelmezett értékek használatával).

Az elsődleges kulcsokkal ellátott kódpéldányhoz hasonlóan ez az általános szintaxis használható mind a külső oszlopszintű kulcsokhoz, mind az idegen asztalszintű kulcsokhoz. Ne feledje, hogy az oszlopszintű és az asztalszintű korlátozások pontosan ugyanazok. Ezek egyszerűen a CREATE TABLE parancs különböző szintjein vannak megadva. A következő példában egy oszlopú idegen kulcsot hozunk létre az értékesítési oszlopban, amely a munkavállalói táblázat empid oszlopára hivatkozik. Ezt az idegen kulcsot két módon hozhatjuk létre, először az oszlop szintjén, majd az asztal szintjén.

További információk a témáról

A PRIMARY KEY korlátozás leírása, a használat módja, a különböző platformok szolgáltatásai

Az ellenőrzés kényszerének fő célja és módja, az általános szintaxis használata

Az UNIQUE kényszer leírása, a különböző adatbázis-platformokban való felhasználásra vonatkozó alapvető szabályok

Korlátozások az adatbázisokban, amelyekhez, és amelyekhez használják és használják a szintaxist




Kapcsolódó cikkek