Višesamilna ovisnost prekida četvrti normalan oblik
U relacijskoj bazi podataka, ovisnost se događa kada informacije pohranjene u istoj tablici baze podataka jedinstveno određuju druge podatke pohranjene u istoj tablici. Višeslojna ovisnost nastaje kada prisutnost jednog ili više redaka u tablici podrazumijeva prisutnost jednog ili više drugih redaka u istoj tablici. Drugo, dva atributa (ili stupci) u tablici su međusobno neovisni, ali oboje ovise o trećem atributu.
Mnogobojna ovisnost sprječava normizacijski standard četvrti normalan oblik (4NF). Relacijske baze podataka slijede pet normalnih oblika koji predstavljaju smjernice za dizajn rekorda. Oni sprečavaju ažuriranje anomalija i nedosljednosti u podacima. Četvrti normalan oblik bavi se mnogostrukim odnosima u bazi podataka .
Ovisnost funkcionalne ovisnosti ili više vrijednosti
Da biste razumjeli višenamjensku ovisnost, korisno je ponovno provjeriti funkcionalnu ovisnost.
Ako atribut X jedinstveno određuje atribut Y, onda Y funkcionalno ovisi o X. To je napisano kao X -> Y. Na primjer, u Studentskoj tablici ispod, Student_Name određuje Major:
Ime studenta | glavni |
---|---|
Ravi | Povijest umjetnosti |
Bet | Kemija |
Ova funkcionalna ovisnost može se napisati: Student_Name -> Major . Svaki Student_Name određuje točno jednog bojnika, a ne više.
Ako želite da baza podataka prati i sportove koje studenti uče, možda mislite da je najlakši način da to učinite samo dodati još jedan stupac pod nazivom Sport:
Ime studenta | glavni | Sport |
---|---|---|
Ravi | Povijest umjetnosti | Nogomet |
Ravi | Povijest umjetnosti | odbojka |
Ravi | Povijest umjetnosti | Tenis |
Bet | Kemija | Tenis |
Bet | Kemija | Nogomet |
Problem je u tome što i Ravi i Beth igraju više sportova. Potrebno je dodati novi red za svaki dodatni sport.
Ta tablica uvodi višeznačnu ovisnost jer su glavni i sportni međusobno neovisni, ali oboje ovise o studentu.
Ovo je jednostavan primjer i lako prepoznatljiva, no ovisnost više vrijednosti mogla bi postati problem u velikoj, složenoj bazi podataka.
Mnogobojna ovisnost napisana je X -> -> Y. U ovom slučaju:
Student_Name -> -> Major
Student_Name -> -> Sport
Ovo se glasi kao "Student_Name multidetermines Major" i "Student_Name multidetermines Sport".
Mnogobrojna ovisnost uvijek zahtijeva najmanje tri atributa jer se sastoji od najmanje dva atributa koji ovise o trećoj.
Ovisnost i normalizacija više vrijednosti
Tablica s višeznačnom ovisnošću krši standard normalizacije Četvrtog normalnog obrasca (4NK) jer stvara nepotrebne redundancije i može doprinijeti nedosljednim podacima. Da bi se to dovelo do 4NF, potrebno je razbiti te podatke u dvije tablice.
U sljedećoj je tablici funkcionalna ovisnost Studentskog imena -> Major, i bez viševalificiranih zavisnosti:
Ime studenta | glavni |
---|---|
Ravi | Povijest umjetnosti |
Ravi | Povijest umjetnosti |
Ravi | Povijest umjetnosti |
Bet | Kemija |
Bet | Kemija |
Iako ova tablica također ima jednu funkcionalnu ovisnost Studentskog imena -> Sport:
Ime studenta | Sport |
---|---|
Ravi | Nogomet |
Ravi | odbojka |
Ravi | Tenis |
Bet | Tenis |
Bet | Nogomet |
Jasno je da se normalizacija često rješava pojednostavljenjem složenih tablica tako da sadrži informacije povezane s jedinom idejom ili temom, a ne pokušavajući napraviti jednu tablicu sadrže previše različitih informacija.