Az elsődleges és az idegen kulcs közötti különbség a DBMS-ben

Szerző: Laura McKinney
A Teremtés Dátuma: 1 Április 2021
Frissítés Dátuma: 12 Lehet 2024
Anonim
Az elsődleges és az idegen kulcs közötti különbség a DBMS-ben - Technológia
Az elsődleges és az idegen kulcs közötti különbség a DBMS-ben - Technológia

Tartalom


A kulcsok a DBMS kulcsfontosságú elemei, amelyeket felhasználnak a séma táblázatainak kapcsolatának azonosítására és kapcsolatának meghatározására. Ma ma megvitatjuk a DBMS két nagyon fontos kulcsát, azaz az Elsődleges kulcsot és az Idegen kulcsot, és megvitatjuk az elsődleges kulcs és az idegen kulcs közötti különbséget is. Útközben hadd mondjam el az alapvető különbség az elsődleges és az idegen kulcs között, amely az elsődleges kulcs az adatbázis-tervező által kiválasztott jelölt kulcsok egyike, míg az idegen kulcs egy olyan kulcs, amely egy másik kapcsolat elsődleges kulcsára utal.

A kettő között sok más különbség van, azonosítsuk ezeket a különbségeket az alább bemutatott összehasonlító táblázat segítségével.


  1. Összehasonlító táblázat
  2. Meghatározás
  3. Főbb különbségek
  4. Következtetés

Összehasonlító táblázat

Az összehasonlítás alapjaElsődleges kulcsIdegen kulcs
AlapvetőAz elsődleges kulcs egy kiválasztott jelölt kulcs, amely egyértelműen meghatározza a kapcsolat egy elemét.A táblában szereplő idegen kulcs a másik tábla elsődleges kulcsára utal.
NULLAAz elsődleges kulcs értéke soha nem lehet NULL.Az idegen kulcs elfogadja a NULL értéket.
MásolatA relációban nincs két parancs, amely az elsődleges kulcs-attribútum másolatát hordozza.A Tuples idegen kulcs-attribútum ismétlődő értékét hordozhatja.
HatótávolságA kapcsolatnak csak egy elsődleges kulcsa lehet.A relációban több idegen kulcs is lehet.
Ideiglenes táblázatAz elsődleges kulcs korlátozása az ideiglenes táblázatokban határozható meg.Az Idegen kulcs korlátozást az ideiglenes táblázatokban nem lehet meghatározni.
Fürtözött indexAlapértelmezés szerint az elsődleges kulcs csoportosítva van indexelve.Az idegen kulcs nem csoportosul automatikusan; ezt kézzel kell elvégezni.
beszúrásBeilleszthetünk egy értéket az elsődleges kulcs attribútumba, még akkor is, ha a hivatkozó idegen kulcsnak nincs ilyen értéke az oszlopában.Nem adhatunk értéket egy idegen kulcshoz, ha ez az érték nem szerepel a hivatkozott elsődleges kulcs oszlopban.
TörlésAz elsődleges kulcs értékének törlése előtt ellenőrizze, hogy az érték még mindig nincs-e a hivatkozási táblázat hivatkozási idegen kulcs oszlopában.Törölhet egy értéket az idegen kulcs oszlopából anélkül, hogy zavarná, függetlenül attól, hogy van-e az érték a hivatkozott reláció hivatkozott elsődleges kulcs oszlopában.


Az elsődleges kulcs meghatározása

Elsődleges kulcs egyedileg meghatározza a relatív összefüggéseket. Lehet, hogy egy attribútum egy relációban, vagy lehet egy attribútum halmaza egy relációban. Az elsődleges kulcs attribútumának ennek kell lennie soha vagy ritkán változott. Mivel ez elsődleges, azt jelenti, hogy bármilyen rekordot azonosítani kell az adatbázisban. Az elsődleges kulcs bármely attribútumértékének megváltoztatása zavart okozna.

Az adatbázis-tervező az egyik közül választhat jelölt kulcsok mint elsődleges kulcs, néhány szempontot figyelembe véve. Az első szempont az elsődleges kulcs attribútum értéke, amely soha nem tartalmazhatja NULLA érték. Mert ha egy elsődleges kulcs attribútum értéke NULL-t tartalmaz, azt jelenti, hogy nem tudjuk azonosítani ezt a rekordot a táblázatban. Ez sérti az entitás integritási korlátozását is. Második szempont: nincs két gomb egy táblázatban tartalmazhatja a azonos az elsődleges kulcs attribútum értéke, mivel ez sértené a párosok egyediségét.

Csak lehet egy elsődleges kulcs bármilyen kapcsolat. Az elsődleges kulcs alapértelmezés szerint van klaszter-indexelt, ami azt jelenti, hogy a táblában az összes kulcs meg van rendezve, az elsődleges kulcs attribútumok értékei alapján. Az elsődleges kulcskényszer meghatározható a ideiglenes asztal. A lekérdezés végrehajtása során létrehozott közbenső táblákat ideiglenes tábláknak nevezzük.

Míg törlés egy relációból származó elem, ügyelnie kell arra, hogy a törölt gomb elsődleges kulcsértéke továbbra sem jelenik meg a hivatkozás relációjának idegen kulcs oszlopában. Mivel a beszúrás nem korlátozza az elsődleges kulcsot.

A tábla elsődleges kulcsa, ha egy másik táblázatban használják, akkor idegen kulccsá válik a tábla számára. Az alábbiakban tárgyaljuk a külföldi kulcskorlátozásokat.

Az idegen kulcs meghatározása

Amikor egy kapcsolat R1jellemzői között a elsődleges kulcs más kapcsolat R2, akkor ezt az attribútumot hívják Idegen kulcs kapcsolatban R1. A kapcsolat R1 az idegen kulcsot tartalmazó hívják hivatkozási kapcsolat mivel az R2 és a reláció elsődleges kulcsára utal R2 nak, nek hívják hivatkozott kapcsolat.
Az elsődleges kulccsal ellentétben az idegen kulcs képes elfogadni NULLA értékek, mert nem feladata egy rekordot viszonylag pontosan azonosítani, mivel ennek elsődleges kulcsa van. Ugyanígy, az idegen kulcs is elfogadja duplikált értékek.

A kapcsolatnak lehet többszörös idegen kulcsok, mivel különféle attribútumokkal rendelkezhetnek, amelyek elsődleges kulcsok a különböző kapcsolatokban. Idegen kulcskorlátozás lehetséges nem meg kell határozni a ideiglenes táblák, sem egy idegen kulcs a klaszter-indexelt tulajdonság.

Míg behelyezése adjon meg egy értéket a referencia reláció idegen kulcs oszlopába, győződjön meg arról, hogy a beszúrási értéknek jelen kell lennie a hivatkozott kapcsolat elsődleges kulcs oszlopában. Míg azonban nincs korlátozás törlés egy érték az idegen kulcs oszlopból.

  1. Az elsődleges egy attribútumok / jelölt kulcs, amely kifejezetten azonosítja a rekordot egy relációban. A táblában szereplő idegen kulcs azonban egy másik tábla elsődleges kulcsára utal.
  2. Az elsődleges kulcs attribútumok nem tartalmazhatnak NULL értékeket, míg egy idegen kulcs attribútumok elfogadhatják a NULL értékeket.
  3. Az elsődleges kulcsnak egyedi attribútumértékekkel kell rendelkeznie, míg az idegen kulcsnak ismétlődő attribútumértékei lehetnek.
  4. Lehet, hogy több idegen kulcs van egy relációban, de a relációnak csak egy elsődleges kulcsa van.
  5. Az elsődleges kulcskorlátozás alkalmazható az ideiglenes táblákra. Az idegen kulcsok korlátozása azonban nem alkalmazható az ideiglenes táblákra.
  6. Az elsődleges kulcs alapértelmezés szerint fürtön van indexelve, míg az idegen kulcsot nem automatikusan csoportosítják, de manuálisan is meg lehet csinálni.
  7. Miközben egy értéket beilleszt egy idegen kulcs oszlopba, ellenőrizze, hogy a beszúró attribútum értéke meg van-e a hivatkozott elsődleges kulcs oszlopban. Az elsődleges kulcs oszlopba történő beillesztés azonban nincs korlátozva.
  8. Miközben törli az értéket az elsődleges kulcs oszlopából, ellenőrizze, hogy a törölt attribútumérték nincs-e a hivatkozó idegen kulcs oszlopban. Az érték törlése idegen kulcs oszlopból azonban nem korlátozott.

Következtetés:

Mind az elsődleges, mind az idegen kulcs elengedhetetlen a séma létrehozásához. Az elsődleges kulcs az egyes kötegeket egy kapcsolatban határozza meg egyedileg, míg egy idegen kulcsot használunk kapcsolat létrehozására a két kapcsolat között.