Zavisnost s više vrijednosti u bazama podataka

Sadržaj:

Zavisnost s više vrijednosti u bazama podataka
Zavisnost s više vrijednosti u bazama podataka
Anonim

U relacijskoj bazi podataka, ovisnost se javlja kada informacije pohranjene u istoj tablici baze podataka jedinstveno određuju druge informacije pohranjene u istoj tablici. Viševrijedna ovisnost javlja se kada prisutnost jednog ili više redaka u tablici implicira prisutnost jednog ili više drugih redaka u toj istoj tablici. Drugim riječima, dva atributa (ili stupca) u tablici neovisna su jedan o drugome, ali oba ovise o trećem atributu.

Image
Image

Zavisnost s više vrijednosti sprječava standardni normalizacijski četvrti normalni oblik. Relacijske baze podataka slijede pet normalnih oblika koji predstavljaju smjernice za dizajn zapisa. Oni sprječavaju anomalije ažuriranja i nedosljednosti u podacima. Četvrti normalni oblik bavi se odnosima više-na-jedan u bazi podataka.

Funkcionalna ovisnost nasuprot ovisnosti s više vrijednosti

Da biste razumjeli viševrijednu ovisnost, korisno je ponovno razmotriti što je funkcionalna ovisnost.

Ako atribut X jedinstveno određuje atribut Y, tada je Y funkcionalno ovisan o X. Ovo je zapisano kao X -> Y. Na primjer, u tablici Studenti ispod, Student_Name određuje smjer:

Ime_učenika glavni
Ravi Povijest umjetnosti
Beth kemija

Ova funkcionalna ovisnost može se napisati: Student_Name -> Major. Svaki Student_Name određuje točno jedan smjer i ništa više.

Ako želite da baza podataka prati i sportove kojima se ti učenici bave, možda mislite da je najlakši način da to učinite dodavanjem još jednog stupca pod naslovom Sport:

Ime_učenika glavni Sport
Ravi Povijest umjetnosti Nogomet
Ravi Povijest umjetnosti Odbojka
Ravi Povijest umjetnosti tenis
Beth kemija tenis
Beth kemija Nogomet

Ovdje je problem što i Ravi i Beth igraju nekoliko sportova. Za svaki dodatni sport potrebno je dodati novi red.

Ova tablica uvela je ovisnost s više vrijednosti jer su smjer i sport neovisni jedan o drugome, ali oba ovise o studentu. Ovo je jednostavan primjer i lako ga je identificirati, ali ovisnost s više vrijednosti mogla bi postati problem u velikoj, složenoj bazi podataka.

Zavisnost s više vrijednosti piše se X ->-> Y. U ovom slučaju:

Student_Name ->-> Major

Student_Name ->- > Sport

Ovo se čita kao "Student_Name multidetermines Major" i "Student_Name multidetermines Sport."

Zavisnost s više vrijednosti uvijek zahtijeva najmanje tri atributa jer se sastoji od najmanje dva atributa koji ovise o trećem.

Multivalued Ovisnost i normalizacija

Tablica s viševrijednom ovisnošću krši standard normalizacije četvrtog normalnog oblika jer stvara nepotrebne redundancije i može pridonijeti nekonzistentnim podacima. Da bi se ovo dovelo do 4NF, potrebno je podijeliti ove informacije u dvije tablice.

Tablica u nastavku sada ima funkcionalnu ovisnost Student_Name -> Major, i nema ovisnosti s više vrijednosti:

Ime_učenika glavni
Ravi Povijest umjetnosti
Ravi Povijest umjetnosti
Ravi Povijest umjetnosti
Beth kemija
Beth kemija

Iako ova tablica također ima jednu funkcionalnu ovisnost Student_Name -> Sport:

Ime_učenika Sport
Ravi Nogomet
Ravi Odbojka
Ravi tenis
Beth tenis
Beth Nogomet

Normalizacija se često postiže pojednostavljivanjem složenih tablica tako da sadrže informacije povezane s jednom idejom ili temom, a ne pokušajem da jedna tablica sadrži previše različitih informacija.

Preporučeni: