logo

Atslēgas

  • 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.

DBVS atslēgas

Atslēgu veidi:

DBVS atslēgas

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.
DBVS atslēgas

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.

DBVS atslēgas

3. Super Key

Super atslēga ir atribūtu kopa, kas var unikāli identificēt virkni. Superatslēga ir kandidātatslēgas superkopa.

DBVS atslēgas

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.
DBVS atslēgas

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
DBVS atslēgas

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.

DBVS atslēgas

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.

DBVS atslēgas

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.