Skip to main content

Večvalentna odvisnost v bazah podatkov

Anonim

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 imeMajor
RaviZgodovina umetnosti
BethKemija

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 imeMajorŠport
RaviZgodovina umetnostiNogomet
RaviZgodovina umetnostiOdbojka
RaviZgodovina umetnostiTenis
BethKemijaTenis
BethKemijaNogomet

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.

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 imeMajor
RaviZgodovina umetnosti
RaviZgodovina umetnosti
RaviZgodovina umetnosti
BethKemija
BethKemija

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

Študenti in šport
Študentsko imeŠport
RaviNogomet
RaviOdbojka
RaviTenis
BethTenis
BethNogomet

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.