Esmane võti vs kordumatu võti: mis vahe on?

Lang L: none (table-of-contents):

Anonim

Mis on esmane võti?

Esmane võtmepiirang on tabeli veerg või veerugrupp, mis identifitseerib selle tabeli iga rea ​​kordumatult. Peamine võti ei saa olla duplikaat, see tähendab, et sama väärtus ei saa tabelis ilmuda rohkem kui üks kord.

Tabelis peaks olema rohkem kui üks esmane võti. Esmase võtme saab määratleda veeru või tabeli tasemel. Kui loote liitvõtme, peaks see olema määratletud tabeli tasemel.

Selles õpetuses saate teada:

  • Mis on esmane võti?
  • Mis on unikaalne võti?
  • Miks kasutada esmast võtit?
  • Miks kasutada unikaalset võtit?
  • Esmase võtme omadused
  • Unikaalse võtme omadused
  • Näide esmase võtme loomisest
  • Näide unikaalse võtme loomisest
  • Erinevus esmase võtme ja ainulaadse võtme vahel
  • Mis on parem?

Mis on unikaalne võti?

Unikaalne võti on rühm, mis koosneb ühest või mitmest tabeli väljast või veerust, mis identifitseerivad andmebaasi kirje üheselt.

Unikaalne võti on sama mis esmane võti, kuid see võib tabeli veeru jaoks aktsepteerida ühe nullväärtuse. Samuti ei tohi see sisaldada identseid väärtusi. Ainulaadsetele piirangutele viidatakse teiste tabelite võõrvõtmega.

PÕHISED VAHED

  • Tabelis võib olla üks esmane võti, samas kui tabelis võib olla mitu kordumatut võtit.
  • Esmase võtme eesmärk on jõustada üksuse terviklikkust ja teiselt poolt unikaalse võtme eesmärk on jõustada unikaalseid andmeid.
  • Esmases võtmes on vaikimisi indeks rühmitatud, samas kui unikaalses võtmes pole vaikeregister klastriline
  • Esmane võti ei luba tühiseid veerge, kordumatu aga null-veerge.
  • Esmases võtmes pole duplikaatvõtmed unikaalses võtmes lubatud, kui üks või mitu võtmeosa on null, on duplikaatvõtmed lubatud.

Miks kasutada esmast võtit?

Siin on peamise võtme kasutamise olulised põhjused:

  • Esmase võtme peamine eesmärk on identifitseerida iga andmebaasitabeli kirje.
  • Esmast võtit saate kasutada siis, kui te ei luba kellelgi nullväärtusi sisestada.
  • Kui kustutate või värskendate kirjet, tehakse teie määratud toiming, et tagada andmebaasi andmete terviklikkus.
  • Tehke piirangutoiming vanematabeli kustutamise või värskendamise tagasilükkamiseks.
  • Andmed on korraldatud rühmitatud indeksite järjestuses alati, kui korraldate DBMS-i tabelit füüsiliselt.

Miks kasutada unikaalset võtit?

Siin on olulised põhjused unikaalse võtme kasutamiseks:

  • Unikaalse võtme eesmärk on veenduda, et iga tabelikirje veerus olev teave on ainulaadne.
  • Kui lubate kasutajal sisestada nullväärtuse.
  • Kasutatakse ainulaadset võtit, kuna see loob vaikimisi klastrita registri.
  • Unikaalset võtit saab kasutada siis, kui peate veerus hoidma nullväärtusi.
  • Kui üks või mitu tabeli välja / veergu, mis identifitseerivad andmebaasi tabelis kirje ainulaadselt.

Esmase võtme omadused

Siin on peamise võtme olulised omadused:

  • Esmane võti rakendab tabeli terviku terviklikkuse.
  • Tabelis saate hoida ainult ühte põhiteavet.
  • Esmane võti sisaldab ühte või mitut tabeliveergu.
  • Veerud on määratletud kui nullid.

Unikaalse võtme omadused

Siin on unikaalse võtme olulised omadused:

  • Tabelis saate määratleda mitu unikaalset võtit.
  • Vaikimisi on unikaalsed võtmed klastrita unikaalsetes indeksites.
  • See koosneb ühest või mitmest tabeliveerust.
  • Tabeli veerg võib olla null, kuid eelistatav on ainult üks null veeru kohta.
  • Unikaalsele piirangule saab hõlpsasti viidata võõra võtme piiranguga.

Näide esmase võtme loomisest

Järgmine näide kirjeldab, et on olemas tabel nimega õpilane. See sisaldab viit atribuuti, 1) StudID, 2) nimekirja nr, 3) eesnime, 4) perekonnanime ja 5) e-posti aadressi.

Atribuut Roll No ei tohi kunagi sisaldada duplikaati ega nullväärtust. Sellepärast, et igal ülikooli õppinud üliõpilasel võib olla ainulaadne nimekiri. Iga tabeli rida saate hõlpsasti tuvastada õpilase nimekirja numbriga. Nii et seda peetakse peamiseks võtmeks.

Peamise võtme näide

Näide unikaalse võtme loomisest

Vaatleme sama õpilaste tabelit koos atribuutidega, 1) StudID, 2) nimekirja nr, 3) eesnimi, 4) perekonnanimi ja 5) e-post.

Stud ID-l võib olla ainulaadne piirang, kus Stud ID ID veeru kirjed võivad olla unikaalsed, kuna igal ülikooli üliõpilasel peab olema kordumatu ID-number. Juhul, kui üliõpilane vahetab ülikooli, pole sel juhul tal ühtegi üliõpilase isikutunnistust. Kirjel võib olla nullväärtus, kuna ainulaadse võtme piirangus on lubatud ainult üks null.

Ainulaadne võti

Erinevus esmase võtme ja ainulaadse võtme vahel

Siin on olulised erinevused primaarvõtme ja kordumatu võtme vahel:

Esmane võti Ainulaadne võti
Tabelis võib olla üks peamine võti Tabelis võib olla mitu unikaalset võtit
See ei luba tühiseid veerge. See lubab nullveerge.
Vaikimisi register on rühmitatud Vaikimisi register on klastrita
Esmase võtme eesmärk on jõustada üksuse terviklikkust. Unikaalse võtme eesmärk on jõustada unikaalseid andmeid.
Peamise võtme saab luua süntaksit kasutades:
CREATE TABLE Employee(ID int PRIMARY KEY,Name varchar(255),City varchar(150))
Unikaalse võtme saab luua süntaksit kasutades:
CREATE TABLE Employee(ID int UNIQUE.Name varchar(255) NOT NULL. City varchar(150))
See on SQL-i piirang, mis võimaldab teil andmebaasi tabeli iga kirjet või rida ainulaadselt tuvastada. See on SQL-i piirang, mis ei võimalda sama väärtust määrata kahele eraldatud kirjele andmebaasi tabelis.
Esmases võtmes pole duplikaatvõtmed lubatud. Kui unikaalses võtmes on üks või mitu võtmeosa null, on lubatud duplikaatvõtmed.

Mis on parem?

  • Unikaalne võti on parem, kui teil on veerge, millest teate, et need ei tohiks sisaldada dubleerimist. Sellest saab hea viis andmete valideerimise tagamiseks.
  • Esmane võti on ideaalne, kui te ei saa tabelis nullida. Seda saab kasutada ka siis, kui teil on suhte loomiseks teises tabelis võõras võti.