Funkcinė priklausomybė duomenų bazėje

Funkcinės priklausomybės padeda išvengti duomenų kopijavimo

Funkcinė priklausomybė duomenų bazėje užtikrina atributų apribojimų rinkinį. Tai įvyksta, kai vienas atributo ryšys unikaliai nustato kitą atributą. Tai gali būti parašyta A -> B, o tai reiškia, kad "B funkciniu požiūriu priklauso nuo A." Tai taip pat vadinama duomenų bazės priklausomybe .

Šiame santykyje A nustato B reikšmę, o B priklauso nuo A.

Kodėl funkcinė priklausomybė yra svarbi duomenų bazių kūrime

Funkcinė priklausomybė padeda užtikrinti duomenų pagrįstumą. Apsvarstykite lentelę Darbuotojai, kuriuose pateikiamos charakteristikos, įskaitant socialinio draudimo numerį (SSN), vardą, gimimo datą, adresą ir kt.

Atributo SSN nustatys vardo, gimimo datos, adreso ir galbūt kitų vertybių vertę, nes socialinio draudimo numeris yra unikalus, o vardas, gimimo data ar adresas gali būti ne. Galime parašyti taip:

SSN -> vardas, gimimo data, adresas

Todėl vardas, gimimo data ir adresas funkciškai priklauso nuo SSN. Tačiau atvirkštinis pareiškimas (pavadinimas -> SSN) nėra teisingas, nes daugiau nei vienas darbuotojas gali turėti tą patį pavadinimą, bet niekada neturės to paties SSN. Įdėkite kitą, konkretesnį būdą, jei žinome SSN atributo vertę, galime rasti pavadinimo, gimimo datos ir adreso vertę. Bet jei mes vietoj žinome tik vardo atributo vertę, mes negalime nustatyti SSN.

Kairėje funkcinės priklausomybės pusėje gali būti daugiau nei vienas atributas. Tarkime, kad turime verslą su keliomis vietomis. Mes galime turėti lentelę Darbuotojas su atributus darbuotojas, pavadinimas, skyrius, vieta ir vadybininkas.

Darbuotojas nustato vietą, kurioje jis dirba, todėl yra priklausomybė:

darbuotojas -> vieta

Tačiau vietoje gali būti daugiau nei vienas valdytojas, todėl darbuotojas ir skyrius kartu nustato valdytoją:

darbuotojas, departamentas -> vadybininkas

Funkcinė priklausomybė ir normalizavimas

Funkcinė priklausomybė prisideda prie vadinamojo duomenų bazės normalizavimo , kuris užtikrina duomenų vientisumą ir sumažina duomenų atleidimą iš darbo. Be normalizavimo nėra garantijų, kad duomenų bazėje esantys duomenys yra tikslūs ir patikimi.