Razlika med primarnim in tujim ključem v DBMS

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 12 Maj 2024
Anonim
Primary key and Foreign Key in DBMS
Video.: Primary key and Foreign Key in DBMS

Vsebina


Ključi so ključni del DBMS, s katerim se prepoznajo in vzpostavijo povezavo med tabelami v shemi. Zdaj bomo razpravljali o dveh zelo pomembnih ključih sistema DBMS, tj. Primarnem in tujem ključu, razpravljali pa bomo tudi o razliki med primarnim in tujim ključem. Na poti naj vam povem, da je osnovna razlika med primarnim in tujim ključem, ki je primarni ključ, eden od izbranih kandidatnih ključev s strani oblikovalca baze podatkov, tuječ pa je ključ, ki se nanaša na primarni ključ drugega razmerja.

Obstaja veliko drugih razlik med tema dvema, ugotovimo te razlike s pomočjo spodnje primerjalne tabele.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoPrimarni ključTuji ključ
OsnovniPrimarni ključ je izbrani ključ, ki enolično definira nabor v odnosu.Tuji ključ v tabeli se nanaša na primarni ključ druge tabele.
NIČVrednost primarnega ključa nikoli ne more biti NULL.Tuji ključ sprejme NULL vrednost.
PodvojenoNobena dva tupola v relaciji nimata podvojene vrednosti za atribut primarnega ključa.Tuple lahko nosijo podvojeno vrednost za atribut tujega ključa.
DometObstaja lahko le en primarni ključ odnosa.V zvezi je lahko več tujih ključev.
Začasna mizaOmejitev primarnega ključa je mogoče določiti v začasnih tabelah.Omejitve tujih ključev v začasnih tabelah ni mogoče določiti.
Indeks grozdaPrimarni ključ je privzeto indeksiran v gruči.Tuji ključ se ne grupira v indeks samodejno; to je treba storiti ročno.
VstavitevV atribut primarnega ključa lahko vstavimo vrednost, tudi če referenčni tuji ključ nima te vrednosti v svojem stolpcu.V tuji ključ ne moremo vstaviti vrednosti, če ta vrednost ni v stolpcu referenčnega primarnega ključa.
ČrtanjePreden izbrišete vrednost primarnega ključa, se prepričajte, da vrednost še vedno ni prisotna v stolpcu referenčne tabele s referenčnim tujim ključem.Vrednost lahko izbrišete iz stolpca tujega ključa, ne da bi se motili, ali je ta vrednost v referenčnem stolpcu primarnega ključa v referenčnem razmerju.


Opredelitev primarnega ključa

Primarni ključ edinstveno definira tupole v odnosu. Lahko je en atribut v relaciji ali pa je niz atributov v odnosu. Vrednost atributa primarnega ključa bi morala nikoli ali redko spremenjena. Ker je glavna, pomeni identificirati kateri koli zapis v bazi podatkov. Sprememba katere koli vrednosti atributa primarnega ključa bi povzročila zmedo.

Oblikovalec baz podatkov izbere enega izmed kandidatni ključi kot primarni ključ, pri čemer upoštevamo nekatere točke. Prvo upoštevanje vrednosti atributa primarnega ključa ne more nikoli vsebovati NIČ vrednost. Ker če vrednost atributa primarnega ključa vsebuje NULL, to pomeni, da tega zapisa ne moremo prepoznati v tabeli. Krši tudi omejitev integritete entitete. Drugi premislek je: brez dveh tupolov v tabeli lahko vsebuje enako vrednost za atribut primarnega ključa, saj bi kršil edinstvenost med tupoli.


Lahko je le en primarni ključ za vse razmerje. Primarni ključ je privzeto grozdov, kar pomeni, da so vsi uredi v tabeli razvrščeni glede na vrednosti atributov primarnih ključev. Omejitev primarnega ključa je mogoče določiti na a začasna miza. Vmesne tabele, ustvarjene med izvajanjem poizvedbe, se imenujejo začasne tabele.

Medtem brisanje Tuple iz relacije, moramo paziti, da vrednost primarnega ključa izbrisanega nabora še vedno ni prisotna v stolpcu tujega ključa relacije. Ker je vstavitev nima omejitev primarnega ključa.

Primarni ključ tabele, ko se uporablja v neki drugi tabeli, potem postane tuji ključ za to tabelo. Spodnje ključne omejitve so obravnavane v nadaljevanju.

Opredelitev tujega ključa

Ko odnos R1, med svojimi atributi ima a primarno ključ drugega odnosa R2, se imenuje ta atribut Tuji ključ za odnos R1. Razmerje R1 se nahaja tuji ključ referenčni odnos saj se nanaša na primarni ključ relacije R2 in relacije R2 se imenuje referenčni odnos.
Za razliko od primarnega ključa lahko tuji ključ sprejme NIČ vrednosti, ker nima naloge, da bi zapis ločeno določil, saj imamo za to primarni ključ. Na enak način sprejema tudi tuji ključ podvojene vrednosti.

Razmerje ima lahko večkraten tujih ključev, saj ima lahko različne atribute, ki so primarni ključi v različnih odnosih. Omejitev tujih ključev lahko ne se opredeli na začasne mize, niti tuji ključ je grozdov atribut.

Medtem vstavljanje vrednost v stolpcu referenčnega razmerja v tujem ključu, preverite, ali mora biti vrednost vstavljanja v stolpcu primarnega ključa referenčnega razmerja. Medtem, medtem ko ni omejitev brisanje vrednost iz stolpca tujega ključa.

  1. Primarni je niz atributov / kandidatni ključ, ki jasno identificira zapis v odnosu. Tuji ključ v tabeli pa se nanaša na primarni ključ druge tabele.
  2. Nobeni atributi primarnega ključa ne morejo vsebovati vrednosti NULL, medtem ko atribut tujega ključa lahko sprejme vrednost NULL.
  3. Primarni ključ mora imeti edinstvene vrednosti atributa, medtem ko ima tuji ključ podvojene vrednosti atributa.
  4. V zvezi je lahko več tujih ključev, vendar ima odnos le en primarni ključ.
  5. Omejitev primarnega ključa se lahko uporabi za začasne tabele. Omejitve tujih ključev ni mogoče uporabiti za začasne tabele.
  6. Primarni ključ je privzeto gručo indeksiran, medtem ko tuji ključ ni samodejno indeksiran v grozdu, ampak ga je mogoče narediti ročno.
  7. Medtem ko vrednost vstavite v stolpec tujega ključa, preverite, ali je vrednost atributa vstavljanja v referenčnem stolpcu primarnega ključa. Vendar v stolpcu primarnega ključa ni omejitev vstavljanja.
  8. Medtem ko brišete vrednost iz stolpca primarnega ključa, se prepričajte, da vrednost izbrisanega atributa ni v referenčnem stolpcu s tujim ključem. Vendar ni nobene omejitve za brisanje vrednosti iz stolpca s tujim ključem.

Zaključek:

Za shemo sta ključnega pomena tako primarni kot tuji ključ. Primarni ključ definira vsak nabor v relaciji, medtem ko se tuji ključ uporablja za povezavo med dvema odnosoma.