Mitmeväärtuslik sõltuvus andmebaasides

Sisukord:

Mitmeväärtuslik sõltuvus andmebaasides
Mitmeväärtuslik sõltuvus andmebaasides
Anonim

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.

Image
Image

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.