Funkcionālā atkarība datu bāzē

Funkcionālās atkarības palīdz izvairīties no datu pavairošanas

Funkcionāla atkarība datu bāzē ievieš ierobežojumus starp atribūtiem. Tas notiek, ja viens attiecības atribūts viennozīmīgi nosaka citu atribūtu. To var rakstīt A -> B, kas nozīmē, ka "B funkcionāli ir atkarīgs no A." To sauc arī par datu bāzes atkarību .

Šajā sakarībā A nosaka B vērtību, bet B atkarīgs no A.

Kāpēc funkciju atkarība ir svarīga datu bāzu izstrādē

Funkcionālā atkarība palīdz nodrošināt datu derīgumu. Apsveriet tabulu Darbinieki, kuri norāda īpašības, tostarp sociālās apdrošināšanas numuru (SSN), vārdu, dzimšanas datumu, adresi un tā tālāk.

Atribūta SSN noteiks vārda, dzimšanas datuma, adreses un, iespējams, citu vērtību vērtību, jo sociālās apdrošināšanas numurs ir unikāls, bet vārds, dzimšanas datums vai adrese var nebūt. Mēs to varam ierakstīt šādi:

SSN -> nosaukums, dzimšanas datums, adrese

Tādēļ vārds, uzvārds, dzimšanas datums un adrese ir funkcionāli atkarīgi no SSN. Tomēr apgrieztais paziņojums (nosaukums -> SSN) nav taisnība, jo vairāk nekā vienam darbiniekam var būt viens vārds, bet tam nekad nebūs tādas pašas SSN. Vēl viens, konkrētāks veids, ja mēs zinām SSN atribūta vērtību, varam atrast nosaukuma, dzimšanas datuma un adreses vērtību. Bet, ja tā vietā mēs zinām tikai nosaukuma atribūta vērtību, mēs nevaram identificēt SSN.

Funkcionālās atkarības kreisajā pusē var būt vairāk nekā viens atribūts. Pieņemsim, ka mums ir bizness ar vairākām atrašanās vietām. Mums var būt tabula Darbinieks ar atribūtiem darbinieks, nosaukums, nodaļa, atrašanās vieta un pārvaldnieks.

Darbinieks nosaka atrašanās vietu, kurā viņš strādā, tāpēc pastāv atkarība:

darbinieks -> atrašanās vieta

Bet atrašanās vieta var būt vairāk nekā viens vadītājs, tāpēc darbinieki un departaments kopā nosaka vadītāju:

darbinieks, nodaļa -> vadītājs

Funkcionālā atkarība un normalizācija

Funkcionālā atkarība veicina to, ko sauc par datu bāzes normalizēšanu , kas nodrošina datu integritāti un samazina datu atlaišanu. Bez normalizācijas nav pārliecības, ka datubāzē esošie dati ir precīzi un uzticami.