Dependență cu valori multiple în baze de date

Cuprins:

Dependență cu valori multiple în baze de date
Dependență cu valori multiple în baze de date
Anonim

Într-o bază de date relațională, apare o dependență atunci când informațiile stocate în același tabel de bază de date determină în mod unic alte informații stocate în același tabel. O dependență cu mai multe valori apare atunci când prezența unuia sau mai multor rânduri într-un tabel implică prezența unuia sau mai multor alte rânduri în același tabel. Cu alte cuvinte, două atribute (sau coloane) dintr-un tabel sunt independente una de alta, dar ambele depind de un al treilea atribut.

Image
Image

O dependență cu mai multe valori împiedică a patra formă normală standard de normalizare. Bazele de date relaționale urmează cinci forme normale care reprezintă linii directoare pentru proiectarea înregistrărilor. Ele previn anomaliile de actualizare și inconsecvențele în date. A patra formă normală se ocupă de relațiile multi-la-unu dintr-o bază de date.

Dependența funcțională vs. Dependența cu valori multiple

Pentru a înțelege o dependență cu mai multe valori, este util să revizuiți ce este o dependență funcțională.

Dacă un atribut X determină în mod unic un atribut Y, atunci Y depinde funcțional de X. Acesta este scris ca X -> Y. De exemplu, în tabelul Studenți de mai jos, Student_Name determină Major:

Nume_Student Major
Ravi Istoria artei
Beth Chimie

Această dependență funcțională poate fi scrisă: Student_Name -> Major. Fiecare Student_Name determină exact un Major și nu mai mult.

Dacă doriți ca baza de date să urmărească și sporturile pe care le fac acești studenți, ați putea crede că cel mai simplu mod de a face acest lucru este să adăugați o altă coloană intitulată Sport:

Nume_Student Major Sport
Ravi Istoria artei Fotbal
Ravi Istoria artei Volei
Ravi Istoria artei Tenis
Beth Chimie Tenis
Beth Chimie Fotbal

Problema aici este că atât Ravi, cât și Beth joacă mai multe sporturi. Este necesar să adăugați un rând nou pentru fiecare sport suplimentar.

Acest tabel a introdus o dependență multivalorică, deoarece specializarea și sportul sunt independente unul de celăl alt, dar ambele depind de student. Acesta este un exemplu simplu și ușor de identificat, dar o dependență cu mai multe valori ar putea deveni o problemă într-o bază de date mare și complexă.

O dependență cu mai multe valori este scrisă X ->-> Y. În acest caz:

Nume_Student ->-> Major

Nume_Student -6433 > Sport

Acest lucru se citește ca „Numele_Studentul determină în mai multe rânduri Majorul” și „Numele_Studentul determină în mai multe sporturi.”

O dependență cu mai multe valori necesită întotdeauna cel puțin trei atribute, deoarece constă din cel puțin două atribute care depind de un al treilea.

Dependență și normalizare cu valori multiple

Un tabel cu o dependență cu mai multe valori încalcă standardul de normalizare al formei a patra normale, deoarece creează redundanțe inutile și poate contribui la date inconsecvente. Pentru a aduce acest lucru la 4NF, este necesar să împărțiți aceste informații în două tabele.

Tabelul de mai jos are acum o dependență funcțională de Student_Name -> Major și nu există dependențe cu mai multe valori:

Nume_Student Major
Ravi Istoria artei
Ravi Istoria artei
Ravi Istoria artei
Beth Chimie
Beth Chimie

În timp ce acest tabel are, de asemenea, o singură dependență funcțională de Student_Name -> Sport:

Nume_Student Sport
Ravi Fotbal
Ravi Volei
Ravi Tenis
Beth Tenis
Beth Fotbal

Normalizarea se realizează adesea prin simplificarea tabelelor complexe, astfel încât acestea să conțină informații legate de o singură idee sau temă, mai degrabă decât încercarea de a face ca un singur tabel să conțină prea multe informații disparate.

Recomandat: