Būtiskākā atšķirība starp primāro atslēgu un unikālo atslēgu ir tā, ka primārā atslēga nepieņem NULL vērtības, bet NULL vērtības ir atļautas unikālajos galvenajos ierobežojumos.
Salīdzinājuma diagramma
Salīdzināšanas pamats | Primārā atslēga | Unikāla atslēga |
---|---|---|
Pamata | To izmanto, lai kalpotu kā unikāls identifikators katrai tabulas rindai. | Tā arī unikāli nosaka rindu, kas nav definēta kā primārā atslēga. |
NULL vērtības pieņemšana | Primārā atslēga nepieņems NULL vērtības. | Unikāls pieņems NULL vērtību. |
Tabulā definējamo taustiņu skaits | Tikai viena primārā atslēga | Vairāk par vienu |
Indekss | Izveido kopu indeksu | Izveido neklasificētu indeksu |
Primārās atslēgas definīcija
Kolonnu var saukt par tā tabulas primāro atslēgu, ja tā unikāli identificē katru tabulā esošo rindu (rindu). Tā nodrošina galda integritātes ierobežojumus. Tabulā ir atļauta tikai viena primārā atslēga. Primārā atslēga nepieņem dublikātus un NULL vērtības. Primāro atslēgu izvēlas uzmanīgi, ja izmaiņas var notikt reti, tas nozīmē, ka tabulas primārā atslēga ļoti reti mainās.
Ar tabulas palīdzību sapratīsim primārās atslēgas jēdzienu. Šeit mēs izveidojam tabulu, kas nosaukta par Studentu tabulu, kurai ir tādi atribūti kā Roll_number, Name, Batch, Phone_number, Citizen_ID.
Primāro atslēgu var atsaukties ar ārējo atslēgu. Tas rada unikālu klasteru indeksu uz galda. Klasteru indeksā datu rindas tiek sakārtotas un saglabātas tabulā vai skatījumos, pamatojoties uz tās galvenajām vērtībām. Tabulā var būt tikai viens kopu indekss, kura iemesls ir tas, ka tabulas datu rindas var sakārtot tikai vienā secībā.
Unikālās atslēgas definīcija
Līdzīgi kā primārajai atslēgai, unikālie atslēgu ierobežojumi arī identificē atsevišķu vienību attiecībā. Bet starp tām ir dažas atšķirības. Tabulā var būt vairāk nekā viena unikāla atslēga. Unikālie galvenie ierobežojumi var pieņemt tikai vienu NULL vērtību kolonnai.
Sapratīsim to ar līdzīgu piemēru, kur mums bija skolēnu galds ar Roll_number, Name, Batch, Phone_number un Citizen_ID atribūtiem. Riteņa numura atribūts ir piešķirts ar primāro atslēgu.
Unikālos ierobežojumus atsaucas arī uz ārējo atslēgu. To var izmantot, ja kāds vēlas ieviest ierobežojumus kolonnā un kolonnu grupā, kas nav primārā atslēga. Atšķirībā no primārās atslēgas tas ģenerē ne grupētu indeksu . Ne grupētiem indeksiem ir atšķirīga struktūra no datu rindām. Katrs tajā iekļautais atslēgas vērtības ieraksts norāda uz datu rindu, kurā ir galvenā vērtība, tāpēc tā izmanto norādes.
Galvenās atšķirības starp primāro atslēgu un unikālo atslēgu
- Ja atribūts, kas pasludināts par primāro atslēgu, nepieņems NULL vērtības. No otras puses, ja atribūts, kas deklarēts kā unikāls, var pieņemt vienu NULL vērtību.
- Tabulā var būt tikai primārā atslēga, bet tabulā var būt vairāki unikāli ierobežojumi.
- Clustered indekss tiek automātiski izveidots, kad tiek definēta primārā atslēga. Turpretī Unique taustiņš ģenerē ne grupētu indeksu.
Secinājums
Primārā atslēga un Unikālais taustiņš kalpo kā unikāls identifikators tabulas rindām ar unikālajām vērtībām kolonnā vai kolonnu grupā. Šie galvenie ierobežojumi ir būtiski atšķirīgi, ja katrā tabulā var būt ne vairāk kā viena primārā atslēga, savukārt tabulā var būt vairākas unikālas atslēgas, kas nav primārās.