Pastāv dažas atšķirības starp primāro un kandidātu atslēgu, kuru es apspriedīšu, izmantojot zemāk redzamo salīdzināšanas diagrammu.
Salīdzinājuma diagramma
Salīdzinājuma pamats | Primārā atslēga | Kandidāta atslēga |
---|---|---|
Pamata | Jebkurā sakarībā var būt tikai viena primārā atslēga. | Saistībā var būt vairāk par vienu kandidāta atslēgu. |
NULL | Neviens primārās atslēgas atribūts nevar saturēt NULL vērtību. | Kandidāta atslēgas atribūtam var būt NULL vērtība. |
Norādiet | Nav obligāti norādīt primāro atslēgu jebkurai attiecībai. | Nevar būt sakarība bez norādītā atslēgas vārda. |
Funkcija | Primārā atslēga apraksta svarīgāko attiecības atribūtu. | Kandidātu atslēgas piedāvā kandidātus, kas var pretendēt uz primāro atslēgu. |
Pretēji | Primārā atslēga ir kandidāta atslēga. | Bet tas nav obligāti, ka katrs kandidāta atslēga var būt primārā atslēga. |
Primārās atslēgas definīcija
Primārā atslēga ir atribūts vai atribūtu kopums, kas unikāli identificēs katru kopu attiecībā. Katrai attiecībai var būt tikai viena primārā atslēga. Jāpievērš uzmanība tam, ka primārajai atslēgai nekad nevajadzētu būt NULL vērtībai, un tai ir jābūt unikālai vērtībai katrai attiecībai. Primārās atslēgas atribūtu / s vērtībām ir jābūt statiskām, ti, atribūta vērtība nekad nedrīkst mainīties.
Viens no kandidātu atslēgām kļūst kvalificēts, lai kļūtu par primāro atslēgu. Noteikumi, kas pretendenta atslēgai ir jāsaņem, lai kļūtu par primāriem, ir tas, ka galvenajai vērtībai nekad nevajadzētu būt NULL, un tai jābūt unikālai visām vienībām.
Ja attiecībās ir atribūts, kas ir kādas citas attiecības primārā atslēga, tad šo atribūtu sauc par ārējo atslēgu .
Ieteicams noskaidrot attiecību primāro atslēgu, pirms tiek ieviesti citi attiecības atribūti, jo primārā atslēga identificē katru vienību unikāli. Labāk ir izvēlēties vienu atribūtu vai nelielu atribūtu skaitu kā primāro atslēgu, kas atvieglo attiecību apstrādi.
Tagad aplūkosim primārās atslēgas piemēru.
Students {ID, pirmais vārds, pēdējais vārds, vecums, adrese}
Šeit mēs vispirms izdomāsim kandidātu atslēgas. Esmu izdomājis divus kandidātu atslēgas {ID} un {First_name, Last_name}, jo tie unikāli identificēs katru studentu studenta attiecībās. Tagad es izvēlos ID kā galveno atslēgu, jo dažreiz var gadīties, ka diviem skolēniem var būt tādi paši vārdi un uzvārdi, tāpēc būs viegli izsekot studentu ar savu ID .
Kandidāta atslēgas definīcija
Kandidāta atslēga ir atribūts vai atribūtu kopums, kas unikāli definē attiecību attiecībā. Saistībā ir vairāk nekā viens kandidāts. Šīs kandidātu atslēgas ir kandidāti, kas var kļūt par primāro atslēgu.
Lai gan katra kandidāta atslēga atbilst galvenajai atslēgai, tikai vienu var izvēlēties par primāro atslēgu. Noteikumi, kas nepieciešami, lai kļūtu par primāro atslēgu, ir atslēgas atribūtu vērtība, kas nekad nevar būt NULL jebkurā atslēgas domēnā, tai jābūt unikālai un statiskai .
Ja visi kandidātu atslēgas atbilst primārajai atslēgai, tad pieredzējušam DBA ir jāpieņem lēmums, lai noskaidrotu primāro atslēgu. Nekad nevar būt attiecības bez kandidāta atslēgas.
Sapratīsim kandidāta atslēgu ar piemēru. Ja pievienosim vēl dažas atribūtus studentu attiecībām, es apspriēju iepriekš.
Studentu {ID, pirmā vārda, pēdējās personas vārds, vecums, adrese, DOB, departamenta nosaukums}
Šeit es varu noskaidrot divas kandidāta atslēgas, kas ir {ID}, {First_name, Last_name, DOB} . Tātad jūs varat saprast, ka kandidātu atslēgas ir tādas, kas unikāli identificē attiecību attiecībā.
Galvenās atšķirības starp primāro un kandidāta atslēgu
- Pamata punkts, kas atšķir primāro atslēgu no kandidāta atslēgas, ir tas, ka shēmā var būt tikai viens primārs. Tomēr vienai sakarībai var būt vairākas kandidātu atslēgas.
- Atribūts primārajā atslēgā nekad nevar saturēt NULL vērtību, jo primārās atslēgas galvenā funkcija ir unikāla identifikācija saistībā ar. Pat primāro atslēgu var izmantot kā svešu atslēgu citās attiecībās, un tāpēc tā nedrīkst būt NULL, lai atsauces saistība varētu atrast tupes atsauces attiecībās. Kandidāta atslēga var būt NULL, ja vien atribūta ierobežojums nav norādīts null.
- Primārā atslēga ir obligāti jānorāda, bet nevar būt saistība bez kandidāta atslēgām.
- Primārā atslēga apraksta unikālo un vissvarīgāko attiecības atribūtu, savukārt kandidātu atslēgas nodrošina kandidātus, no kuriem vienu var izvēlēties par primāro atslēgu.
- Katra primārā atslēga ir kandidāta atslēga, bet otrādi, tā nav taisnība.
Secinājums:
Saistībā ar primārās atslēgas norādīšanu tas nav obligāts. No otras puses, ja jūs paziņojat par attiecībām, kandidāta atslēgām ir jābūt klāt šajā attiecībā, lai izveidotu labu attiecību.