Kas yra funkcinė priklausomybė?
Funkcinis priklausomumas (FD) yra suvaržymas, lemiantis vieno atributo ir kito atributo santykį duomenų bazių valdymo sistemoje (DBVS). Funkcinis priklausomumas padeda išlaikyti duomenų kokybę duomenų bazėje. Jis vaidina gyvybiškai svarbų vaidmenį ieškant skirtumo tarp gero ir blogo duomenų bazių dizaino.
Funkcinė priklausomybė žymima rodykle „→“. Funkcinę X priklausomybę nuo Y vaizduoja X → Y. Supraskime funkcinį priklausomumą DBVS su pavyzdžiu.
Pavyzdys:
Darbuotojo numeris | Darbuotojo vardas | Atlyginimas | Miestas |
1 | Dana | 50000 | San Franciskas |
2 | Pranciškus | 38000 | Londonas |
3 | Andriejus | 25000 | Tokijas |
Šiame pavyzdyje, jei žinome Darbuotojo skaičiaus vertę, galime gauti Darbuotojo vardą, miestą, atlyginimą ir kt. Tokiu būdu galime pasakyti, kad miestas, Darbuotojo vardas ir atlyginimas funkciškai priklauso nuo Darbuotojo skaičiaus.
Šioje pamokoje sužinosite:
- Pagrindiniai terminai
- Funkcinių priklausomybių taisyklės
- Funkcinių priklausomybių tipai DBVS
- Daugiavalandė priklausomybė DBVS
- Trivial Funkcinė priklausomybė DBVS
- Ne triviali funkcinė priklausomybė DBVS
- Tranzityvinė priklausomybė DBVS
- Kas yra normalizavimas?
- Funkcinės priklausomybės privalumai
Pagrindiniai terminai
Štai keletas pagrindinių funkcinio priklausomybės duomenų bazėje terminų:
Pagrindinės sąlygos | apibūdinimas |
Aksioma | Aksiomos yra išvadų taisyklių rinkinys, naudojamas visoms reliacinės duomenų bazės funkcinėms priklausomybėms daryti. |
Skilimas | Tai yra taisyklė, kuri siūlo, jei turite lentelę, kurioje, atrodo, yra du objektai, kuriuos nustato tas pats pagrindinis raktas, turėtumėte apsvarstyti galimybę juos suskaidyti į dvi skirtingas lenteles. |
Priklausomas | Jis rodomas dešinėje funkcinės priklausomybės diagramos pusėje. |
Lemiantis | Jis rodomas kairėje funkcinės priklausomybės diagramos pusėje. |
Sąjunga | Tai rodo, kad jei dvi lentelės yra atskiros, o PK yra tas pats, turėtumėte apsvarstyti galimybę jas įdėti. kartu |
Funkcinių priklausomybių taisyklės
Toliau pateikiamos trys svarbiausios funkcinio priklausomybės duomenų bazėje taisyklės:
- Refleksinė taisyklė -. Jei X yra atributų rinkinys, o Y yra Xsupasiskyrimas, tada X turi Y reikšmę.
- Didinimo taisyklė: Kai x -> y galioja, o c yra atributų rinkinys, tada galioja ir ac -> bc. Tai pridedami atributai, kurie nekeičia pagrindinių priklausomybių.
- Transityvumo taisyklė: Ši taisyklė yra labai panaši į algebros tranzityvinę taisyklę, jei x -> y galioja, o y -> z galioja, tada galioja ir x -> z. X -> y vadinamas funkciškai taip pat, kas lemia y.
Funkcinių priklausomybių tipai DBVS
DBVS daugiausia yra keturi funkcinės priklausomybės tipai. Toliau pateikiami DBVS funkcinių priklausomybių tipai:
- Daugiakalbė priklausomybė
- Trivialinė funkcinė priklausomybė
- Neaktuali funkcinė priklausomybė
- Transitinė priklausomybė
Daugiavalenkė priklausomybė DBVS
Daugiavalandė priklausomybė atsiranda tuo atveju, kai vienoje lentelėje yra keli nepriklausomi daugiavertiai atributai. Daugiavertė priklausomybė yra visiškas apribojimas tarp dviejų santykio atributų rinkinių. Tai reikalauja, kad santykyje būtų tam tikrų grupių. Apsvarstykite šį daugiavalidį priklausomybės pavyzdį, kad suprastumėte.
Pavyzdys:
Automobilis_modelis | Mafas_metas | Spalva |
H001 | 2017 m | Metalinis |
H001 | 2017 m | Žalias |
H005 | 2018 m | Metalinis |
H005 | 2018 m | Mėlyna |
H010 | 2015 m | Metalinis |
H033 | 2012 m | Pilka |
Šiame pavyzdyje maf_year ir spalva yra nepriklausomos viena nuo kitos, bet priklauso nuo car_model. Šiame pavyzdyje sakoma, kad šios dvi stulpeliai yra daugiavalenčiai, priklausantys nuo automobilio_modelis.
Ši priklausomybė gali būti pavaizduota taip:
car_model -> maf_year
car_model-> spalva
Svarbi funkcinė priklausomybė DBVS
Trivialinė priklausomybė yra atributų rinkinys, kuris vadinamas trivialiu, jei atributų rinkinys yra įtrauktas į tą atributą.
Taigi, X -> Y yra nereikšminga funkcinė priklausomybė, jei Y yra X pogrupis. Supraskime su trivialiu funkcinės priklausomybės pavyzdžiu.
Pavyzdžiui:
„Emp_id“ | Emp_name |
AS555 | Haris |
AS811 | Džordžas |
AS999 | Kevinas |
Apsvarstykite šią lentelę su dviem stulpeliais Emp_id ir Emp_name.
{Emp_id, Emp_name} -> Emp_id yra nereikšminga funkcinė priklausomybė, nes Emp_id yra {Emp_id, Emp_name} pogrupis.
Nereikšminga funkcinė priklausomybė DBVS
Funkcinė priklausomybė, kuri taip pat vadinama netrivialine priklausomybe, atsiranda tada, kai A-> B yra teisinga, kai B nėra A. pogrupis. Santykyje, jei atributas B nėra atributo A pogrupis, jis laikomas ne trivialiu priklausomybė.
Bendrovė | Generalinis direktorius | Amžius |
„Microsoft“ | Satya Nadella | 51 |
„Google“ | Sundaras Pichai | 46 |
„Apple“ | Timas Kukas | 57 |
Pavyzdys:
(Įmonė} -> {CEO} (jei žinome įmonę, žinome ir generalinio direktoriaus vardą)
Tačiau generalinis direktorius nėra bendrovės pogrupis, todėl tai nėra nereikšminga funkcinė priklausomybė.
Pereinamoji priklausomybė DBVS
Transityvinė priklausomybė yra funkcinės priklausomybės rūšis, kuri įvyksta, kai t yra netiesiogiai suformuota dviejų funkcinių priklausomybių. Supraskime naudodami šį tranzityviosios priklausomybės pavyzdį.
Pavyzdys:
Bendrovė | Generalinis direktorius | Amžius |
„Microsoft“ | Satya Nadella | 51 |
„Google“ | Sundaras Pichai | 46 |
Alibaba | Džekas Ma | 54 |
{Įmonė} -> {CEO} (jei žinome faktą, žinome jos generalinio direktoriaus vardą)
{CEO} -> {Age} Jei žinome generalinį direktorių, žinome ir amžių
Todėl pagal tranzityvinės priklausomybės taisyklės taisyklę:
{Company} -> {Age} turėtų būti, tai yra prasminga, nes jei žinome įmonės pavadinimą, galime žinoti ir jo amžių.
Pastaba: Turite prisiminti, kad tranzityvinė priklausomybė gali atsirasti tik susiejus tris ar daugiau atributų.
Kas yra normalizavimas?
Normalizavimas yra duomenų tvarkymo duomenų bazėje metodas, kuris padeda išvengti duomenų pertekliaus, įterpimo, atnaujinimo ir ištrynimo anomalijų. Tai yra santykių schemų analizės procesas, pagrįstas jų skirtingomis funkcinėmis priklausomybėmis ir pirminiu raktu.
Reliacinių duomenų bazių teorijai būdingas normalizavimas. Tai gali sukelti tų pačių duomenų dubliavimąsi duomenų bazėje, todėl gali būti sukurtos papildomos lentelės.
Funkcinės priklausomybės privalumai
- Funkcinis priklausomumas vengia duomenų pertekliaus. Todėl tie patys duomenys nesikartoja keliose tos duomenų bazės vietose
- Tai padeda išlaikyti duomenų bazės duomenų kokybę
- Tai padeda apibrėžti duomenų bazių reikšmes ir apribojimus
- Tai padeda jums nustatyti blogus dizainus
- Tai padeda jums sužinoti faktus apie duomenų bazės dizainą
Santrauka
- Funkcinis priklausomumas yra tada, kai vienas atributas nustato kitą DBMS sistemos atributą.
- Aksioma, skaidymas, priklausomas, determinantas, sąjunga yra pagrindiniai funkcinės priklausomybės terminai
- Keturi funkcinės priklausomybės tipai yra 1) Daugiavertis 2) Trivialas 3) Netrivialus 4) Transityvus
- Daugiavalandė priklausomybė atsiranda tuo atveju, kai vienoje lentelėje yra keli nepriklausomi daugiavertiai atributai
- Trivialinė priklausomybė atsiranda, kai atributų rinkinys, kuris vadinamas trivialiu, jei atributų rinkinys yra įtrauktas į tą atributą
- Netriviali priklausomybė atsiranda, kai A-> B yra teisinga, kai B nėra A pogrupis
- Transityvus yra funkcinės priklausomybės tipas, atsirandantis, kai ją netiesiogiai formuoja dvi funkcinės priklausomybės
- Normalizavimas yra duomenų tvarkymo duomenų bazėje metodas, kuris padeda išvengti duomenų pertekliaus