V relacijski podatkovni bazi se odvisnost pojavi, ko podatki, shranjeni v isti tabeli zbirke podatkov, edinstveno določajo druge podatke, shranjene v isti tabeli. Večvalentna odvisnost se pojavi, če prisotnost ene ali več vrstic v tabeli pomeni prisotnost ene ali več vrstic v isti tabeli. Postavite drug način, dve atributi (ali stolpci) v tabeli so neodvisni drug od drugega, vendar sta oba odvisni od tretjega atributa.
Večvalentna odvisnost preprečuje normalizacijo standardne četrte normalne oblike (4NF). Relacijske podatkovne baze sledijo petim običajnim oblikam, ki predstavljajo smernice za zasnovo zapisov. Preprečujejo anomalije in nedoslednosti v podatkih. Četrta normalna oblika obravnava razmerje mnogih v eno v zbirki podatkov.
Funkcionalna odvisnost glede na večvalentno odvisnost
Da bi razumeli večvalentno odvisnost, je koristno ponovno preučiti, kakšna je funkcionalna odvisnost.
Če atribut X enolično določa atribut Y, potem je Y funkcijsko odvisen od X. To je napisano kot X -> Y. Na primer, v tabeli Študenti spodaj Student_Name določa glavnega:
Študentsko ime | Major |
---|---|
Ravi | Zgodovina umetnosti |
Beth | Kemija |
To funkcionalno odvisnost lahko zapišemo: Student_Name -> Major . Vsak Student_Name natančno določi enega glavnega in ne več. Če želite, da baza podatkov tudi spremlja šport, ki ga ti učenci sprejmejo, lahko mislite, da je najlažji način, da to storite le, da dodate nov stolpec z naslovom Šport: Problem je v tem, da Ravi in Beth igrajo več športov. Za vsak dodatni šport je treba dodati novo vrstico. Ta tabela je uvedla večvalentno odvisnost, saj sta glavna in šport neodvisna drug od drugega, vendar sta oba odvisni od študenta. To je preprost primer in ga je mogoče identificirati, vendar bi lahko večplastna odvisnost postala težava v veliki, kompleksni bazi podatkov. Večvalentna odvisnost je napisana X -> -> Y. V tem primeru: Študentsko ime ->-> MajorŠtudentsko ime->-> Šport
To se glasi kot "Student_Name multidetermines Major" in "Student_Name multidetermines Sport." Večvalentna odvisnost vedno zahteva vsaj tri atribute, ker je sestavljena iz vsaj dveh atributov, ki so odvisni od tretje. Tabela z večvalentno odvisnostjo krši standardizacijski standard četrtega običajnega obrazca (4NK), ker ustvarja nepotrebne odvečne delavce in lahko prispeva k neskladnim podatkom. Da bi to dosegli do 4NF, je treba te informacije razbiti v dve tabeli. Spodnja tabela ima funkcionalno odvisnost Student_Name -> Major in brez večvalentnih odvisnosti: Čeprav ima ta tabela tudi eno funkcionalno odvisnost Student_Name -> Sport: Jasno je, da se s poenostavljanjem zapletenih tabel pogosto obravnava normalizacijo, tako da vsebujejo informacije, povezane z eno idejo ali temo, namesto da poskušajo narediti eno samo tabelo vsebovati preveč različnih informacij.Študentsko ime Major Šport Ravi Zgodovina umetnosti Nogomet Ravi Zgodovina umetnosti Odbojka Ravi Zgodovina umetnosti Tenis Beth Kemija Tenis Beth Kemija Nogomet Večvalentna odvisnost in normalizacija
Študentsko ime Major Ravi Zgodovina umetnosti Ravi Zgodovina umetnosti Ravi Zgodovina umetnosti Beth Kemija Beth Kemija Študentsko ime Šport Ravi Nogomet Ravi Odbojka Ravi Tenis Beth Tenis Beth Nogomet