Večvrednostna odvisnost v zbirkah podatkov

Kazalo:

Večvrednostna odvisnost v zbirkah podatkov
Večvrednostna odvisnost v zbirkah podatkov
Anonim

V relacijski bazi podatkov se odvisnost pojavi, ko informacije, shranjene v isti tabeli baze podatkov, enolično določajo druge informacije, shranjene v isti tabeli. Večvrednostna odvisnost se pojavi, ko prisotnost ene ali več vrstic v tabeli implicira prisotnost ene ali več drugih vrstic v tej isti tabeli. Povedano drugače, dva atributa (ali stolpca) v tabeli sta neodvisna drug od drugega, oba pa sta odvisna od tretjega atributa.

Image
Image

Večvrednostna odvisnost preprečuje normalizacijski standard četrte normalne oblike. Relacijske baze podatkov sledijo petim običajnim oblikam, ki predstavljajo smernice za oblikovanje zapisa. Preprečujejo anomalije pri posodabljanju in nedoslednosti v podatkih. Četrta običajna oblika se ukvarja z razmerji mnogo proti ena v bazi podatkov.

Funkcionalna odvisnost v primerjavi z odvisnostjo z več vrednostmi

Da bi razumeli odvisnost z več vrednostmi, je koristno ponovno preučiti, kaj je funkcionalna odvisnost.

Če atribut X enolično določa atribut Y, potem je Y funkcionalno odvisen od X. To je zapisano kot X -> Y. Na primer, v spodnji tabeli študentov ime_študenta določa smer:

Ime_študenta glavni
Ravi Umetnostna zgodovina
Beth kemija

To funkcionalno odvisnost lahko zapišemo: Student_Name -> Major. Vsako ime_študenta določa točno eno smer in nič več.

Če želite, da baza podatkov spremlja tudi športe, s katerimi se ukvarjajo ti študenti, se vam morda zdi, da je najlažji način za to, da dodate še en stolpec z naslovom Šport:

Ime_študenta glavni šport
Ravi Umetnostna zgodovina Nogomet
Ravi Umetnostna zgodovina Odbojka
Ravi Umetnostna zgodovina tenis
Beth kemija tenis
Beth kemija Nogomet

Težava tukaj je, da tako Ravi kot Beth igrata več športov. Za vsak dodatni šport je potrebno dodati novo vrstico.

Ta tabela je uvedla večvrednostno odvisnost, ker sta smer in šport neodvisna drug od drugega, vendar sta oba odvisna od študenta. To je preprost primer, ki ga je zlahka prepoznati, vendar bi večvrednostna odvisnost lahko postala težava v veliki, zapleteni bazi podatkov.

Večvrednostna odvisnost je zapisana X ->-> Y. V tem primeru:

Ime_študenta ->-> Major

Ime_študenta ->- > Šport

To se bere kot "Student_Name multidetermines Major" in "Student_Name multidetermines Sport."

Večvrednostna odvisnost vedno zahteva vsaj tri atribute, ker je sestavljena iz vsaj dveh atributov, ki sta odvisna od tretjega.

Večvrednostna odvisnost in normalizacija

Tabela z večvrednostno odvisnostjo krši normalizacijski standard četrte normalne oblike, ker ustvarja nepotrebne redundance in lahko prispeva k nedoslednim podatkom. Da bi to pripeljali do 4NF, je treba te podatke razdeliti v dve tabeli.

Spodnja tabela ima zdaj funkcionalno odvisnost Student_Name -> Major in nobenih odvisnosti z več vrednostmi:

Ime_študenta glavni
Ravi Umetnostna zgodovina
Ravi Umetnostna zgodovina
Ravi Umetnostna zgodovina
Beth kemija
Beth kemija

Medtem ko ima ta tabela tudi eno samo funkcionalno odvisnost od Student_Name -> Sport:

Ime_študenta šport
Ravi Nogomet
Ravi Odbojka
Ravi tenis
Beth tenis
Beth Nogomet

Normalizacijo pogosto dosežemo s poenostavitvijo zapletenih tabel, tako da vsebujejo informacije, povezane z eno samo idejo ali temo, namesto da poskušamo narediti eno tabelo, ki vsebuje preveč različnih informacij.

Priporočena: