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.

  • ➡️ Põhiidee: X → Y korral fikseerib determinant X sõltuva Y väärtuse, mis on märgitud noolega.
  • ???? ️ Võtmesõnad: Determinant, sõltuv, aksioom, dekompositsioon ja ühend kirjeldavad, kuidas sõltuvusi nimetatakse ja manipuleeritakse.
  • 📐 Armstrongi aksioomid: Refleksiivsus, augmentatsioon ja transitiivsus järeldavad iga sõltuvust, mida hulk loogiliselt eeldab.
  • 🔀 Neli tüüpi: Mitmeväärtuselised, triviaalsed, mittetriviaalsed ja transitiivsed sõltuvused kirjeldavad igaüks erinevat atribuudisuhet.
  • 🧹 Normaliseerimise link: Sõltuvused juhivad normaliseerimist, mis eemaldab koondamise ja värskendusanomaaliad.
  • 🔑 Kork: Atribuudi sulgemine näitab kandidaatvõtmeid ja seda, kas sõltuvus kehtib.
  • Kasu: Head sõltuvused viitavad heale disainile ja eristavad kvaliteetseid skeeme halbadest.

Funktsionaalne sõltuvus DBMS-is

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
Google 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
Google 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.

KKK

Determinant on noole vasakul pool asuv atribuut, mis fikseerib väärtuse. Sõltuv on noole paremal pool asuv atribuut, mille väärtus määratakse. Kui X → Y, määrab X Y.

Funktsionaalne sõltuvus fikseerib sõltuvale ühe väärtuse. Mitmeväärtuseline sõltuvus lubab sõltumatute väärtuste komplekti, mistõttu vajab see oma atribuuti ja viib neljanda normaalvormini.

Arvuta atribuudikogumi sulund sõltuvuste abil. Kui sulund sisaldab kõiki seose atribuute, on see komplekt supervõti; minimaalne selline komplekt on võtme kandidaat.

Jah. Sõltuvuste avastamise algoritmid, mida mõnikord abistavad tehisintellekt, skaneerivad andmestikku ja pakuvad välja võimalikke sõltuvusi. Disainer peab need kinnitama, sest näidisandmetes tõene muster ei pruugi reeglina kehtida.

See salvestab fakti mitte-võtme atribuudi kohta, seega selle uuendamine võib põhjustada anomaaliaid. Transitiivsete sõltuvuste eemaldamine on just see, mida kolmas normaalvorm nõuab, mis hoiab iga fakti ühes kohas.

Võta see postitus kokku järgmiselt: