Különbség az elsődleges kulcs és az idegen kulcs között

Főbb különbségek az elsődleges kulcs és az idegen kulcs között

  • Az elsődleges kulcs megszorítása egy 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ábla között.
  • Az elsődleges kulcs soha nem fogad el null értéket, míg az idegen kulcs több null értéket is elfogadhat.
  • Egy táblában csak egyetlen elsődleges kulcs lehet, míg egy táblában több idegen kulcs is lehet.
  • 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 gyermektáblából.
  • Az elsődleges kulcs két sorban nem tartalmazhat azonos értéket; másrészt az idegen kulcs duplikált értékeket tartalmazhat.
  • Nincs korlátozás az értékek beszúrására a táblázat oszlopába, miközben bármilyen értéket beszúrunk az idegen kulcs táblába; győződjön meg arról, hogy az érték az elsődleges kulcs oszlopában szerepel.
Különbség az elsődleges kulcs és az idegen kulcs között
Különbség az elsődleges kulcs és az idegen kulcs között

Itt elemeztem az elsődleges kulcs és az idegen kulcs közötti különbséget, és átfogóan értékelem azok előnyeit és hátrányait.

Mi az elsődleges kulcs?

Az elsődleges kulcs megszorítása egy oszlop vagy oszlopcsoport, amely egyedileg azonosítja a relációs adatbázis-kezelő rendszer táblázatának minden sorát. Nem lehet ismétlődő, vagyis ugyanaz az érték nem szerepelhet többször a táblázatban.

Egy táblának nem lehet több elsődleges kulcsa. A elsődleges kulcs oszlop vagy táblázat szinten definiálható. Ha összetett elsődleges kulcsot hoz létre, akkor azt a táblázat szintjén kell meghatározni.

Példa az elsődleges kulcsra

Syntax:

Alább látható az elsődleges kulcs szintaxisa:

CREATE TABLE <Table-Name>
(
Column1 datatype,
Column2 datatype,  PRIMARY KEY (Column-Name)
.
);    

Itt,

  • A Table_Name a létrehozandó tábla neve.
  • A Column_Name az elsődleges kulcsot tartalmazó oszlop neve.

Példa:

StudID Roll No Az Ön neve Vezetéknév E-mail
1 11 Tomi Ár abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Nathan mno@yahoo.com

A fenti példában létrehoztunk egy tanulói táblázatot olyan oszlopokkal, mint a StudID, Roll No., Keresztnév, Vezetéknév és E-mail. A StudID azért van kiválasztva elsődleges kulcsnak, mert egyedileg képes azonosítani a táblázat többi sorát.

Miért érdemes az elsődleges kulcsot használni?

Az adatbázis-rendszerek kezelésének évei során a következő hátrányokat és előnyöket vettem észre az elsődleges kulcs használata során:

  • Az elsődleges kulcs fő célja az adatbázistábla minden egyes rekordjának azonosítása.
  • Használhat elsődleges kulcsot, ha nem engedélyezi senkinek, hogy null értékeket adjon meg.
  • Ha törli vagy frissíti a rekordokat, az Ön által megadott művelet megtörténik az adatok integritásának biztosítása érdekében.
  • Hajtsa végre a korlátozási műveletet a szülőtábla törlési vagy frissítési műveletének elutasításához.
  • Az adatok fürtözött indexek sorozatába vannak rendezve, amikor fizikailag szervez egy DBMS-táblát.

Mi az az idegen kulcs?

Az idegen kulcs egy olyan oszlop, amely kapcsolatot hoz létre két tábla között. Az idegen kulcs célja az adatok integritásának megőrzése, és lehetővé teszi a navigációt egy entitás két különböző példánya között. Kereszthivatkozásként működik két tábla között, mivel egy másik tábla elsődleges kulcsára hivatkozik. Az adatbázisban minden kapcsolatot támogatni kell egy idegen kulccsal.

Példa az idegen kulcsra

Syntax:

Alább látható az idegen kulcs szintaxisa:

CREATE TABLE <Table Name>( 
column1    datatype,
column2    datatype,  
constraint (name of constraint) 
FOREIGN KEY [column1, column2...] 
REFERENCES [primary key table name] (List of primary key table column) ...);

Itt,

  • A Table Name paraméter a létrehozni kívánt tábla nevét jelzi.
  • Az oszlop1, oszlop2… paraméterek azokat az oszlopokat ábrázolják, amelyeket hozzá kell adni a táblázathoz.
  • A megszorítás a létrehozandó kényszer nevét jelöli.
  • A hivatkozások egy táblázatot jelölnek az elsődleges kulccsal.

Példa:

DeptCode DeptName
001 Tudomány
002 Angol
005 Számítógép
Tanári azonosító Fname Lnév
B002 David Warner
B017 Sara Joseph
B009 Mikrofon Brunton

A fenti példában két táblázat van: egy tanár és egy tanszék egy iskolában. Azt azonban nem lehet megnézni, hogy melyik keresés melyik osztályon működik.

Ebben a táblázatban a Deptcode-ban lévő idegen kulcs hozzáadásával a tanár nevéhez kapcsolatot hozhatunk létre a két tábla között.

Tanári azonosító DeptCode Fname Lnév
B002 002 David Warner
B017 002 Sara Joseph
B009 001 Mikrofon Brunton

Ezt a koncepciót referenciális integritásnak is nevezik.

Miért használjunk idegen kulcsot?

A látottak alapján a következő fontos okok indokolják az idegen kulcsok alkalmazását:

  • Az idegen kulcsok segítenek az entitások áttelepítésében egy elsődleges kulcs használatával a szülőtáblából.
  • A idegen kulcs lehetővé teszi két vagy több tábla összekapcsolását.
  • Konzisztenssé teszi az adatbázis adatait.
  • Az idegen kulcs segítségével egy oszlopot vagy oszlopkombinációt egyeztethetünk a szülőtábla elsődleges kulcsával.
  • Az SQL idegen kulcs megszorítása annak biztosítására szolgál, hogy az adatszülő hivatkozási integritása megegyezzen a gyermektábla értékeivel.

Különbség az elsődleges kulcs és az idegen kulcs között

Hadd osszam meg az elsődleges kulcs és az idegen kulcs közötti fontos különbséget, amint azt személyesen tapasztaltam:

Elsődleges kulcs vs idegen kulcs
Elsődleges kulcs vs idegen kulcs
Összehasonlítási alap Elsődleges kulcs Idegen kulcs
Meghatározás Az elsődleges kulcs megszorítása egy oszlop vagy oszlopcsoport, amely egyedileg azonosítja a táblázat minden sorát relációs adatbázis-kezelő rendszer. Az idegen kulcs egy olyan oszlop, amely kapcsolatot hoz létre két tábla között.
alapvető Segít a rekord egyedi azonosításában a táblázatban. Ez egy olyan mező a táblában, amely egy másik tábla elsődleges kulcsa.
NULL Az elsődleges kulcs soha nem fogad el null értékeket. Egy idegen kulcs több null értéket is elfogadhat.
Indexelés Az elsődleges kulcs egy fürtözött index, és a DBMS-táblában lévő adatok fizikailag a fürtözött index sorrendjében vannak rendezve. Az idegen kulcs nem hozhat létre automatikusan fürtözött vagy nem fürtözött indexet.
Gróf Egy táblázatban egyetlen elsődleges kulcs szerepelhet. Egy táblázatban több idegen kulcs is lehet.
törlés Az elsődleges kulcs értéke nem távolítható el a szülőtáblából. Az idegen kulcs értéke eltávolítható a gyermektáblából.
Ideiglenes asztal Az elsődleges kulcsot implicit módon meghatározhatja az ideiglenes táblákban. Nem definiálhat idegen kulcsokat a helyi vagy globális ideiglenes táblákban.
Kapcsolat Az elsődleges kulcs egy fürtözött index. Alapértelmezés szerint nem fürtözött index.
sokszorosítása Egy elsődleges kulcshoz nem lehet két sor azonos értéket adni. Az idegen kulcs duplikált értékeket tartalmazhat.
beszúrás Nincs korlátozás az értékek beszúrására a táblázat oszlopába. Bármilyen érték beszúrása közben az idegenkulcs-táblázatba győződjön meg arról, hogy az érték szerepel az elsődleges kulcs oszlopában.

Hogyan válasszunk az elsődleges és az idegen kulcs között

A látottak alapján az elsődleges kulcsok egyedileg azonosítják a táblabejegyzéseket, az idegen kulcsok pedig összekapcsolják ezeket a bejegyzéseket a táblák között, ami egyaránt kritikus fontosságú az adatok integritásának megőrzése és a hatékony adatvisszakeresés szempontjából.