Atsauces integritāte ir datubāzes funkcija relāciju datubāzu pārvaldības sistēmās. Tas nodrošina, ka attiecības starp tabulām datubāzē saglabājas precīzas, piemērojot ierobežojumus, lai novērstu to, ka lietotāji vai lietojumprogrammas varētu ievadīt nepareizus datus vai norādīt uz datiem, kuri neeksistē.
Datu bāzes izmanto tabulas, lai organizētu informāciju, kuru tie satur. Tās ir līdzīgas izklājlapām, piemēram, Excel, taču tām ir daudz vairāk iespēju pieredzējušiem lietotājiem. Datu bāzes darbojas ar primāro atslēgu un ārējo atslēgu izmantošanu, kas uztur attiecības starp tabulām.
Primārā atslēga
Datubāzes tabulas primārais atslēga ir unikāls identifikators, kas piešķirts katram ierakstam. Katrā tabulā ir viena vai vairākas kolonnas, kas tiek norādītas kā galvenā atslēga. Sociālās apdrošināšanas numurs var būt primārā atslēga datu bāzu darbinieku sarakstam, jo katrs sociālās apdrošināšanas numurs ir unikāls.
Tomēr, ņemot vērā privātuma problēmas, piešķirtais uzņēmuma identifikācijas numurs ir labāka izvēle strādāt kā primārā atslēga darbiniekiem. Dažas datu bāzes programmatūras - piemēram, Microsoft Access - automātiski piešķir primāro atslēgu, taču izlases atslēgai nav īstas nozīmes. Labāk ir izmantot atslēgu, kas nozīmē ierakstu. Vienkāršākais veids, kā īstenot atsauces integritāti, ir atļaut mainīt primāro atslēgu.
Sveša atslēga
Ārējā atslēga ir tabulas identifikators, kas atbilst primārās atslēgas citai tabulai. Ārējā atslēga rada attiecības ar citu tabulu, un atsauces integritāte attiecas uz attiecībām starp šīm tabulām.
Ja vienai tabulai ir ārējā atslēga uz citu tabulu, atsauces integritātes koncepcija nosaka, ka nevarat pievienot tabulu ierakstu, kurā ir ārējā atslēga, ja vien attiecīgajā tabulā nav atbilstoša ieraksta. Tas ietver arī metodes, kas pazīstamas kā kaskādes atjaunināšana un kaskādes dzēšana, kas nodrošina, ka saistītās tabulas izmaiņas tiek atspoguļotas primārajā tabulā.
Atsauces integritātes noteikumu piemērs
Apsveriet situāciju, kurā jums ir divas tabulas: darbinieki un vadītāji. Darbinieku tabulā ir svešvalodas atribūts ManagedBy, kas norāda uz katra darbinieka pārvaldnieka ierakstu Vadītāju tabulā. Atsauces integritāte nodrošina šādus trīs noteikumus:
- Jūs nevarat pievienot ierakstu tabulai Darbinieki, ja vien atribūts ManagedBy neuzrāda derīgu ierakstu tabulā Vadītāji. Atsauces integritāte neļauj ievietot nepareizu informāciju tabulā. Jebkura darbība, kas neatbilst atsauces integritātes noteikumam, neizdodas.
- Ja tiek mainīta mainīgo tabulas ieraksta primārā atslēga, visi attiecīgie ieraksti darbinieku tabulā tiek mainīti, izmantojot kaskādes atjauninājumu.
- Ja tabulā Vadītāji tiek ierakstīts ieraksts, visi attiecīgie ieraksti darbinieku tabulā tiek dzēsti, izmantojot kaskādes dzēšanu.
Atbilstības integritātes ierobežojumu priekšrocības
Izmantojot relāciju datu bāzes pārvaldības sistēmu ar atsauces integritāti, tiek piedāvātas vairākas priekšrocības:
- Novērš dublēt datu ievadīšanu.
- Neļauj vienai tabulai norādīt uz neesošu lauku citā tabulā.
- Garantēta konsekvence starp "partnerītiem" tabulām.
- Novērš tāda ieraksta dzēšanu, kurā citā tabulā norādīta vērtība, kuru ārējā atslēgā norāda.
- Novērš ieraksta pievienošanu tabulai, kurā ir ārējā atslēga, ja tajā nav primārās atslēgas saistītajā tabulā.