Monimuotoinen riippuvuus tietokannan suunnittelussa

Monimuotoinen riippuvuus rikkoo neljännen normaalin muodon

Relaatiotietokannassa riippuvuus ilmenee, kun samaan tietokantataulukkoon tallennetut tiedot määrittävät yksiselitteisesti samaan taulukkoon tallennetut muut tiedot. Moniarvoista riippuvuutta esiintyy, kun taulukon yhden tai useamman rivin läsnäolo merkitsee yhden tai useamman rivin esiintymistä samassa taulukossa. Toinen tapa, taulukossa kaksi attribuuttia (tai sarakkeet) ovat toisistaan ​​riippumattomia, mutta molemmat riippuvat kolmannesta määritteestä.

Monimuotoinen riippuvuus estää normalisointistandardin neljännen normaalin muodon (4NF). Relaatiotietokannat noudattavat viittä normaalia lomaketta, jotka edustavat tietojenkäsittelyn ohjeita. Ne estävät tietojen päivityksen poikkeavuuksia ja epäjohdonmukaisuuksia. Neljäs normaali lomake käsittelee tietokannoissa monia-suhteita.

Toiminnallinen riippuvuus vs. monimuotoinen riippuvuus

Yliarvoisen riippuvuuden ymmärtäminen on hyödyllistä tarkastella uudelleen, mikä on funktionaalinen riippuvuus.

Jos attribuutti X määrittää yksilöllisesti attribuutin Y, niin Y on funktionaalisesti riippuvainen X: stä. Tämä on kirjoitettu X -> Y: ksi. Esimerkiksi opiskelijan taulukossa Student_Name määrittää Major:

opiskelijat
Opiskelijan nimi Suuri
Ravi Taidehistoria
Beth Kemia


Tämä funktionaalinen riippuvuus voidaan kirjoittaa: Student_Name -> Major . Jokainen Student_Name määrittelee täsmälleen yhden Major, eikä enää.

Jos haluat, että tietokanta seuraa myös näiden oppilaiden urheilua, voit ajatella, että helpoin tapa tehdä tämä on vain lisätä toinen sarake, jonka otsikko on Urheilu:

opiskelijat
Opiskelijan nimi Suuri Urheilu
Ravi Taidehistoria Jalkapallo
Ravi Taidehistoria Lentopallo
Ravi Taidehistoria Tennis
Beth Kemia Tennis
Beth Kemia Jalkapallo


Ongelmana on, että sekä Ravi että Beth pelaavat useita urheilulajeja. Jokaiseen ylimääräiseen urheilulajiin on lisättävä uusi rivi.

Tämä taulukko on tuonut moniarvoisen riippuvuuden, koska pääosa ja urheilu ovat toisistaan ​​riippumattomia, mutta molemmat riippuvat oppilasta.

Tämä on yksinkertainen esimerkki ja helposti tunnistettavissa oleva, mutta moniarvoinen riippuvuus voi olla ongelma suuressa, monimutkaisessa tietokannassa.

Moniarvoinen riippuvuus kirjoitetaan X -> -> Y: llä. Tässä tapauksessa:

Opiskelijan nimi -> -> Major
Student_Name -> -> Urheilu

Tätä luetaan nimellä "Student_Name multidetermines Major" ja "Student_Name multidetermines Sport".

Moniarvoinen riippuvuus edellyttää aina vähintään kolmea attribuuttia, koska se koostuu vähintään kahdesta määritteestä, jotka ovat riippuvaisia ​​kolmannesta.

Monimuotoinen riippuvuus ja normalisointi

Taulukko, jossa on monimuotoinen riippuvuus, rikkoo neljännen normaalimuodon (4NK) normalisointistandardia, koska se luo tarpeettomia irtisanomisia ja voi johtaa epäjohdonmukaisiin tietoihin. Jotta tämä saataisiin jopa 4 NF: n, on välttämätöntä murtaa nämä tiedot kahteen tauluun.

Alla olevassa taulukossa on funktionaalinen riippuvuus Student_Name -> Major, eikä moniarvoisia riippuvuuksia:

Opiskelijat ja päälliköt
Opiskelijan nimi Suuri
Ravi Taidehistoria
Ravi Taidehistoria
Ravi Taidehistoria
Beth Kemia
Beth Kemia

Vaikka tässä taulukossa on myös yksi toiminnallinen riippuvuus Student_Name -> Sport:

Opiskelijat ja urheilu
Opiskelijan nimi Urheilu
Ravi Jalkapallo
Ravi Lentopallo
Ravi Tennis
Beth Tennis
Beth Jalkapallo

On selvää, että normalisointi kohdistuu usein yksinkertaistamalla monimutkaisia ​​taulukoita niin, että ne sisältävät tietoja yhdestä ideasta tai teemasta sen sijaan, että yritettäisiin tehdä yhdestä taulukosta liian paljon erilaisia ​​tietoja.