Večvalentna odvisnost pri oblikovanju baz podatkov

Večvalentna odvisnost prekine četrto normalno obliko

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:

Študenti
Š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:

Študenti
Študentsko ime Major Šport
Ravi Zgodovina umetnosti Nogomet
Ravi Zgodovina umetnosti Odbojka
Ravi Zgodovina umetnosti Tenis
Beth Kemija Tenis
Beth Kemija Nogomet


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:

Student_Name -> -> Major
Student_Name -> -> Š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.

Večvalentna odvisnost in normalizacija

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:

Študenti in vodje
Študentsko ime Major
Ravi Zgodovina umetnosti
Ravi Zgodovina umetnosti
Ravi Zgodovina umetnosti
Beth Kemija
Beth Kemija

Čeprav ima ta tabela tudi eno funkcionalno odvisnost Student_Name -> Sport:

Študenti in šport
Študentsko ime Šport
Ravi Nogomet
Ravi Odbojka
Ravi Tenis
Beth Tenis
Beth Nogomet

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.