Relatsiooniandmebaasis tekib sõltuvus siis, kui samas andmebaasitabelis salvestatud teave määrab üheselt kindlaks muu samasse tabelisse salvestatud teabe. Mitme väärtusega sõltuvus tekib siis, kui ühe või mitme rea olemasolu tabelis eeldab ühe või mitme muu rea olemasolu samas tabelis. Teisisõnu, kaks tabeli atribuuti (või veergu) on üksteisest sõltumatud, kuid mõlemad sõltuvad kolmandast atribuudist.
Mitmeväärtuslik sõltuvus takistab normaliseerimise standardset neljandat normaalvormi. Relatsiooniandmebaasid järgivad viit tavalist vormi, mis esindavad kirje kujundamise juhiseid. Need hoiavad ära värskendusanomaaliaid ja andmete ebakõlasid. Neljas normaalvorm käsitleb paljusid-ühele suhteid andmebaasis.
Funktsionaalne sõltuvus versus mitmeväärtuslik sõltuvus
Mitmeväärtusliku sõltuvuse mõistmiseks on kasulik üle vaadata, mis on funktsionaalne sõltuvus.
Kui atribuut X määrab unikaalselt atribuudi Y, siis Y on funktsionaalselt sõltuv X-st. See on kirjutatud kui X -> Y. Näiteks allolevas õpilaste tabelis määrab Student_Name peamise:
Õpilase_nimi | Major |
---|---|
Ravi | Kunstiajalugu |
Beth | Keemia |
Selle funktsionaalse sõltuvuse saab kirjutada: Õpilase_nimi -> Major. Iga õpilase_nimi määrab täpselt ühe eriala ja mitte rohkem.
Kui soovite, et andmebaas jälgiks ka nende õpilaste spordialasid, võite arvata, et kõige lihtsam viis seda teha on lihts alt lisada veel üks veerg pealkirjaga Sport:
Õpilase_nimi | Major | Sport |
---|---|---|
Ravi | Kunstiajalugu | Jalgpall |
Ravi | Kunstiajalugu | Võrkpall |
Ravi | Kunstiajalugu | Tennis |
Beth | Keemia | Tennis |
Beth | Keemia | Jalgpall |
Siin on probleem selles, et nii Ravi kui ka Beth tegelevad mitme spordialaga. Iga täiendava spordiala jaoks on vaja lisada uus rida.
See tabel on kasutusele võtnud mitme väärtusega sõltuvuse, kuna eriala ja spordiala on üksteisest sõltumatud, kuid mõlemad sõltuvad õpilasest. See on lihtne näide ja kergesti tuvastatav, kuid mitme väärtusega sõltuvus võib saada probleemiks suures ja keerulises andmebaasis.
Mitmeväärtuslik sõltuvus kirjutatakse X ->-> Y. Sel juhul:
Õpilase_nimi ->-> Major
Õpilase_nimi34 -2-6-44 > Sport
Seda loetakse sõnadega "Õpilase_nimi määrab eriala mitmel viisil" ja "Õpilase_nimi määrab mitmel viisil spordi."
Mitmeväärtuslik sõltuvus nõuab alati vähem alt kolme atribuuti, kuna see koosneb vähem alt kahest atribuudist, mis sõltuvad kolmandast.
Mitmeväärtuslik sõltuvus ja normaliseerimine
Mitmeväärtusliku sõltuvusega tabel rikub neljanda normaalvormi normaliseerimisstandardit, kuna see tekitab tarbetuid koondamisi ja võib kaasa aidata vastuolulistele andmetele. Selle 4NF-i suurendamiseks on vaja see teave jagada kahte tabelisse.
Allolevas tabelis on nüüd funktsionaalne sõltuvus Student_Name -> Major, kuid mitte mitmeväärtuslikke sõltuvusi:
Õpilase_nimi | Major |
---|---|
Ravi | Kunstiajalugu |
Ravi | Kunstiajalugu |
Ravi | Kunstiajalugu |
Beth | Keemia |
Beth | Keemia |
Kuigi sellel tabelis on ka üks funktsionaalne sõltuvus Student_Name -> Sport:
Õpilase_nimi | Sport |
---|---|
Ravi | Jalgpall |
Ravi | Võrkpall |
Ravi | Tennis |
Beth | Tennis |
Beth | Jalgpall |
Normaliseerimine saavutatakse sageli keerukate tabelite lihtsustamise teel, nii et need sisaldaksid ühe idee või teemaga seotud teavet, selle asemel, et ühte tabelit liiga palju erinevat teavet sisaldada.