- Atslēgām ir svarīga loma relāciju datu bāzē.
- To izmanto, lai unikāli identificētu jebkuru ierakstu vai datu rindu no tabulas. To izmanto arī, lai izveidotu un identificētu attiecības starp tabulām.
Piemēram, ID tiek izmantots kā atslēga Studentu tabulā, jo tas ir unikāls katram skolēnam. Tabulā PERSONA pases_numurs, licences_numurs, SSN ir atslēgas, jo katrai personai tās ir unikālas.
Atslēgu veidi:
1. Primārā atslēga
- Tā ir pirmā atslēga, ko izmanto, lai unikāli identificētu vienu un tikai vienu entītijas gadījumu. Entītija var saturēt vairākas atslēgas, kā mēs redzējām tabulā PERSONA. No šiem sarakstiem vispiemērotākā atslēga kļūst par primāro atslēgu.
- Tabulā EMPLOYEE ID var būt primārā atslēga, jo katram darbiniekam tā ir unikāla. Tabulā EMPLOYEE mēs pat varam atlasīt License_Number un Passport_Number kā primārās atslēgas, jo arī tās ir unikālas.
- Katrai entītijai primārās atslēgas izvēle ir balstīta uz prasībām un izstrādātājiem.
2. Kandidāta atslēga
- Kandidāta atslēga ir atribūts vai atribūtu kopa, kas var unikāli identificēt virkni.
- Izņemot primāro atslēgu, pārējie atribūti tiek uzskatīti par kandidātatslēgu. Kandidātu atslēgas ir tikpat spēcīgas kā primārā atslēga.
Piemēram: Tabulā EMPLOYEE id ir vispiemērotākais primārajai atslēgai. Pārējie atribūti, piemēram, SSN, Passport_Number, License_Number utt., tiek uzskatīti par kandidātatslēgu.
3. Super Key
Super atslēga ir atribūtu kopa, kas var unikāli identificēt virkni. Superatslēga ir kandidātatslēgas superkopa.
Piemēram: Iepriekš esošajā DARBINIEKU tabulā (EMPLOEE_ID, EMPLOYEE_NAME) divu darbinieku vārdi var būt vienādi, taču viņu EMPLYEE_ID nevar būt vienāds. Tādējādi šī kombinācija var būt arī atslēga.
Superatslēga būtu EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME) utt.
4. Ārējā atslēga
- Ārējās atslēgas ir tabulas kolonna, ko izmanto, lai norādītu uz citas tabulas primāro atslēgu.
- Katrs darbinieks strādā noteiktā uzņēmuma nodaļā, un darbinieks un nodaļa ir divas dažādas vienības. Tāpēc mēs nevaram uzglabāt nodaļas informāciju darbinieku tabulā. Tāpēc mēs saistām šīs divas tabulas, izmantojot vienas tabulas primāro atslēgu.
- Mēs pievienojam tabulas NODAĻA primāro atslēgu nodaļas_ID kā jaunu atribūtu tabulā EMPLOYEE.
- Tabulā EMPLOYEE nodaļas_ID ir ārējā atslēga, un abas tabulas ir saistītas.
5. Alternatīvais taustiņš
Var būt viens vai vairāki atribūti vai atribūtu kombinācija, kas unikāli identificē katru relācijas virkni. Šos atribūtus vai atribūtu kombinācijas sauc par kandidātatslēgām. Viena atslēga tiek izvēlēta kā primārā atslēga no šīm kandidātatslēgām, un atlikušā kandidāta atslēga, ja tāda ir, tiek saukta par alternatīvo atslēgu. Citiem vārdiem sakot, kopējais alternatīvo atslēgu skaits ir kopējais kandidātu atslēgu skaits mīnus primārā atslēga. Alternatīvā atslēga var pastāvēt un var nebūt. Ja relācijā ir tikai viena kandidāta atslēga, tai nav alternatīvas atslēgas.
Piemēram, darbinieka relācijai ir divi atribūti Employee_Id un PAN_No, kas darbojas kā kandidāta atslēgas. Šajā saistībā par primāro atslēgu ir izvēlēts Employee_Id, tāpēc otra kandidāta atslēga PAN_Nē darbojas kā alternatīvā atslēga.
attēlu izlīdzināšana css
6. Saliktā atslēga
Ikreiz, kad primārā atslēga sastāv no vairāk nekā viena atribūta, to sauc par salikto atslēgu. Šī atslēga ir pazīstama arī kā sasaistītā atslēga.
Piemēram, darbinieku attiecībās mēs pieņemam, ka darbiniekam var tikt piešķirtas vairākas lomas un darbinieks vienlaikus var strādāt pie vairākiem projektiem. Tātad primārā atslēga sastāvēs no visiem trim atribūtiem, proti, Emp_ID, Emp_role un Proj_ID kombinācijā. Tātad šie atribūti darbojas kā salikta atslēga, jo primārajā atslēgā ir vairāk nekā viens atribūts.
7. Mākslīgā atslēga
Atslēga, kas izveidota, izmantojot patvaļīgi piešķirtus datus, ir pazīstama kā mākslīgās atslēgas. Šīs atslēgas tiek izveidotas, ja primārā atslēga ir liela un sarežģīta un tai nav nekādas saistības ar daudzām citām relācijām. Mākslīgo atslēgu datu vērtības parasti tiek numurētas sērijas secībā.
Piemēram, primārā atslēga, kas sastāv no Emp_ID, Emp_role un Proj_ID, ir liela darbinieku attiecībās. Tāpēc labāk būtu pievienot jaunu virtuālo atribūtu, lai unikāli identificētu katru relācijas korteļļu.