Oluline erinevus esmase võtme ja unikaalse võtme vahel on see, et esmane võti ei aktsepteeri NULL-väärtusi, samas kui NULL-väärtused on lubatud unikaalsete võtmepiirangute piires.
Võrdluskaart
Võrdluse alus | Esmane võti | Unikaalne võti |
---|---|---|
Põhiline | Seda kasutatakse iga tabeli rea kordumatu identifikaatorina. | Samuti määrab see unikaalselt ära rea, mida ei ole määratletud primaarvõtmena. |
NULL väärtuse aktsepteerimine | Esmane võti ei aktsepteeri NULL väärtusi. | Unikaalne aktsepteerib NULL väärtust. |
Tabelis määratletavate võtmete arv | Ainult üks esmane võti | Rohkem kui üks |
Indeks | Loob klastrite indeksi | Loob mittekombinatsiooniga indeksi |
Esmane võtme määratlus
Veeru võib nimetada selle tabeli esmane võtmeks, kui see identifitseerib unikaalselt iga tabeli järjekorra (rea). See rakendab tabelis terviklikkuse piiranguid. Tabelis on lubatud ainult üks esmane võti. Esmane võti ei aktsepteeri dubleeritud ja NULL väärtusi. Esmane võti valitakse hoolikalt, kui muutused võivad esineda harva, tähendab, et tabelis esmane võti muutub väga harva.
Mõistame tabeli abil esmase võtme mõistet. Loome siin tabeli nimega Student table, millel on sellised atribuudid nagu Roll_number, Name, Batch, Phone_number, Citizen_ID.
Esmane võti võib viidata võõrvõti abil. See loob lauale unikaalse klastrite indeksi . Klastrite indeksis sorteeritakse ja salvestatakse andmegrupid tabelis või vaadetes selle põhiväärtuste alusel. Tabelis võib olla ainult üks klastrite indeks, mille põhjuseks on see, et tabeli andmeliine saab sorteerida ainult ühes järjekorras.
Unikaalse võtme määratlus
Sarnaselt esmase võtmega identifitseerib unikaalsed võtmepiirangud ka individuaalse tuple suhetes unikaalselt. Kuid nende vahel on teatavaid erinevusi. Tabelis võib olla rohkem kui üks unikaalne võti. Unikaalsed võtmepiirangud võivad aktsepteerida ainult ühte NULL väärtust veerule.
Mõistame seda sarnase näitega, kus meil oli õpilaste tabel Roll_number, Name, Batch, Phone_number ja Citizen_ID atribuutidega. Rulli numbri atribuut on määratud esmase võtmega.
Ainulaadseid piiranguid viitab ka võõrvõti. Seda saab kasutada siis, kui keegi soovib rakendada piiranguid veerus ja veergude rühmas, mis ei ole esmane võti. Erinevalt primaarsest võtmest genereerib see mitte-klastrite indeksi . Mitte-klastrite indeksitel on andmete ridadest eraldiseisev struktuur. Iga selle võtmeväärtuse kirje viitab andmereale, mis sisaldab põhiväärtust, seega kasutab ta viiteid.
Peamised erinevused esmase võtme ja unikaalse võtme vahel
- Kui atribuut, mis on deklareeritud esmase võtmena, ei aktsepteeri NULL väärtusi. Teisest küljest, kui atribuut, mis on deklareeritud ainulaadsena, võib vastu võtta ühe NULL väärtuse.
- Tabelil võib olla ainult esmane võti, samas kui tabelis võib olla mitu unikaalset piirangut.
- Klastrite indeks luuakse automaatselt, kui primaarvõti on määratletud. Seevastu Unique klahv loob mitteklastrite indeksi.
Järeldus
Esmane võti ja Unikaalne võti täidavad tabeli ridade unikaalsete identifikaatorite eesmärki veerus või veergude rühmas olevate unikaalsete väärtustega. Need peamised piirangud on märkimisväärselt diferentseeritud, kui igal tabelil on maksimaalselt üks primaarne võti, samas kui tabelis võib olla mitu unikaalset võtit, mis ei ole esmane.