Dependencia funcional en sistemas de gestión de bases de datos: tipos con ejemplos
⚡ Resumen inteligente
La dependencia funcional es una restricción que determina cómo se relaciona un atributo con otro en un sistema de gestión de bases de datos (DBMS). Es fundamental para la normalización, ya que identifica determinantes y dependientes, y se clasifica en dependencias multivaluadas, triviales, no triviales y transitivas.

¿Qué es la dependencia funcional?
Dependencia Funcional (DF) La dependencia funcional es una restricción que determina la relación entre un atributo y otro en un Sistema de Gestión de Bases de Datos (SGBD). Ayuda a mantener la calidad de los datos en la base de datos y desempeña un papel fundamental para distinguir entre un buen y un mal diseño de base de datos.
Una dependencia funcional se denota con una flecha “→”. La dependencia funcional de Y respecto a X se representa como X → Y. Veamos un ejemplo para comprender la dependencia funcional.
Ejemplo:
| Número de empleado | Nombre de empleado | Sueldo | Ciudad |
|---|---|---|---|
| 1 | Dana | 50000 | San Francisco |
| 2 | Francis | 38000 | Londres |
| 3 | Andrew | 25000 | Tokio |
En este ejemplo, si conocemos el número de empleado, podemos obtener su nombre, ciudad, salario, etc. Por lo tanto, podemos afirmar que la ciudad, el nombre y el salario dependen funcionalmente del número de empleado.
Términos Clave
A continuación se presentan algunos términos clave para la dependencia funcional en una base de datos:
| Términos Clave | Mareas Ideales para Lecciones |
|---|---|
| Axiom | Los axiomas son un conjunto de reglas de inferencia que se utilizan para deducir todas las dependencias funcionales de una base de datos relacional. |
| Descomposición | Una regla que sugiere que si tienes una tabla que parece contener dos entidades determinadas por la misma clave primaria, deberías considerar dividirla en dos tablas diferentes. |
| Dependiente | Se muestra en el lado derecho del diagrama de dependencia funcional. |
| Determinante | Se muestra en el lado izquierdo del diagrama de dependencia funcional. |
| Union | Esto sugiere que si dos tablas están separadas y la clave primaria es la misma, deberías considerar combinarlas. |
Reglas de dependencias funcionales (Axiomas de Armstrong)
A continuación se presentan las tres reglas más importantes para la dependencia funcional en una base de datos. Se conocen como los axiomas de Armstrong, y a partir de ellos se pueden derivar todas las demás reglas de inferencia.
- Regla reflexiva: Si X es un conjunto de atributos e Y es un subconjunto de X, entonces se cumple que X → Y.
- Regla de aumento: Cuando se cumple X → Y y C es un conjunto de atributos, entonces también se cumple XC → YC. Agregar atributos no altera la dependencia básica.
- Regla de transitividad: Similar a la regla transitiva en álgebra: si X → Y se cumple y Y → Z se cumple, entonces X → Z también se cumple.
De estas se derivan otras tres reglas que se utilizan constantemente en la práctica:
- Regla del sindicato: Si X → Y y X → Z, entonces X → YZ.
- Regla de descomposición: Si X → YZ, entonces X → Y y X → Z.
- Regla de pseudotransitividad: Si X → Y y WY → Z, entonces WX → Z.
Aplicar estas reglas repetidamente a un conjunto de dependencias produce su cierre, el conjunto completo de dependencias que siguen lógicamente. El cierre de un conjunto de atributos también es la forma en que se encuentran las claves candidatas, lo que se vincula directamente con el estudio de claves del sistema de gestión de bases de datos (DBMS).
Tipos de dependencias funcionales en DBMS
En los sistemas de gestión de bases de datos (DBMS) existen principalmente cuatro tipos de dependencia funcional:
- Dependencia multivalor
- Dependencia funcional trivial
- Dependencia funcional no trivial
- Dependencia transitiva
Dependencia multivalor en DBMS
La dependencia multivaluada se produce cuando existen múltiples atributos multivaluados independientes en una misma tabla. Una dependencia multivaluada es una restricción completa entre dos conjuntos de atributos en una relación, que requiere la presencia de ciertas tuplas. Considere el siguiente ejemplo.
Ejemplo:
| Modelo de auto | Maf_año | Color |
|---|---|---|
| H001 | 2017 | Metálico |
| H001 | 2017 | Verde |
| H005 | 2018 | Metálico |
| H005 | 2018 | Azul |
| H010 | 2015 | Metálico |
| H033 | 2012 | Gris |
En este ejemplo, Maf_year y Color son independientes entre sí, pero dependen de Car_model. Se dice que estas dos columnas son multivalor dependientes de Car_model. Esto se representa como:
modelo_de_coche → año_maf
modelo_de_coche → color
Dependencia funcional trivial en DBMS
Una dependencia trivial es un conjunto de atributos que se denomina trivial si dicho conjunto de atributos está incluido en ese atributo. Por lo tanto, X → Y es una dependencia funcional trivial si Y es un subconjunto de X. Considere el siguiente ejemplo.
| Emp_id | Emp_nombre |
|---|---|
| AS555 | Harry |
| AS811 | George |
| AS999 | Kevin |
Consideremos esta tabla con dos columnas, Emp_id y Emp_name. {Emp_id, Emp_name} → Emp_id es una dependencia funcional trivial, ya que Emp_id es un subconjunto de {Emp_id, Emp_name}.
Dependencia funcional no trivial en sistemas de gestión de bases de datos
Existe una dependencia no trivial cuando se cumple la condición A → B y B no es un subconjunto de A. Si el atributo B no es un subconjunto del atributo A, la dependencia se considera no trivial.
| Empresa | CEO | Edad |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Apple | Tim Cook | 57 |
Ejemplo:
{Empresa} → {CEO} (si conocemos la empresa, conocemos el nombre del CEO). Pero CEO no es un subconjunto de la empresa, por lo que se trata de una dependencia funcional no trivial.
Dependencia transitiva en DBMS
Una dependencia transitiva es un tipo de dependencia funcional que se produce cuando un atributo está determinado indirectamente por dos dependencias funcionales. Considere el siguiente ejemplo.
| Empresa | CEO | Edad |
|---|---|---|
| Microsoft | Satya Nadella | 51 |
| Sundar Pichai | 46 | |
| Alibaba | Jack Ma | 54 |
{Empresa} → {CEO} (si conocemos la empresa, conocemos el nombre de su CEO).
{CEO} → {Edad} (si conocemos al CEO, conocemos su edad).
Por lo tanto, según la regla de dependencia transitiva, {Empresa} → {Edad} debería cumplirse, lo cual tiene sentido porque si conocemos el nombre de la empresa, podemos encontrar la edad.
Nota: la dependencia transitiva solo puede darse en una relación de tres o más atributos.
¿Qué es la normalización?
La normalización es un método para organizar los datos en una base de datos que ayuda a evitar la redundancia de datos y las anomalías de inserción, actualización y eliminación. Es un proceso de análisis de los esquemas de relación en función de sus diferentes dependencias funcionales y la clave primaria.
La normalización es inherente a la teoría de bases de datos relacionales. Puede tener el efecto de dividir los datos en tablas adicionales de modo que cada hecho se almacene una sola vez. El proceso completo se cubre en la guía para normalización de base de datos, que se basa directamente en los tipos de dependencia anteriores.
Ventajas de la dependencia funcional
- La dependencia funcional evita la redundancia de datos, por lo que los mismos datos no se repiten en múltiples ubicaciones en el base de datos de CRISPR Medicine News.
- Ayuda a mantener la calidad de los datos en la base de datos.
- Ayuda a definir los significados y las limitaciones de las bases de datos.
- Te ayuda a identificar malos diseños.
- Te ayuda a encontrar información sobre el diseño de la base de datos.
