Moniarvoinen riippuvuus tietokantoissa

Jonkin sisällä relaatiotietokanta, riippuvuus syntyy, kun samaan tietokantataulukkoon tallennetut tiedot määrittelevät yksiselitteisesti muut samaan taulukkoon tallennetut tiedot. Moniarvoinen riippuvuus syntyy, kun yhden tai useamman rivin läsnäolo taulukossa tarkoittaa yhden tai useamman muun rivin läsnäoloa samassa taulukossa. Toisin sanoen taulukon kaksi attribuuttia (tai saraketta) ovat riippumattomia toisistaan, mutta molemmat riippuvat kolmannesta attribuutista.

Selaa tietokantaa ja etsi lahjoittajia, joista voisi tulla hyviä hallituksen jäseniä.
stevecoleimages/Vetta/Getty Images

Moniarvoinen riippuvuus estää normalisointistandardin neljäs normaalimuoto. Relaatiotietokannat noudattavat viittä normaalia muotoa, jotka edustavat tietueiden suunnittelun ohjeita. Ne estävät päivityspoikkeamat ja epäjohdonmukaisuudet tiedoissa. Neljäs normaalimuoto käsittelee monta-yhteen-suhteita a tietokanta.

Toiminnallinen riippuvuus vs. Moniarvoinen riippuvuus

Moniarvoisen riippuvuuden ymmärtämiseksi on hyödyllistä tarkastella uudelleen, mitä a toiminnallinen riippuvuus On.

Jos attribuutti X määrittää yksiselitteisesti attribuutin Y, niin Y on toiminnallisesti riippuvainen X: stä. Tämä kirjoitetaan X -> Y. Esimerkiksi alla olevassa opiskelijataulukossa opiskelijan_nimi määrittää pääaineen:

Opiskelijan nimi Suuri
Ravi Taidehistoria
Beth Kemia
Opiskelijat


Tämä toiminnallinen riippuvuus voidaan kirjoittaa: Opiskelijan_nimi -> Pääaine. Jokainen opiskelijan_nimi määrittää täsmälleen yhden pääaineen, ei enempää.

Jos haluat tietokannan seuraavan myös näiden opiskelijoiden urheilulajeja, voit ajatella, että helpoin tapa tehdä tämä on vain lisätä toinen sarake nimeltä Urheilu:

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

Ongelma tässä on, että sekä Ravi että Beth harrastavat useita urheilulajeja. Jokaiselle lisälajille on lisättävä uusi rivi.

Tämä taulukko on tuonut käyttöön moniarvoisen riippuvuuden, koska pääaine ja laji ovat toisistaan ​​riippumattomia, mutta molemmat riippuvat opiskelijasta. Tämä on yksinkertainen esimerkki ja helposti tunnistettavissa, mutta moniarvoriippuvuudesta voi tulla ongelma suuressa, monimutkaisessa tietokannassa.

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

Opiskelijan nimi ->-> Suuri
Opiskelijan nimi ->-> Urheilu

Tämä luetaan seuraavasti: "Opiskelijan_nimi määrittää usean pääaineen" ja "Opiskelijan nimi määrittää urheilun useaan otteeseen".

Moniarvoinen riippuvuus vaatii aina vähintään kolme attribuuttia, koska se koostuu vähintään kahdesta attribuutista, jotka ovat riippuvaisia ​​kolmannesta.

Moniarvoinen riippuvuus ja normalisointi

Taulukko, jossa on moniarvoinen riippuvuus, rikkoo neljännen normaalimuodon normalisointistandardia, koska se luo tarpeettomia redundansseja ja voi myötävaikuttaa epäjohdonmukaisiin tietoihin. Jotta tämä saadaan 4NF-arvoon, on tarpeen jakaa nämä tiedot kahteen taulukkoon.

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

Opiskelijan nimi Suuri
Ravi Taidehistoria
Ravi Taidehistoria
Ravi Taidehistoria
Beth Kemia
Beth Kemia
Opiskelijat & pääaineena

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

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

Normalisointi suoritetaan usein yksinkertaistamalla monimutkaisia ​​taulukoita niin, että ne sisältävät liittyvää tietoa yhteen ideaan tai teemaan sen sijaan, että yrittäisit saada yhteen taulukkoon sisältyä liikaa erilaisia ​​tietoja.