DBMS kulcsok: Jelölt, Elsődleges, Szuper és Idegen típusok

⚡ Okos összefoglaló

A DBMS kulcsai olyan attribútumok, amelyek egyedileg azonosítanak egy sort egy táblázatban, és kapcsolatokat hoznak létre a táblázatok között. Nyolc kulcstípus, a szuper és elsődleges kulcstól az idegen és helyettes kulcsig, biztosítja az azonosságot és az integritást egy relációs adatbázisban.

  • 🗝️ Fő cél: A kulcs azonosít egy egyedi sort, és összekapcsolja a kapcsolódó táblázatokat, hogy az adatok konzisztensek maradjanak.
  • 🔝 Szuperkulcs: Bármely olyan attribútumkészlet, amely sorokat azonosít, esetleg a minimálisan megadott attribútumokon túlmutató extra attribútumokkal.
  • Elsődleges kulcs: A kiválasztott kulcsjelölt, soha nem null és soha nem duplikált, táblázatonként egy.
  • 🎯 Jelölt kulcs: Egy minimális szuperkulcs redundáns attribútumok nélkül; az elsődleges kulcs ezek közül kerül kiválasztásra.
  • 🔁 Alternatív kulcs: Bármely olyan kulcsjelölt, amelyet nem választottak ki elsődleges kulcsként.
  • 🔗 Idegen kulcs: Egy másik tábla elsődleges kulcsára hivatkozó oszlop a hivatkozási integritás kikényszerítése érdekében.
  • 🧩 Kompozit és helyettesítő: Az összetett kulcsok az oszlopokat kombinálják az egyediség érdekében; a helyettes kulcs egy generált helyettesítő kulcs.

DBMS kulcsok jelöltjei, szuper elsődleges

Mik azok a kulcsok a DBMS-ben?

Kulcsok a DBMS-ben egy olyan attribútum vagy attribútumok halmaza, amely segít azonosítani egy sort (tuple-t) egy relációban (táblában). Lehetővé teszik két tábla közötti kapcsolat megtalálását. A kulcsok segítenek egyedileg azonosítani egy sort egy táblázatban egy vagy több oszlop kombinációjával, és hasznosak egy egyedi rekord megtalálásában a táblázatban.

Példa:

munkavállalói azonosító Keresztnév Vezetéknév
11 Andrew Johnson
22 Tomi Fa
33 Alex Vonszol

A fenti példában az alkalmazotti azonosító egy elsődleges kulcs, mivel egyedileg azonosítja az alkalmazotti rekordot. Ebben a táblázatban egyetlen más alkalmazottnak sem lehet ugyanaz az alkalmazotti azonosítója.

Miért van szükségünk kulcsra?

Íme néhány ok, amiért érdemes kulcsot használni egy adatbázis-kezelő rendszerben:

  • A kulcsok segítenek azonosítani egy táblázat bármely sorát. Egy valós alkalmazásban egy táblázat több ezer rekordot is tartalmazhat, és a rekordok duplikálódhatnak. A kulcsok biztosítják, hogy ezen kihívások ellenére is egyedileg azonosítható legyen egy táblázatrekord.
  • Lehetővé teszik a táblák közötti kapcsolatok létrehozását és azonosítását.
  • Segítenek az identitás és az integritás érvényesítésében a kapcsolatban.

Kulcstípusok a DBMS-ben

A DBMS-ben főként nyolc különböző típusú kulcs létezik, és mindegyik kulcsnak megvan a saját funkciója:

  1. Szuper kulcs
  2. Elsődleges kulcs
  3. Jelöltkulcs
  4. Alternatív kulcs
  5. Idegen kulcs
  6. Összetett kulcs
  7. Összetett kulcs
  8. Helyettesítő kulcs

Az alábbi táblázat mind a nyolcat egy pillantással összefoglalja, mielőtt részletesen elmagyaráznánk őket.

Kulcs Egy sorban Egyedi?
Szuper kulcs Bármely sort azonosító attribútumkészlet, az extrák megengedettek. Igen
Jelöltkulcs Minimális szuperkulcs, redundáns attribútum nélkül Igen
Elsődleges kulcs A kiválasztott jelöltkulcs, nem null Igen
Alternatív kulcs Egy jelöltkulcs, amelyet nem elsődlegesként választottak ki Igen
Idegen kulcs Egy másik táblában található elsődleges kulcsra hivatkozik Nem
Összetett kulcs Két vagy több attribútum, amelyek mindegyike esetleg nem egyedi Kombinált
Összetett kulcs Két vagy több oszlop kombinálva az egyediség érdekében Kombinált
Helyettesítő kulcs Egy mesterségesen generált azonosító Igen

Mi az a szuperkulcs?

A szuperkulcs egy vagy több kulcsból álló csoport, amely egy táblázat sorait azonosítja. A szuperkulcs további attribútumokkal is rendelkezhet, amelyekre nincs szükség az egyedi azonosításhoz.

Példa:

EmpSSN EmpNum Empname
9812345098 AB05 Látható
9876512345 AB06 Roslyn
199937890 AB07 James

A fenti példában az EmpSSN és az EmpNum szuperkulcsok.

Mi az elsődleges kulcs?

ELSŐDLEGES KULCS in DBMS egy oszlop vagy oszlopcsoport egy táblázatban, amely egyedileg azonosítja a táblázat minden sorát. Az elsődleges kulcs nem lehet ismétlődő, ami azt jelenti, hogy ugyanaz az érték nem szerepelhet egynél többször a táblázatban. Egy táblázatnak nem lehet egynél több elsődleges kulcsa.

Elsődleges kulcs definiálásának szabályai

  • Két sor nem rendelkezhet azonos elsődleges kulcsértékkel.
  • Minden sornak tartalmaznia kell egy elsődleges kulcs értékét.
  • Az elsődleges kulcs mezője nem lehet null.
  • Az elsődleges kulcs oszlopában lévő érték soha nem módosítható vagy frissíthető, ha bármely idegen kulcs az elsődleges kulcsra hivatkozik.

Példa: A következő példában StudID egy elsődleges kulcs.

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

Mi az az alternatív kulcs?

ALTERNATÍV KULCS egy táblázat egy oszlopa vagy oszlopcsoportja, amely egyedileg azonosítja az összes sort. Egy táblázatban több elsődleges kulcs is megadható, de csak egy állítható be elsődleges kulcsként. Az összes olyan kulcsot, amely nem az elsődleges kulcs, alternatív kulcsnak nevezzük.

Példa: Ebben a táblázatban a StudID, a Roll No és az Email jogosult elsődleges kulcsként szerepelni. Mivel azonban a StudID az elsődleges kulcs, a Roll No és az Email másodlagos kulcsokká válnak.

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

Mi az a jelöltkulcs?

JELÖLT KULCS egy olyan attribútumok halmaza, amelyek egyedileg azonosítják a tuple-ket egy táblában. A kulcsjelölt egy szuperkulcs ismétlődő attribútumok nélkül. Az elsődleges kulcsot a kulcsjelöltek közül kell kiválasztani. Minden táblának tartalmaznia kell legalább egy kulcsjelöltet, és egy táblának több kulcsjelöltje is lehet, de csak egyetlen elsődleges kulcsa.

Egy jelöltkulcs tulajdonságai:

  • Egyedi értékeket kell tartalmaznia.
  • Egy kulcsjelölt több attribútummal is rendelkezhet.
  • Nem tartalmazhat null értékeket.
  • Tartalmaznia kell a minimálisan szükséges mezőket az egyediség biztosításához.
  • Egyedileg azonosítja a táblázat minden egyes rekordját.

Példa: Az alábbi táblázatban a StudID, a Roll No és az Email olyan jelöltkulcsok, amelyek segítenek egyértelműen azonosítani egy hallgatói rekordot. A szuper- és elsődleges kulcsokkal való kapcsolatuk egy gyakori módja annak, hogy megértsük funkcionális függőség.

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
Jelölt kulcs a DBMS-ben
Jelölt kulcs a DBMS-ben

Mi az az idegen kulcs?

IDEGEN KULCS egy oszlop, amely kapcsolatot hoz létre két tábla között. Az idegen kulcs célja az adatok integritásának fenntartása és a navigáció lehetővé tétele 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.

Példa:

OsztályCode 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

Ebben a példában két táblázatunk van egy iskolában, a Tanár és a Tanszék. Jelenlegi állapotukban nincs mód arra, hogy lássuk, melyik tanár melyik tanszéken dolgozik.

Az idegen kulcs hozzáadásával DeptCode a Tanár táblához, kapcsolatot hozhatunk létre a két tábla között.

Tanári azonosító OsztályCode 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 az az összetett kulcs?

ÖSSZETETT KULCS két vagy több olyan attribútummal rendelkezik, amelyek lehetővé teszik egy adott rekord egyedi azonosítását. Lehetséges, hogy az egyes oszlopok nem egyediek önmagában az adatbázison belül. Azonban kombinálva az oszlopok egyedivé válnak. Az összetett kulcs célja, hogy egyedileg azonosítsa a táblázat minden rekordját.

Példa:

Rendelési szám Termék azonosító termék név Mennyiség
B005 JAP102459 egér 5
B005 DKT321573 USB 10
B005 OMG446789 LCD Monitor 20
B004 DKT321573 USB 15
B002 OMG446789 Lézeres nyomtató 3

Ebben a példában a Rendelési szám és a Termékazonosító nem lehet külön-külön elsődleges kulcs, mivel egyik sem azonosít egyértelműen egy rekordot. Azonban egy Rendelési szám és Termékazonosító összetett kulcsa egyértelműen azonosítja az egyes rekordokat.

Mi az összetett kulcs?

ÖSSZETETT KULCS két vagy több oszlop kombinációja, amelyek egyedileg azonosítják a táblázat sorait. Az oszlopok kombinációja garantálja az egyediséget, bár az egyediség önmagában nem garantált. Ezért kombinálják őket, hogy egyedileg azonosítsák a táblázat rekordjait.

Az összetett és az összetett kulcs közötti különbség az, hogy az összetett kulcs bármely része lehet idegen kulcs, de az összetett kulcs lehet vagy nem lehet része egy idegen kulcsnak.

Mi az a pótkulcs?

HELYETTES KULCS egy mesterséges kulcs, amelynek célja az egyes rekordok egyedi azonosítása. Ez a fajta kulcs egyedi, mert akkor jön létre, amikor nincs természetes elsődleges kulcs. A helyettesítő kulcsok nem adnak jelentést a táblázatban lévő adatoknak, és általában egy egész szám, amelyet közvetlenül a rekord beszúrása előtt generálnak.

Fname Vezetéknév Kezdési idő End Time
Anne Kovács 09:00 18:00
csatlakozó Francis 08:00 17:00
Anna McLean 11:00 20:00
Látható Willam 14:00 23:00

A fenti példa a különböző alkalmazottak műszakbeosztását mutatja be. Itt egy helyettesítő kulcsra van szükség az egyes alkalmazottak egyedi azonosításához. Helyettesítő kulcsok a következőben: SQL akkor használják, amikor:

  • Egyetlen tulajdonság paramétere sem elsődleges kulcs.
  • Az elsődleges kulcs túl nagy vagy bonyolult.

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

A következő a fő különbség az elsődleges kulcs és az idegen kulcs között:

Elsődleges kulcs Idegen kulcs
Segít egyedileg azonosítani egy rekordot a táblázatban. Ez egy olyan mező a táblában, amely egy másik tábla elsődleges kulcsa.
Egy elsődleges kulcs soha nem fogad el null értékeket. Egy idegen kulcs több null értéket is elfogadhat.
Az elsődleges kulcs egy fürtözött index, és a táblázatban lévő adatok fizikailag a fürtözött index sorrendjében vannak elrendezve. Egy idegen kulcs nem tud automatikusan indexet létrehozni, legyen az fürtözött vagy nem fürtözött. Manuálisan is létrehozhat egyet.
Egyetlen elsődleges kulcs lehet egy táblázatban. Egy táblázatban több idegen kulcs is lehet.

GYIK

Minden kulcsjelölt egyedileg azonosíthat egy sort. Az elsődleges kulcs az az egyetlen kulcsjelölt, amelyet a tervező kiválaszt; a többi kulcsjelölt alternatív kulcsokká válik.

Mindkettő az oszlopokat az egyediség érdekében kombinálja. Egy összetett kulcsban minden oszlop önmagában egy idegen kulcs, míg az összetett kulcs egyszerűen két vagy több olyan attribútumot kapcsol össze, amelyeknek nem kell idegen kulcsoknak lenniük.

Használjon helyettesítő kulcsot, ha egyetlen természetes attribútum sem megbízhatóan egyedi, vagy ha a természetes kulcs nagy vagy változhat. A generált egész szám stabil marad, és egyszerűvé teszi az illesztéseket.

Igen. Az oszlopok egyediség, nulla arány és stabilitás szerinti profilalkotásával a mesterséges intelligencia képes szűkíteni a jelöltkulcsok listáját, és javasolni egy elsődleges kulcsot vagy egy helyettesítőt, a végső döntést pedig a tervezőre bízza.

Igen. Az elsődleges kulccsal ellentétben egy idegen kulcs tartalmazhat null értéket, ami egy olyan sort jelöl, amely még nem kapcsolódik egyetlen szülőrekordhoz sem. Egy nem null idegen kulcsnak meg kell egyeznie egy meglévő elsődleges kulccsal.

Foglald össze ezt a bejegyzést a következőképpen: