Esminis skirtumas tarp pirminio rakto ir unikalaus rakto yra tas, kad pirminis raktas nepriima NULL reikšmių, o NULL reikšmės yra leidžiamos pagal unikalius rakto apribojimus.
Palyginimo diagrama
Palyginimo pagrindas | Pirminis raktas | Unikalus raktas |
---|---|---|
Pagrindinis | Jis naudojamas kaip kiekvienos lentelės eilutės unikalus identifikatorius. | Ji taip pat išskirtinai nustato eilutę, kuri nėra apibrėžta kaip pirminis raktas. |
NULL vertės priėmimas | Pirminis raktas nepriims NULL reikšmių. | Unikalus priims NULL reikšmę. |
Raktų, kuriuos galima apibrėžti lentelėje, skaičius | Tik vienas pagrindinis raktas | Daugiau nei vienas |
Indeksas | Sukuria grupinį indeksą | Sukuria ne grupinį indeksą |
Pirminio rakto apibrėžimas
Stulpelis gali būti vadinamas pagrindiniu jos lentelės raktu, jei jis unikaliai identifikuoja kiekvieną lentelės eilutę (eilutę). Jis užtikrina stalo vientisumo suvaržymus. Lentelėje leidžiama naudoti tik vieną pirminį raktą. Pirminis raktas nepriima dublikatų ir NULL reikšmių. Pirminis raktas pasirenkamas atsargiai, kai pokyčiai gali įvykti retai, o tai reiškia, kad pagrindinis lentelės raktas labai retai keičiasi.
Suprasime pirminio rakto sąvoką stalo pagalba. Čia mes sukuriame lentelę, pavadintą „Studentų lentelė“, kurioje yra atributai, tokie kaip „Roll_number“, „Name“, „Batch“, „Phone_number“, „Citizen_ID“.
Pirminį raktą galima nurodyti užsienio raktu. Jis sukuria unikalų grupinį indeksą ant stalo. Klasifikuojamame indekse duomenų eilutės surūšiuotos ir saugomos lentelėje arba vaizduose pagal jos pagrindines vertes. Lentelėje gali būti tik vienas suskirstytas indeksas, kurio priežastis yra ta, kad lentelės duomenų eilutės gali būti rūšiuojamos tik viena tvarka.
Unikalaus rakto apibrėžimas
Panašus į pirminį raktą, „ Unikalūs raktų apribojimai“ taip pat identifikuoja atskirą paketą vienareikšmiškai ryšyje. Tačiau tarp jų yra tam tikrų skirtumų. Lentelėje gali būti daugiau nei vienas unikalus raktas. Unikalūs raktų apribojimai gali priimti tik vieną NULL reikšmę stulpui.
Suprasime tai panašiu pavyzdžiu, kuriame turėjome Studentų lentelę su Roll_number, Name, Batch, Phone_number ir Citizen_ID atributais. Ritinio numerio atributas priskiriamas pirminiam raktui.
Unikalius apribojimus taip pat nurodo užsienio raktas. Jis gali būti naudojamas, kai kas nors nori įgyvendinti apribojimus stulpelyje ir stulpelių grupėje, kuri nėra pirminis raktas. Skirtingai nuo pirminio rakto, jis sukuria ne grupinį indeksą . Ne grupuojami indeksai turi atskirą struktūrą nuo duomenų eilių. Kiekvienas raktinių verčių įrašas nurodo duomenų eilutę, kurioje yra pagrindinė vertė, taigi ji naudoja nuorodas.
Pagrindiniai skirtumai tarp pirminio ir unikalaus rakto
- Kai atributas deklaruojamas kaip pirminis raktas, jis nepriims NULL reikšmių. Kita vertus, kai atributas, deklaruotas kaip unikalus, gali priimti vieną NULL reikšmę.
- Lentelė gali turėti tik pirminį raktą, o lentelėje gali būti daug unikalių apribojimų.
- Klasterio indeksas automatiškai sukuriamas, kai apibrėžiamas pirminis raktas. Priešingai, „Unikalus“ klavišas sukuria ne grupinį indeksą.
Išvada
Pirminis raktas ir unikalus raktas yra unikalios identifikatoriaus, skirto lentelės eilutėms, unikalios vertės stulpelyje arba stulpelių grupėje. Šie pagrindiniai suvaržymai labai skiriasi, kai kiekvienoje lentelėje gali būti ne daugiau kaip vienas pirminis raktas, o lentelė gali turėti keletą unikalių raktų, kurie nėra pirminiai.