Razlika između primarnog i stranog ključa u DBMS-u

Autor: Laura McKinney
Datum Stvaranja: 1 Travanj 2021
Datum Ažuriranja: 11 Svibanj 2024
Anonim
Primary key and Foreign Key in DBMS
Video: Primary key and Foreign Key in DBMS

Sadržaj


Ključevi su ključni dio DBMS-a koji se koriste za prepoznavanje i uspostavljanje odnosa između tablica u shemi. Danas ćemo razgovarati o dva vrlo važna ključa DBMS, tj. Primarnom i vanjskom ključu, a također ćemo razgovarati o razlici između primarnog i stranog ključa. Na putu ću vam reći da je osnovna razlika između primarnog i stranog ključa koji je primarni ključ jedan od odabranih kandidatskih ključeva od dizajnera baze podataka, dok je strani ključ ključ koji se odnosi na primarni ključ drugog odnosa.

Postoje i mnoge druge razlike između ove dvije, prepoznajmo te razlike pomoću nižeg prikaza usporedbe.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbuOsnovni ključStrani kljuc
Osnovni, temeljniPrimarni ključ je ključ odabranog kandidata koji jedinstveno definira preklop u odnosu.Strani ključ u tablici odnosi se na primarni ključ druge tablice.
NULLVrijednost primarnog ključa nikada ne može biti NULL.Strani ključ prihvaća NULL vrijednost.
DuplikatNijedna dva tapis u odnosu ne nose duplicirane vrijednosti za atribut primarnog ključa.Tupleji mogu imati dvostruku vrijednost za atribut stranog ključa.
opsegMože postojati samo jedan primarni ključ odnosa.U vezi može biti više stranih ključeva.
Privremeni stolPrimarno ograničenje ključa može se definirati na privremenim tablicama.Ograničenje stranog ključa ne može se definirati na privremenim tablicama.
Indeks klasteraPrema zadanim postavkama, primarni se ključ indeksira.Strani se ključ ne indeksira automatski; to se mora obaviti ručno.
UmetanjeMožemo umetnuti vrijednost atributa primarnog ključa, čak i ako referentni strani ključ nema tu vrijednost u svom stupcu.Ne možemo umetnuti vrijednost u inozemni ključ ako ta vrijednost ne postoji u stupcu referentnog primarnog ključa.
BrisanjePrije nego što izbrišete vrijednost primarnog ključa, provjerite je li vrijednost još uvijek prisutna u stupcu referentne tablice s inozemnim ključem.Možete izbrisati vrijednost iz stupca stranog ključa bez muke, je li ta vrijednost prisutna u referentnom stupcu primarnog ključa u odnosu na odnos.


Definicija primarnog ključa

Primarni ključ jedinstveno definira tupole u odnosu. To može biti pojedinačni atribut u odnosu ili može biti skup atributa u odnosu. Vrijednost atributa primarnog ključa trebala bi nikad ili rijetko promijenjena, Budući da je to glavna, znači identificirati bilo koji zapis u bazi podataka. Promjena vrijednosti bilo kojeg atributa primarnog ključa stvorila bi zbrku.

Dizajner baze podataka odabrao je jedan od kandidat ključevi kao primarni ključ uzimajući u obzir neke točke. Prvo razmatranje vrijednost atributa primarnog ključa nikada ne može sadržavati NULL vrijednost. Jer, ako vrijednost atributa primarnog ključa sadrži NULL, to znači da ne možemo prepoznati taj zapis u tablici. Također krši ograničenje cjelovitosti entiteta. Drugo razmatranje je, nema dva tupola u tablici može sadržavati isti vrijednost za atribut primarnog ključa, jer bi narušio jedinstvenost meda.


Samo ih može biti jedan primarni ključ za bilo koji odnos, Primarni je ključ prema zadanim postavkama cluster indeksiranih, što znači da se svi podešavanja u tablici razvrstavaju na temelju vrijednosti atributa primarnih ključeva. Ograničenje primarnog ključa može se definirati na privremeni stol, Posredničke tablice stvorene tijekom izvršenja upita zovu se privremenim tablicama.

Dok brisanje vrpca iz relacije, treba voditi računa da vrijednost primarnog ključa izbrisanog kopča još uvijek nije prisutna u stupcu stranog ključa referentnog odnosa. Dok umetanje nema ograničenja u primarnom ključu.

Primarni ključ tablice kada se koristi u nekoj drugoj tablici, tada postaje strani ključ za tu tablicu. Ograničenja stranih ključeva razmatrana su u nastavku.

Definicija stranog ključa

Kad odnos R1, među njegovim atributima ima i osnovni ključ drugog odnosa R2, tada se taj atribut zove Strani kljuc za odnos R1, Odnos R1 koja sadrži strani ključ naziva se odnos referenciranja jer se odnosi na primarni ključ odnosa R2 i relacije R2 Zove se referentni odnos.
Za razliku od primarnog ključa, strani ključ može prihvatiti NULL vrijednosti jer, on nema zadatak prepoznati zapis u relaciji, jer za to imamo primarni ključ. Na isti način prihvaća i strani ključ duplikate vrijednosti.

Veza može imati višekratnik strane ključeve, jer može imati različite atribute koji su primarni ključevi u različitim odnosima. Ograničenje stranih ključeva može ne biti definirani na privremene tablice, ni strani ključ je a cluster indeksiranih atribut.

Dok umetanje vrijednost u stupcu stranog ključa referentnog odnosa, provjerite da vrijednost umetanja mora biti prisutna u stupcu referentnog stupnja primarnog ključa. Dok nema ograničenja za to vrijeme brisanje vrijednost iz stupca stranog ključa.

  1. Primarni je skup atributa / kandidatski ključ koji jasno identificira zapis u odnosu. Međutim, strani ključ u tablici odnosi se na primarni ključ druge tablice.
  2. Nijedan atribut primarnog ključa ne može sadržavati NULL vrijednosti, dok atribut stranog ključa može prihvatiti NULL vrijednost.
  3. Primarni ključ trebao bi imati jedinstvene vrijednosti atributa, dok strani ključ može imati dvostruke vrijednosti atributa.
  4. U odnosu može biti više stranih ključeva, ali odnos ima samo jedan primarni ključ.
  5. Ograničenje primarnog ključa može se primijeniti na privremene tablice. Međutim, ograničenje stranog ključa ne može se primijeniti na privremene tablice.
  6. Primarni ključ se zadano indeksira u klasteru, dok se inozemni ključ ne indeksira automatski, već se može izvršiti ručno.
  7. Dok umetate vrijednost u stupac stranog ključa, provjerite je li vrijednost atributa umetanja prisutna u referenciranom stupcu primarnog ključa. Međutim, ne postoji ograničenje umetanja u stupac primarnog ključa.
  8. Dok brišete vrijednost iz stupca primarnog ključa, provjerite da vrijednost izbrisanog atributa nije prisutna u referentnom stupcu stranog ključa. Međutim, nema ograničenja za brisanje vrijednosti iz stupca stranog ključa.

Zaključak:

I osnovni i strani ključ su važni za shemu. Primarni ključ definira svaki svod u odnosu na jedinstven način, dok se strani ključ koristi za stvaranje veze između dva odnosa.