Dependencia funcional en DBMS: qué es, tipos y ejemplos

¿Qué es la dependencia funcional?

Dependencia Funcional (DF) es una restricción que determina la relación de un atributo con otro atributo en un sistema de gestión de bases de datos (DBMS). La dependencia funcional ayuda a mantener la calidad de los datos en la base de datos. Desempeña un papel vital para encontrar la diferencia entre un buen y un mal diseño de base de datos.

Una dependencia funcional se indica con una flecha “→”. La dependencia funcional de X sobre Y está representada por X → Y. Entendamos la dependencia funcional en DBMS con un ejemplo.

Ejemplo:

Número de empleado Nombre de empleado Sueldo Ciudad
1 Dana 50000 San Francisco
2 Francis 38000 Londres
3 Andrés 25000 Tokio

En este ejemplo, si conocemos el valor del número de empleado, podemos obtener el nombre del empleado, la ciudad, el salario, etc. Con esto, podemos decir que la ciudad, el nombre del empleado y el salario dependen funcionalmente del número de empleado.

Términos clave

A continuación, se muestran algunos términos clave para la dependencia funcional en la base de datos:

Términos clave Descripción
Axioma Axiomas es un conjunto de reglas de inferencia que se utilizan para inferir todas las dependencias funcionales en una base de datos relacional.
Descomposición Es una regla que sugiere que si tiene una tabla que parece contener dos entidades determinadas por la misma clave principal, entonces debería considerar dividirlas 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.
Unión Sugiere que si dos tablas están separadas y el PK es el mismo, deberías considerar ponerlas. juntos

Reglas de dependencias funcionales

A continuación se detallan las tres reglas más importantes para la dependencia funcional en la base de datos:

  • Regla reflexiva –. Si X es un conjunto de atributos e Y es_subconjunto_de X, entonces X tiene un valor de Y.
  • Regla de aumento: cuando x -> y se cumple, y c es un conjunto de atributos, entonces ac -> bc también se cumple. Es decir, agregar atributos que no cambian las dependencias básicas.
  • Regla de transitividad: esta regla es muy similar a la regla transitiva en álgebra si x -> y se cumple e y -> z se cumple, entonces x -> z también se cumple. X -> y se denomina funcionalmente como lo que determina y.

Tipos de dependencias funcionales en DBMS

Existen principalmente cuatro tipos de dependencia funcional en DBMS. seguirwing Son los tipos de Dependencias Funcionales en DBMS:

  • Dependencia multivalor
  • Dependencia funcional trivial
  • Dependencia funcional no trivial
  • Dependencia transitiva

Dependencia multivalor en DBMS

La dependencia multivalor ocurre en la situación en la que hay múltiples atributos multivalor independientes en una sola tabla. Una dependencia multivalor es una restricción completa entre dos conjuntos de atributos en una relación. Requiere que ciertas tuplas estén presentes en una relación. Considere lo siguientewing Ejemplo de dependencia multivalor para comprender.

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. En este ejemplo, se dice que estas dos columnas dependen de varios valores de car_model.

Esta dependencia se puede representar así:

modelo_automóvil -> año_maf

modelo_auto-> color

Dependencia funcional trivial en DBMS

La dependencia trivial es un conjunto de atributos que se denomina trivial si el conjunto de atributos está incluido en ese atributo.

Entonces, X -> Y es una dependencia funcional trivial si Y es un subconjunto de X. Entendamos con un ejemplo de dependencia funcional trivial.

Por ejemplo:

Emp_id Emp_nombre
AS555 Harry
AS811 George
AS999 Kevin

Considere 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 DBMS

La dependencia funcional, que también se conoce como dependencia no trivial, ocurre cuando A->B es verdadero donde B no es un subconjunto de A. En una relación, si el atributo B no es un subconjunto del atributo A, entonces se considera no trivial. dependencia.

Compañía CEO Edad
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Ejemplo:

(Empresa} -> {CEO} (si conocemos la empresa, conocemos el nombre del CEO)

Pero el CEO no es un subconjunto de la empresa y, por tanto, se trata de una dependencia funcional no trivial.

Dependencia transitiva en DBMS

Una Dependencia Transitiva es un tipo de dependencia funcional que ocurre cuando "t" está formada indirectamente por dos dependencias funcionales. Entendamos con el siguientewing Ejemplo de dependencia transitiva.

Ejemplo:

Compañía CEO Edad
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Empresa} -> {CEO} (si conocemos la empresa, sabemos el nombre de su CEO)

{CEO } -> {Edad} Si conocemos al CEO, conocemos la Edad

Por tanto según la regla de dependencia transitiva:

{Empresa} -> {Edad} debería mantenerse, eso tiene sentido porque si conocemos el nombre de la empresa, podemos saber su edad.

Nota: Debe recordar que la dependencia transitiva solo puede ocurrir 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 la base de datos que le ayuda a evitar anomalías de redundancia, inserción, actualización y eliminación de datos. Es un proceso de análisis de los esquemas de relación en función de sus diferentes dependencias funcionales y clave primaria.

La normalización es inherente a la teoría de las bases de datos relacionales. Puede tener el efecto de duplicar los mismos datos dentro de la base de datos, lo que puede resultar en la creación de tablas adicionales.

Ventajas de la dependencia funcional

  • La dependencia funcional evita la redundancia de datos. Por lo tanto, los mismos datos no se repiten en múltiples ubicaciones en ese base de datos
  • Le ayuda a mantener la calidad de los datos en la base de datos.
  • Le ayuda a definir significados y restricciones de las bases de datos.
  • Te ayuda a identificar malos diseños.
  • Le ayuda a encontrar los hechos relacionados con el diseño de la base de datos.

Resumen

  • La dependencia funcional es cuando un atributo determina otro atributo en un sistema DBMS.
  • Axioma, Descomposición, Dependiente, Determinante y Unión son términos clave para la dependencia funcional
  • Cuatro tipos de dependencia funcional son 1) Multivaluada 2) Trivial 3) No trivial 4) Transitiva
  • La dependencia multivalor ocurre en la situación en la que hay múltiples atributos multivalor independientes en una sola tabla.
  • La dependencia trivial ocurre cuando un conjunto de atributos se denomina trivial si el conjunto de atributos está incluido en ese atributo.
  • La dependencia no trivial ocurre cuando A->B es verdadero donde B no es un subconjunto de A
  • Una transitiva es un tipo de dependencia funcional que ocurre cuando está formada indirectamente por dos dependencias funcionales.
  • La normalización es un método para organizar los datos en la base de datos que le ayuda a evitar la redundancia de datos.