Evite dependencias multivaluadas dividiendo los datos en varias tablas

Evite dependencias multivaluadas dividiendo los datos en varias tablas

Evite dependencias multivaluadas dividiendo los datos en varias tablas

VALORACIÓN DEL ARTÍCULO:
5/5


En una base de datos relacional, se produce una dependencia cuando la información almacenada en la misma tabla de base de datos determina de manera única otra información almacenada en la misma tabla. Una dependencia multivaluada ocurre cuando la presencia de una o más filas en una tabla implica la presencia de una o más filas en esa misma tabla. Dicho de otra manera, dos atributos (o columnas) en una tabla son independientes entre sí, pero ambos dependen de un tercer atributo.

Una dependencia multivaluada impide la normalización estándar de la cuarta forma normal (4NF). Las bases de datos relacionales siguen cinco formas normales que representan pautas para el diseño de registros. Evitan anomalías de actualización e inconsistencias en los datos. El cuarto formulario normal trata de las relaciones entre varios en una base de datos.

Dependencia funcional frente a dependencia multivaluada

Para entender una dependencia multivaluada, es útil volver a examinar lo que es una dependencia funcional.

Si un atributo X determina unívocamente un atributo Y, entonces Y depende funcionalmente de X. Esto se escribe como X -> Y. Por ejemplo, en la tabla de Estudiantes de abajo, el Nombre_Estudiante determina el Mayor:

Nombre_del_estudianteNombreMayorRaviArte HistoriaBetoQuímicaEstudiantes

Esta dependencia funcional se puede escribir: Student_Name -> Major .

Si quieres que la base de datos también rastree los deportes que practican estos estudiantes, puedes pensar que la forma más fácil de hacerlo es añadir otra columna titulada Deporte:

Nombre_del_estudianteMayor parte delSportRaviArt HistoriaSoccerRaviArt HistoriaVolleyballRaviHistoria delArteTenisBethChemistryTenisBethChemistrySoccerStudents

El problema aquí es que tanto Ravi como Beth practican varios deportes. Es necesario añadir una nueva fila para cada deporte adicional.

Esta tabla ha introducido una dependencia multivaluada porque la carrera y el deporte son independientes entre sí, pero ambos dependen del estudiante. Este es un ejemplo simple y fácilmente identificable, pero una dependencia de valores múltiples podría convertirse en un problema en una base de datos grande y compleja.

Una dependencia multivaluada se escribe X ->-> Y. En este caso:

Student_Name ->-> Major
Student_Name ->-> Sport

Se lee como «Student_Name multidetermines Major» y «Student_Name multidetermines Sport».

Una relación de objetos multivaluada siempre requiere al menos tres atributos, ya que consta de al menos dos atributos que dependen de un tercero.

Dependencia y normalización multivaluada

Una tabla con una dependencia multivaluada viola el estándar de normalización de la cuarta forma normal (4NK) porque crea redundancias innecesarias y puede contribuir a la obtención de datos inconsistentes. Para llevar esto a 4NF, es necesario dividir esta información en dos tablas.

La siguiente tabla ahora tiene una dependencia funcional de Student_Name -> Major, y ninguna dependencia multivaluada:

Nombre_del_estudianteNombreMayoritariaHistoria deRaviArteHistoria deRaviArteBethChemistryBethChemistryStudents & Majors

Mientras que esta tabla también tiene una única dependencia funcional de Student_Name -> Sport:

Nombre_EstudianteSportRaviSoccerRaviVolleyballRaviTennisBethTennisBethSoccerStudents & Sports

Está claro que la normalización a menudo se aborda simplificando tablas complejas para que contengan información relacionada con una sola idea o tema, en lugar de tratar de hacer que una sola tabla contenga demasiada información dispar.

TAMBIÉN TE INTERESA

SPC Care

Así funciona SPC Care, la primera app de cuidado de personas mayores en remoto

Presentada en 2024, SPC Care es la primera app en España de cuidado a distancia de los mayores. La solución, exclusiva de la marca para dispositivos SPC, permite a cuidadores y familiares de personas mayores controlar de forma remota el teléfono móvil del usuario sénior mediante la gestión de la completa totalidad de los parámetros del dispositivo para facilitar

Peugeot-ChatGPT

Ok Peugeot: un año de idilio entre Peugeot-ChatGPT

Para quien aún no lo sepa, ChatGPT no solo está presente en el móvil y en el ordenador, sino también en los coches. Desde el matrimonio Peugeot-ChatGPT, la firma francesa cumple su primer aniversario con esta herramienta con resultados muy satisfactorios. La marca fue una de las primeras del sector en integrar la Inteligencia Artificial

Apple-iPad-Air con chip M3

Apple lanza el iPad Air con chip M3 y Apple Intelligence

Apple ha presentado la nueva generación del iPad Air con chip M3, una actualización que mejora significativamente el rendimiento, la eficiencia y la experiencia del usuario. La llegada del chip M3 y la integración de Apple Intelligence convierten a esta tableta en una opción aún más potente y versátil. Con dos tamaños de pantalla, compatibilidad

componentes tecnología

Memoria RAM en tu smartphone: ¿cuanta más mejor?

A la hora de comprar un nuevo teléfono, la elección de la memoria RAM en tu smartphone dice muchas cosas sobre el uso que le vayas a dar a tu dispositivo. Junto a este componente, las otras opciones por las que un móvil es más seductor para el consumidor son su cámara, el diseño, la