Priklausomybė yra apribojimas, kuris taikomas arba apibrėžia atributų santykį. Tai įvyksta duomenų bazėje, kai informacija, saugoma toje pačioje duomenų bazėje, unikaliai nustato kitą tą pačią lentelę saugomą informaciją. Taip pat galite apibūdinti tai kaip santykį, kai žinant vieno atributo (arba atributų rinkinio) vertę yra pakankamai, kad pasakytų jums kito atributo (arba atributų rinkinio) vertę toje pačioje lentelėje.
Duomenų bazės priklausomybės dažnai klaidina tiek studentus, tiek duomenų bazių specialistus. Laimei, jie nėra tokie sudėtingi, kaip gali atrodyti. Jas geriausiai galima paaiškinti naudojant keletą pavyzdžių. Čia aptarsime bendrus duomenų tipų priklausomybės tipus.
Duomenų bazių priklausomybės ir funkcinės priklausomybės
Sakydamas, kad lentelėje yra priklausomybė tarp atributų, ta pati sakoma, kad tarp šių atributų yra funkcinė priklausomybė. Jei duomenų bazėje yra priklausomybė, tokia, kad atributas B priklauso nuo atributo A, tai parašyti taip:
A -> B
Pavyzdžiui, lentelėje, kurioje yra darbuotojų charakteristikos, įskaitant socialinio draudimo numerį (SSN) ir pavadinimą, galima sakyti, kad vardas priklauso nuo SSN (arba SSN -> pavadinimas), nes darbuotojo vardas gali būti unikaliai nustatytas iš SSN. Tačiau atvirkštinis pareiškimas (pavadinimas -> SSN) nėra teisingas, nes daugiau nei vienas darbuotojas gali turėti tą patį pavadinimą, bet visada turi skirtingus SSN. Trimatis funkcinė priklausomybė atsiranda, kai apibūdinate atributo funkcinę priklausomybę atributų rinkiniui, į kurį įtraukiamas pradinis atributas. Pavyzdžiui, {A, B} -> B yra nereikšminga funkcinė priklausomybė, kaip ir {name, SSN} -> SSN. Ši funkcinės priklausomybės rūšis vadinama nereikšminga, nes ji gali būti gauta iš sveiku protu. Akivaizdu, kad jei jau žinote B vertę, tuomet B reikšmė gali būti unikaliai nustatyta šiomis žiniomis. Visiškai funkcinė priklausomybė atsiranda tada, kai jau patenkate funkcinės priklausomybės reikalavimams, o funkcinių priklausomybių pranešimo kairėje pusėje esančių atributų rinkinys negali būti toliau mažinamas. Pavyzdžiui, {SSN, amžius} -> vardas yra funkcinė priklausomybė, tačiau ji nėra visiškai funkcinė priklausomybė, nes jūs galite pašalinti amžių iš kairės ataskaitos pusės, nepažeidžiant priklausomybės santykio. Transitinės priklausomybės atsiranda, kai yra netiesioginis ryšys, dėl kurio atsiranda funkcinė priklausomybė. Pavyzdžiui, A -> C yra pereinamoji priklausomybė, kai ji yra tiesa tik todėl, kad A -> B ir B -> C yra tiesos. Daugialypės priklausomybės atsiranda tada, kai vienos ar kelių lentelės eilučių buvimas rodo, kad vienoje ar daugiau kitų eilučių yra ta pati lentelė. Pvz., Įsivaizduokite automobilių kompaniją, kuri gamina daugelį automobilių modelių, bet visada daro tiek raudoną, tiek mėlyną kiekvieno modelio spalvą. Jei turite lentelę, kurioje yra kiekvieno automobilio, kurį gamina įmonė, modelio pavadinimas, spalva ir metai, šioje lentelėje yra daugialypis priklausomumas. Jei yra tam tikro modelio pavadinimo ir metų ženklo mėlynos spalvos eilutė, taip pat turi būti panaši eilutė, atitinkanti to paties automobilio raudonąją versiją. Duomenų bazių priklausomybės yra svarbios suprasti, nes jose pateikiami pagrindiniai blokai, naudojami duomenų bazių normalizavimui, veiksmingai organizuojant duomenis duomenų bazėje. Pavyzdžiui: Trivialios funkcinės priklausomybės
Visos funkcinės priklausomybės
Transitinės priklausomybės
Daugialypės priklausomybės
Priklausomybės svarba