Pirminis raktas ir unikalus raktas: koks skirtumas?

Kas yra pagrindinis raktas?

Pagrindinis rakto apribojimas yra stulpelis arba stulpelių grupė lentelėje, unikaliai identifikuojanti visas tos lentelės eilutes. Pagrindinis raktas negali būti pasikartojantis, vadinasi, ta pati reikšmė lentelėje negali būti rodoma daugiau nei vieną kartą.

Lentelėje turėtų būti daugiau nei vienas pagrindinis raktas. Pirminį raktą galima apibrėžti stulpelio arba lentelės lygiu. Jei kuriate sudėtinį pirminį raktą, jis turėtų būti apibrėžtas lentelės lygiu.

Šioje pamokoje sužinosite:

  • Kas yra pagrindinis raktas?
  • Kas yra unikalus raktas?
  • Kodėl naudoti pirminį raktą?
  • Kodėl verta naudoti unikalų raktą?
  • Pirminio rakto ypatybės
  • Unikalaus rakto ypatybės
  • Pirminio rakto kūrimo pavyzdys
  • Unikalaus rakto kūrimo pavyzdys
  • Skirtumas tarp pirminio rakto ir unikalaus rakto
  • Kas geriau?

Kas yra unikalus raktas?

Unikalus raktas yra vieno ar kelių lentelės laukų ar stulpelių grupė, unikaliai identifikuojanti duomenų bazės įrašą.

Unikalus raktas yra tas pats, kas pagrindinis, bet jis gali priimti vieną nulinę lentelės stulpelio vertę. Jame taip pat negali būti identiškų verčių. Į unikalius apribojimus nurodo svetimas kitų lentelių raktas.

PAGRINDINIAI SKIRTUMAI

  • Lentelėje gali būti vienas pagrindinis raktas, o lentelėje gali būti keli unikalūs raktai.
  • Pirminio rakto paskirtis yra užtikrinti objekto vientisumą, kita vertus, unikalaus rakto paskirtis - užtikrinti unikalius duomenis.
  • Pagrindiniame rakte numatytasis indeksas yra sugrupuotas, o unikaliame rakte numatytasis indeksas nėra grupuojamas
  • Pirminis raktas neleidžia tuščių stulpelių, o unikalus neleidžia stulpelių.
  • Pirminiame rakte pasikartojantys raktai neleidžiami, kai yra unikalus raktas, jei viena ar daugiau raktų dalių yra nulinės, tada leidžiami raktų kopijos.

Kodėl naudoti pirminį raktą?

Čia pateikiamos svarbios pagrindinio rakto naudojimo priežastys:

  • Pagrindinis pirminio rakto tikslas yra identifikuoti kiekvieną įrašą duomenų bazės lentelėje.
  • Pirminį raktą galite naudoti, kai neleidžiate kam nors įvesti nulinių verčių.
  • Jei ištrinsite ar atnaujinsite įrašą, nurodytas veiksmas bus atliktas siekiant užtikrinti duomenų bazės duomenų vientisumą.
  • Atlikite apribojimo operaciją, norėdami atmesti pirminės lentelės ištrynimo arba atnaujinimo operaciją.
  • Duomenys yra tvarkomi sugrupuoto indekso seka, kai fiziškai tvarkote DBVS lentelę.

Kodėl verta naudoti unikalų raktą?

Čia pateikiamos svarbios unikalaus rakto naudojimo priežastys:

  • Unikalaus rakto tikslas - įsitikinti, kad kiekvieno lentelės įrašo stulpelio informacija yra unikali.
  • Kai leidžiate vartotojui įvesti nulinę vertę.
  • Naudojamas unikalus raktas, nes pagal numatytuosius nustatymus jis sukuria neklasterizuotą indeksą.
  • Unikalų raktą galima naudoti, kai stulpelyje turite laikyti nulines reikšmes.
  • Kai vienas ar keli lentelės laukai / stulpeliai, kurie unikaliai identifikuoja įrašą duomenų bazės lentelėje.

Pirminio rakto ypatybės

Čia pateikiamos svarbiausios pirminio rakto savybės:

  • Pagrindinis raktas įgyvendina lentelės esybės vientisumą.
  • Lentelėje galite laikyti tik vieną pagrindinį.
  • Pagrindiniame rakte yra vienas ar keli lentelės stulpeliai.
  • Stulpeliai apibrėžiami kaip niekiniai.

Unikalaus rakto ypatybės

Čia pateikiamos svarbios unikalaus rakto savybės:

  • Lentelėje galite apibrėžti daugiau nei vieną unikalų raktą.
  • Pagal numatytuosius nustatymus unikalūs raktai yra nesusitelktuose unikaliuose indeksuose.
  • Tai sudaro vienas ar keli lentelių stulpeliai.
  • Lentelės stulpelis gali būti nulinis, tačiau pageidautina tik vienas nulinis stulpelis.
  • Unikalų suvaržymą galima lengvai nurodyti užsienio rakto apribojimu.

Pirminio rakto kūrimo pavyzdys

Šiame pavyzdyje aprašoma, kad yra lentelė, vadinama studentu. Joje yra penki atributai, 1) „StudID“, 2) sąrašo Nr., 3) vardas, 4) pavardė ir 5) el. Paštas.

Atribute „Roll No“ niekada negali būti pasikartojančios ar nulinės vertės. Taip yra todėl, kad kiekvienas į universitetą įstojęs studentas gali turėti unikalų sąrašą. Kiekvieną lentelės eilutę galite lengvai identifikuoti su mokinio sąrašo numeriu. Taigi jis laikomas pagrindiniu raktu.

Pagrindinio rakto pavyzdys

Unikalaus rakto kūrimo pavyzdys

Apsvarstykite tą pačią studentų lentelę su atributais, 1) „StudID“, 2) sąrašo Nr., 3) vardą, 4) pavardę ir 5) el. Paštą.

Stud ID gali turėti unikalų apribojimą, kai įrašai Stud ID stulpelyje gali būti unikalūs, nes kiekvienas universiteto studentas turi turėti unikalų ID numerį. Tuo atveju, jei studentas keičia universitetą, tokiu atveju jis neturėtų studijos pažymėjimo. Įrašas gali turėti nulinę vertę, nes unikalaus rakto apribojime leidžiama naudoti tik vieną nulį.

Unikalus pagrindinis pavyzdys

Skirtumas tarp pirminio rakto ir unikalaus rakto

Čia yra svarbūs pirminio rakto ir unikalaus rakto skirtumai:

Pirminis raktas Unikalus raktas
Lentelėje gali būti vienas pagrindinis raktas Lentelėje gali būti keli unikalūs raktai
Tai neleidžia tuščių stulpelių. Tai leidžia nulinius stulpelius.
Numatytasis indeksas yra sugrupuotas Numatytasis indeksas nėra sugrupuotas
Pirminio rakto tikslas yra užtikrinti subjekto vientisumą. Unikalaus rakto paskirtis yra užtikrinti unikalius duomenis.
Pirminį raktą galima sukurti naudojant sintaksę:
CREATE TABLE Employee(ID int PRIMARY KEY,Name varchar(255),City varchar(150))
Unikalų raktą galima sukurti naudojant sintaksę:
CREATE TABLE Employee(ID int UNIQUE.Name varchar(255) NOT NULL. City varchar(150))
Tai yra SQL apribojimas, leidžiantis unikaliai identifikuoti kiekvieną įrašą ar eilutę duomenų bazės lentelėje. Tai yra SQL apribojimas, kuris neleidžia tos pačios vertės priskirti dviem „isolRecords“ duomenų bazės lentelėje.
Pagrindiniame rakte pasikartojantys raktai neleidžiami. Unikaliame rakte, jei viena ar kelios pagrindinės dalys yra nulinės, leidžiama dublikuoti raktus.

Kas geriau?

  • Unikalus raktas yra geresnis, kai turite stulpelių, kuriuos žinote, kad neturėtų būti dubliavimo. Tai tampa geru būdu užtikrinti, kad duomenys būtų patvirtinti.
  • Pagrindinis raktas yra idealus, kai negalite lentelėje laikyti nulinės vertės. Jis taip pat gali būti naudojamas, kai kitoje lentelėje turite užsienio raktą santykiams kurti.

Įdomios straipsniai...