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

ordenador sobremesa Deep Gaming

Deep Gaming, la marca española confiable para personalizar un PC

Como en casi todos los ámbitos, en el mundo del gaming hay dos tipos de personas: los que apuestan un por un PC ya configurado o los que quieren personalizar su PC. Para estos últimos, Deep Gaming es una gran opción para empezar a poner a punto su setup. Hablamos de una marca española con

Qué es un CDN y por qué es relevante

Cómo mejorar la experiencia web con un CDN

Imagínate visitar un sitio web y tener que esperar largos segundos para que se cargue cada página o imagen. Esta experiencia frustrante no solo afecta nuestra paciencia, sino que también puede influir negativamente en la percepción de una marca o empresa. Aquí es donde entra en juego el CDN, o Content Delivery Network, una tecnología

como detectar ofertas de trabajo falsas

Ojo con las ofertas de trabajo falsas: aprende a detectarlas

Las ofertas de trabajo falsas están a la orden del día. En muchos casos parecen reales porque coinciden en un momento en el que estamos en búsqueda activa de empleo. Puede que nos hallamos inscrito a un proceso de selección en LinkedIn y, de repente, alguien intenta contactar con nosotros por mail o WhatsApp. A