Funktsionaalne sõltuvus andmebaasisüsteemides: tüübid koos näidetega
⚡ Nutikas kokkuvõte
Funktsionaalne sõltuvus on piirang, mis määrab, kuidas üks atribuut on andmebaasi juhtimissüsteemis teisega seotud. See toetab normaliseerimist, tuvastades determinante ja sõltuvaid tegureid, ning see liigitatakse mitmeväärtuselisteks, triviaalseteks, mittetriviaalseteks ja transitiivseteks sõltuvusteks.

Mis on funktsionaalne sõltuvus?
Funktsionaalne sõltuvus (FD) on piirang, mis määrab ühe atribuudi seose teise atribuudiga andmebaasi haldussüsteemis (DBMS). Funktsionaalne sõltuvus aitab säilitada andmebaasis olevate andmete kvaliteeti. Sellel on oluline roll hea ja halva andmebaasi kujunduse eristamisel.
Funktsionaalset sõltuvust tähistatakse noolega “→”. Y funktsionaalset sõltuvust X-ist esitatakse kui X → Y. Vaatleme funktsionaalset sõltuvust näite abil.
Näide:
| Töötaja number | Töötaja nimi | Palk | Linn |
|---|---|---|---|
| 1 | Dana | 50000 | San Francisco |
| 2 | Francis | 38000 | London |
| 3 | Andrew | 25000 | Tokyo |
Selles näites, kui me teame töötaja numbri väärtust, saame töötaja nime, linna, palga jne. Selle põhjal võime öelda, et linn, töötaja nimi ja palk sõltuvad funktsionaalselt töötaja numbrist.
Võtmesõnad
Siin on mõned andmebaasi funktsionaalse sõltuvuse põhiterminid:
| Võtmesõnad | Kirjeldus |
|---|---|
| aksioom | Aksioomid on järeldusreeglite kogum, mida kasutatakse relatsioonandmebaasis olevate kõigi funktsionaalsete sõltuvuste järeldamiseks. |
| Lagunemine | Reegel, mis soovitab, et kui teil on tabel, mis näib sisaldavat kahte sama primaarvõtmega määratud üksust, peaksite kaaluma selle jagamist kaheks eraldi tabeliks. |
| Sõltuv | See kuvatakse funktsionaalse sõltuvuse diagrammi paremal küljel. |
| Determinant | See kuvatakse funktsionaalse sõltuvuse diagrammi vasakul küljel. |
| Liit | See viitab sellele, et kui kaks tabelit on eraldi ja primaarvõti on sama, peaksite kaaluma nende kokkupanemist. |
Funktsionaalsete sõltuvuste reeglid (Armstrongi aksioomid)
Allpool on toodud kolm kõige olulisemat funktsionaalse sõltuvuse reeglit andmebaasis. Neid tuntakse Armstrongi aksioomidena ja neist saab tuletada kõik muud järeldusreeglid.
- Refleksiivne reegel: Kui X on atribuutide hulk ja Y on X alamhulk, siis kehtib X → Y.
- Suurendamise reegel: Kui X → Y kehtib ja C on atribuutide hulk, siis kehtib ka XC → YC. Atribuutide lisamine ei muuda põhisõltuvust.
- Transitiivsuse reegel: Sarnaselt algebras esineva transitiivsusreegliga: kui X → Y ja Y → Z kehtivad, siis kehtib ka X → Z.
Nendest tuletatakse veel kolm reeglit, mida praktikas pidevalt kasutatakse:
- Liidu reegel: kui X → Y ja X → Z, siis X → YZ.
- Lagunemisreegel: kui X → YZ, siis X → Y ja X → Z.
- Pseudotransitiivsuse reegel: kui X → Y ja WY → Z, siis WX → Z.
Nende reeglite korduv rakendamine sõltuvuste hulgale annab tulemuseks selle sulgemine, täielik sõltuvuste komplekt, mis loogiliselt järgneb. Atribuutide komplekti sulgemine on ka viis, kuidas kandidaatvõtmeid leitakse, mis on otseselt seotud uurimisega DBMS-võtmed.
Funktsionaalsete sõltuvuste tüübid DBMS-is
Andmebaasihaldussüsteemides on peamiselt neli tüüpi funktsionaalset sõltuvust:
- Mitmeväärtuslik sõltuvus
- Triviaalne funktsionaalne sõltuvus
- Mittetriviaalne funktsionaalne sõltuvus
- Transitiivne sõltuvus
Mitmeväärtuslik sõltuvus DBMS-is
Mitmeväärtuseline sõltuvus tekib olukorras, kus ühes tabelis on mitu sõltumatut mitmeväärtuselist atribuuti. Mitmeväärtuseline sõltuvus on täielik piirang kahe atribuudikomplekti vahel seoses, mis nõuab teatud paaride (tuuple'ite) olemasolu. Vaatleme järgmist näidet.
Näide:
| Auto_mudel | Maf_year | Värvus |
|---|---|---|
| H001 | 2017 | Metall- |
| H001 | 2017 | Roheline |
| H005 | 2018 | Metall- |
| H005 | 2018 | Sinine |
| H010 | 2015 | Metall- |
| H033 | 2012 | Hall |
Selles näites on Maf_year ja Color teineteisest sõltumatud, kuid sõltuvad Car_model väärtusest. Öeldakse, et need kaks veergu on mitme väärtusega ja sõltuvad Car_model väärtusest. Seda esitatakse järgmiselt:
auto_mudel → toot_aasta
auto_mudel → värv
Triviaalne funktsionaalne sõltuvus DBMS-is
Triviaalne sõltuvus on atribuutide hulk, mida nimetatakse triviaalseks, kui atribuutide hulk sisaldub selles atribuudis. Seega X → Y on triviaalne funktsionaalne sõltuvus, kui Y on X alamhulk. Vaatleme allolevat näidet.
| Emp_id | Emp_name |
|---|---|
| AS555 | Röövima |
| AS811 | George |
| AS999 | Kevin |
Vaatleme seda tabelit kahe veeruga, Emp_id ja Emp_name. {Emp_id, Emp_name} → Emp_id on triviaalne funktsionaalne sõltuvus, kuna Emp_id on {Emp_id, Emp_name} alamhulk.
Mittetriviaalne funktsionaalne sõltuvus andmebaasisüsteemides
Mittetriviaalne sõltuvus tekib siis, kui A → B on tõene ja B ei ole atribuudi A alamhulk. Kui atribuut B ei ole atribuudi A alamhulk, loetakse sõltuvust mittetriviaalseks.
| Ettevõttest | Tegevjuht & Turundus | vanus |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| õun | Tim Cook | 57 |
Näide:
{Ettevõte} → {Tegevjuht} (kui me teame ettevõtet, siis teame ka tegevjuhi nime). Kuid tegevjuht ei ole ettevõtte alamhulk ja seega mittetriviaalne funktsionaalne sõltuvus.
Transitiivne sõltuvus DBMS-is
Transitiivne sõltuvus on funktsionaalse sõltuvuse tüüp, mis tekib siis, kui atribuut on kaudselt määratud kahe funktsionaalse sõltuvuse poolt. Vaatleme allolevat näidet.
| Ettevõttest | Tegevjuht & Turundus | vanus |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Alibaba | Jack Ma | 54 |
{Ettevõte} → {Tegevjuht} (kui me teame ettevõtet, siis teame ka selle tegevjuhi nime).
{Tegevjuht} → {Vanus} (kui me teame tegevjuhti, siis teame ka tema vanust).
Seega transitiivse sõltuvuse reegli kohaselt peaks kehtima {Ettevõte} → {Vanus}, mis on loogiline, sest kui me teame ettevõtte nime, saame leida ka vanuse.
Märkus: transitiivne sõltuvus saab esineda ainult kolme või enama atribuudi puhul.
Mis on normaliseerimine?
Normaliseerimine on andmebaasi andmete korraldamise meetod, mis aitab vältida andmete koondamist ning sisestamise, värskendamise ja kustutamise anomaaliaid. See on protsess, mille käigus analüüsitakse seose skeeme nende erinevate funktsionaalsete sõltuvuste ja primaarvõtme põhjal.
Normaliseerimine on relatsioonandmebaaside teooriale omane. Sellel võib olla efekt andmete jagamises täiendavate tabelite vahel, nii et iga fakt salvestatakse üks kord. Kogu protsess on käsitletud juhendis andmebaasi normaliseerimine, mis tugineb otse ülaltoodud sõltuvustüüpidele.
Funktsionaalse sõltuvuse eelised
- Funktsionaalne sõltuvus väldib andmete koondamist, seega samad andmed ei kordu mitmes kohas. andmebaas.
- See aitab teil säilitada andmebaasis olevate andmete kvaliteeti.
- See aitab teil määratleda andmebaaside tähendusi ja piiranguid.
- See aitab teil tuvastada halbu kujundusi.
- See aitab teil leida fakte andmebaasi kujundamise kohta.
