Dependència multivalor a les bases de dades

Taula de continguts:

Dependència multivalor a les bases de dades
Dependència multivalor a les bases de dades
Anonim

En una base de dades relacional, es produeix una dependència quan la informació emmagatzemada a la mateixa taula de base de dades determina de manera única altra informació emmagatzemada a la mateixa taula. Una dependència multivalor es produeix quan la presència d'una o més files en una taula implica la presència d'una o més files en aquesta mateixa taula. Dit d'una altra manera, dos atributs (o columnes) d'una taula són independents l'un de l' altre, però tots dos depenen d'un tercer atribut.

Image
Image

Una dependència multivalor impedeix la quarta forma normal estàndard de normalització. Les bases de dades relacionals segueixen cinc formes normals que representen pautes per al disseny de registres. Prevenen anomalies d'actualització i inconsistències en les dades. La quarta forma normal tracta de relacions de molts a un en una base de dades.

Dependència funcional vs. dependència multivalor

Per entendre una dependència multivalorada, és útil revisar què és una dependència funcional.

Si un atribut X determina de manera única un atribut Y, aleshores Y depèn funcionalment de X. Això s'escriu com a X -> Y. Per exemple, a la taula d'Estudiants següent, el Nom_Estudiant determina el Major:

Nom_Estudiant Major
Ravi Història de l'art
Beth Química

Aquesta dependència funcional es pot escriure: Student_Name -> Major. Cada Student_Name determina exactament un major i no més.

Si voleu que la base de dades també faci un seguiment dels esports que practiquen aquests estudiants, potser penseu que la manera més senzilla de fer-ho és afegir una altra columna titulada Esport:

Nom_Estudiant Major Esports
Ravi Història de l'art Futbol
Ravi Història de l'art Voleibol
Ravi Història de l'art Tennis
Beth Química Tennis
Beth Química Futbol

El problema aquí és que tant en Ravi com en Beth practiquen diversos esports. Cal afegir una fila nova per a cada esport addicional.

Aquesta taula ha introduït una dependència multivalorada perquè la carrera i l'esport són independents l'un de l' altre però tots dos depenen de l'estudiant. Aquest és un exemple senzill i fàcilment identificable, però una dependència multivalor podria convertir-se en un problema en una base de dades gran i complexa.

S'escriu una dependència multivalor X ->-> Y. En aquest cas:

Nom_Estudiant ->-> Major

Nom_Estudiant -6433 > Esports

Això es llegeix com a "El nom_de_l'estudiant determina de manera múltiple la major" i "El nom_de l'estudiant determina l'esport de manera múltiple".

Una dependència multivalora sempre requereix almenys tres atributs perquè consta d'almenys dos atributs que depenen d'un tercer.

Dependència i normalització multivalores

Una taula amb una dependència multivalora infringeix l'estàndard de normalització de la quarta forma normal perquè crea redundàncies innecessàries i pot contribuir a dades inconsistents. Per portar-ho a 4NF, cal dividir aquesta informació en dues taules.

La taula següent ara té una dependència funcional de Student_Name -> Major, i no hi ha cap dependència multivalor:

Nom_Estudiant Major
Ravi Història de l'art
Ravi Història de l'art
Ravi Història de l'art
Beth Química
Beth Química

Tot i que aquesta taula també té una única dependència funcional de Student_Name -> Sport:

Nom_Estudiant Esports
Ravi Futbol
Ravi Voleibol
Ravi Tennis
Beth Tennis
Beth Futbol

La normalització s'aconsegueix sovint simplificant taules complexes de manera que continguin informació relacionada amb una sola idea o tema en lloc d'intentar que una sola taula contingui massa informació dispar.

Recomanat: