Moniarvoinen riippuvuus tietokantoissa

Sisällysluettelo:

Moniarvoinen riippuvuus tietokantoissa
Moniarvoinen riippuvuus tietokantoissa
Anonim

Relaatiotietokannassa riippuvuus syntyy, kun samaan tietokantataulukkoon tallennetut tiedot määrittävä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.

Image
Image

Moniarvoinen riippuvuus estää normalisointistandardin neljännen normaalimuodon. 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 useat yhteen -suhteita tietokannassa.

Funktionaalinen riippuvuus vs. moniarvoinen riippuvuus

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

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

Opiskelijan_nimi Majuri
Ravi Taidehistoria
Beth Kemia

Tämä toiminnallinen riippuvuus voidaan kirjoittaa: Opiskelijan_nimi -> Pääaine. Jokainen opiskelijan_nimi määrittää täsmälleen yhden pääaineen eikä 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 Majuri Urheilu
Ravi Taidehistoria Jalkapallo
Ravi Taidehistoria Lentopallo
Ravi Taidehistoria Tennis
Beth Kemia Tennis
Beth Kemia Jalkapallo

Ongelma tässä on se, että Ravi ja Beth harrastavat useita urheilulajeja. Jokaiselle urheilulajille on lisättävä uusi rivi.

Tässä taulukossa on otettu käyttöön moniarvoinen riippuvuus, 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 ->-> Major

Opiskelijan_nimi34 > Urheilu

Tämä luetaan seuraavasti: "Opiskelijan_nimi määrittää usean pääaineen" ja "Opiskelijan_nimi määrää urheilun."

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 aiheuttaa epäjohdonmukaisia tietoja. Jotta tämä saadaan 4NF-arvoon, on tarpeen jakaa nämä tiedot kahteen taulukkoon.

Alla olevassa taulukossa on nyt opiskelijan_nimi -> pääaineen toiminnallinen riippuvuus, eikä moniarvoisia riippuvuuksia:

Opiskelijan_nimi Majuri
Ravi Taidehistoria
Ravi Taidehistoria
Ravi Taidehistoria
Beth Kemia
Beth Kemia

Vaikka tässä taulukossa on myös yksi toiminnallinen riippuvuus Student_Namesta -> Urheilu:

Opiskelijan_nimi Urheilu
Ravi Jalkapallo
Ravi Lentopallo
Ravi Tennis
Beth Tennis
Beth Jalkapallo

Normalointi suoritetaan usein yksinkertaistamalla monimutkaisia taulukoita niin, että ne sisältävät yhteen ideaan tai teemaan liittyvää tietoa sen sijaan, että yksi taulukko sisältäisi liikaa erilaisia tietoja.