Ieteicams, 2020

Redaktora Izvēle

Atšķirība starp primāro atslēgu un unikālo atslēgu

Iepriekšējos pantos mēs jau esam pētījuši dažāda veida atslēgas, kas izmantotas datu bāzē un shēmā, proti, atšķirība starp primāro atslēgu un ārējo atslēgu. Šajā rakstā mēs atšķiram primāro atslēgu un unikālo atslēgu. Gan primāro atslēgu, gan unikālo atslēgu izmanto, lai unikāli identificētu vienību un īstenotu unikalitāti kolonnā vai kolonnas kombinācijā.

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 pamatsPrimārā atslēgaUnikāla atslēga
PamataTo 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šanaPrimārā atslēga nepieņems NULL vērtības.Unikāls pieņems NULL vērtību.
Tabulā definējamo taustiņu skaitsTikai viena primārā atslēgaVairāk par vienu
IndekssIzveido kopu indeksuIzveido 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.

Šajā piemērā atribūtu rullīšu skaitam nekad nevar būt identiska un NULL vērtība, jo katrs students, kas uzņemts universitātē ar unikālu Roll_number. Nevienam no diviem studentiem nevar būt vienāds Roll_number, un katra tabulas rinda ir unikāli identificēta ar studentu saraksta numuru. Tātad, mēs varam veikt Roll_number atribūtu kā primāro atslēgu šajā konkrētajā gadījumā.

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.

Šeit Citizen_ID var piešķirt unikālus ierobežojumus, ja katram ierakstam Citizen_ID kolonnā jābūt unikālam, nevis dublētam, jo ​​katram valsts pilsonim jābūt savam unikālajam identifikācijas numuram. Bet, ja students migrē no citas valsts, šādā gadījumā viņam nebūtu Citizen_ID, un ierakstam varētu būt NULL vērtība, jo viens NULL ir atļauts unikālajā ierobežojumā.

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

  1. 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.
  2. Tabulā var būt tikai primārā atslēga, bet tabulā var būt vairāki unikāli ierobežojumi.
  3. 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.

Top