Mielőtt elsajátítanánk az elsődleges és az idegen kulcs közötti különbséget, tanuljuk meg:
Mik azok a kulcsok?
A kulcsok olyan attribútumok, amelyek segítenek azonosítani egy sort (duplát) egy relációban (táblázat). Ezek lehetővé teszik, hogy megtalálja a kapcsolatot két táblázat között. A kulcsok segítenek a táblázat egy vagy több oszlopának kombinációjával egyedileg azonosítani a sorokat. Az adatbáziskulcs abban is hasznos, hogy egyedi rekordot vagy sort keressen a táblából.
Mi az adatbázis-kapcsolat?
Az adatbázis-kapcsolat asszociáció egy vagy több tábla között, amelyek csatlakozási utasítások segítségével jönnek létre. Az adatok hatékony lekérésére szolgál az adatbázisból. Elsősorban háromféle kapcsolat létezik: 1) egy-egy, 2) egy-sok, 3) sok-sok.
Mi az elsődleges kulcs?
Az elsődleges kulcskorlát egy oszlop vagy oszlopcsoport, amely egyedileg azonosítja a relációs adatbázis-kezelő rendszer táblázatának minden sorát. Ez nem lehet másolat, vagyis ugyanaz az érték nem szerepelhet többször a táblázatban.
Egy táblának több elsődleges kulcsa lehet. Az elsődleges kulcs az oszlop vagy a táblázat szintjén határozható meg. Ha összetett elsődleges kulcsot hoz létre, azt a táblázat szintjén kell meghatározni.
Mi az a külföldi kulcs?
Az idegen kulcs egy oszlop, amely kapcsolatot hoz létre két táblázat között. Az idegen kulcs célja az adatok integritásának fenntartása és az entitás két különböző példánya közötti navigáció lehetővé tétele. Kereszthivatkozásként szolgál két táblázat között, mivel egy másik táblázat elsődleges kulcsára hivatkozik. Az adatbázis minden kapcsolatát támogatni kell egy idegen kulccsal.
Főbb különbségek:
- Az elsődleges kulcs korlát olyan oszlop, amely egyedileg azonosítja a relációs adatbázis-kezelő rendszer táblázatának minden sorát, míg az idegen kulcs olyan oszlop, amely kapcsolatot hoz létre két táblázat között.
- Az elsődleges kulcs soha nem fogad el null értékeket, míg az idegen kulcs több null értéket is elfogadhat.
- Csak egy elsődleges kulcs lehet egy táblázatban, míg több idegen kulcs lehet egy táblázatban.
- Az elsődleges kulcs értéke nem távolítható el a szülő táblából, míg az idegen kulcs értéke eltávolítható a gyermek táblából.
- Két sorban nem lehet azonos érték az elsődleges kulcs számára, másrészt egy idegen kulcs tartalmazhat ismétlődő értékeket.
- Nincs korlátozás az értékek beszúrására a táblázat oszlopába, miközben bármilyen értéket be kell illeszteni az idegen kulcs táblába, győződjön meg arról, hogy az érték szerepel az elsődleges kulcs oszlopában.
Miért használja az elsődleges kulcsot?
Íme az elsődleges kulcs használatának hátrányai / előnyei:
- Az elsődleges kulcs fő célja, hogy azonosítsa az adatbázis táblában szereplő minden egyes rekordot.
- Akkor használhat elsődleges kulcsot, ha nem engedélyezi, hogy valaki null értékeket írjon be.
- Ha törli vagy frissíti a rekordokat, akkor a megadott műveletet végrehajtja az adatok integritásának biztosítása érdekében.
- Végezze el a korlátozási műveletet a szülőtábla törlésének vagy frissítésének elutasításához.
- Az adatok fürtözött indexek sorozatába vannak rendezve, amikor fizikailag rendezi a DBMS-táblákat.
Miért érdemes használni a Foreign Key-t?
Íme a külföldi kulcs használatának fontos okai:
- Az idegen kulcsok segítenek az entitások migrálásában a szülőtábla elsődleges kulcsával.
- Egy idegen kulcs lehetővé teszi két vagy több táblázat összekapcsolását.
- Ez következetesvé teszi az adatbázis adatait.
- Egy idegen kulcs használható arra, hogy egy oszlop vagy oszlopkombináció illeszkedjen a szülőtábla elsődleges kulcsához.
- Az SQL idegen kulcs korlátozásával megbizonyosodhatunk arról, hogy az adatszülő referenciális integritása megfelel-e az utódtábla értékeinek.
Példa az elsődleges kulcsra
Szintaxis:
Az alábbiakban látható az elsődleges kulcs szintaxisa:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Itt,
- A tábla_név a létrehozandó tábla neve.
- Az oszlop_név az elsődleges kulccsal rendelkező oszlop neve.
Példa:
StudID | Tekercs sz | Keresztnév | Vezetéknév | |
---|---|---|---|---|
1 | 11. | Tom | Ár | Ezt az e-mail címet a spamrobotok ellen védjük. Engedélyezze a Javascript használatát a megtekintéshez. |
2 | 12. | Nick | Wright | Ezt az e-mail címet a spamrobotok ellen védjük. Engedélyezze a Javascript használatát a megtekintéshez. |
3 | 13. | Dana | Natan | Ezt az e-mail címet a spamrobotok ellen védjük. Engedélyezze a Javascript használatát a megtekintéshez. |
A fenti példában létrehoztunk egy diáktáblát olyan oszlopokkal, mint a StudID, a Roll Roll, a First Name, a Last Name és az Email. A StudID-t választják elsődleges kulcsnak, mert egyedülállóan azonosíthatja a táblázat többi sorát.
Példa idegen kulcsra
Szintaxis:
Az alábbiakban található az idegen kulcs szintaxisa:
CREATE TABLE