Relaatiotietokannassa 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 toisistaan riippumattomia, mutta molemmat riippuvat kolmannesta attribuutista.
Moniarvoinen riippuvuus estää standardointistandardin 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 useat yhteen -suhteita tietokannassa.
Toiminnallinen riippuvuus vs. moniarvoinen riippuvuus
Moniarvoisen riippuvuuden ymmärtämiseksi on hyödyllistä pohtia uudelleen, mikä 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 Student_Name määrittää pääaineen:
Opiskelijan nimi | Tärkeä |
---|---|
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 pitävän kirjaa myös näiden opiskelijoiden urheilulajeista, voit ajatella, että helpoin tapa tehdä tämä on vain lisätä toinen sarake nimeltä Urheilu:
Opiskelijan nimi | Tärkeä | Urheilu |
---|---|---|
Ravi | taidehistoria | Jalkapallo |
Ravi | taidehistoria | Lentopallo |
Ravi | taidehistoria | Tennis |
Beth | Kemia | Tennis |
Beth | Kemia | Jalkapallo |
Opiskelijat Ongelmana tässä on se, että Ravi ja Beth harrastavat eri urheilulajeja. Jokaiselle ylimääräiselle 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 helppo havaita, mutta moniarvoinen riippuvuus voi muodostua ongelmaksi suuressa ja monimutkaisessa tietokannassa. Moniarvoinen riippuvuus kirjoitetaan X ->-> Y. Tässä tapauksessa:
Opiskelijan nimi ->-> Tärkeä
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 riippuvat 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ä saataisiin 4NF:ään, on tarpeen jakaa nämä tiedot kahteen taulukkoon. Alla olevassa taulukossa on nyt toiminnallinen riippuvuus Student_Name -> Major, eikä moniarvoisia riippuvuuksia:
Opiskelijan nimi | Tärkeä |
---|---|
Ravi | taidehistoria |
Ravi | taidehistoria |
Ravi | taidehistoria |
Beth | Kemia |
Beth | Kemia |
Opiskelijat ja pääaineet Vaikka tässä taulukossa on myös yksi toiminnallinen riippuvuus Student_Name -> Urheilusta:
Opiskelijan nimi | Urheilu |
---|---|
Ravi | Jalkapallo |
Ravi | Lentopallo |
Ravi | Tennis |
Beth | Tennis |
Beth | Jalkapallo |
Opiskelijat ja urheilu Normalisointi saavutetaan 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.
Tilaa uutiskirje
Tilaa uutiskirje
Tilaa uutiskirje
Tilaa uutiskirje
Tilaa uutiskirje