¿Las dependencias funcionales se aplican a toda la base de datos o a una relación particular?

8

Soy nuevo en dbms. Vi un video de una conferencia sobre dependencias funcionales. Pero me confunde un poco que si la dependencia funcional es una restricción puesta en una base de datos completa o en un esquema particular.

Saravanan
fuente

Respuestas:

9

Una dependencia funcional es exactamente lo que implica el término: la salida de la función siempre está determinada por la entrada. Si, por ejemplo, tenemos una función f () , y proporcionamos la variable x , y siempre recibimos la salida y , entonces y depende funcionalmente de x. Puede pensar en esto como una simple función gráfica Al 2x + 1 = y conectar algunos valores de muestra en la función que obtenemos:

X    Y
------
1    3
2    5
3    7

y así. Por lo tanto, sabemos que para cada valor de x, hay un valor de y que siempre será ese valor de y para esa x.

Codd adaptó esto a la gestión de datos con respecto a determinar si el valor de un elemento de datos siempre da como resultado un valor conocido de un segundo elemento de datos como si fuera la entrada y la salida de una función. Entonces, por ejemplo, si descubrimos que a cada empleado de una pequeña empresa se le asigna un número de empleado, y creamos una lista simple de números y nombres de empleados, descubrimos que el nombre depende funcionalmente de ese número de empleado. Cada vez que vemos al empleado número 7, por ejemplo, vemos el nombre "Jim Brown". Esto representa en la base de datos la proposición que es verdadera en el mundo real, a saber, que el empleado número 7 es la persona llamada "Jim Brown" a la que podemos señalar y decir "ese es él".

La dependencia funcional se puede implementar como una restricción única porque hay una relación uno a uno entre la entrada a la función y la salida esperada. En el ejemplo de álgebra, cuando conectamos 2 en la ecuación 2x ​​+ 1 siempre obtendremos 5. Aplicando ese ejemplo a la gestión de datos en el ejemplo anterior, cada vez que tenemos el número de empleado 7 necesitamos tener un solo nombre y Otras características que lo acompañan. No podemos tener al empleado número 7 asociado con "Jim Brown" y "Bob Jones" más de lo que podríamos decir que conectar 7 en 2x + 1 puede producir 15 y 25.

Las dependencias funcionales se implementan por definición cuando se coloca una restricción única en cada tabla que identifica cada conjunto de elementos de datos que tienen una relación uno a uno con otro conjunto de elementos de datos y cuyos valores siempre varían con ese primer conjunto. La notación es típicamente:

A,B ---> C

Esto significa que el valor de A y B determina el valor de C. Quizás A es el número de empleado y B es el Número de dependiente, y C es el nombre del dependiente. Entonces, en este sentido, se aplican a todas y cada una de las tablas de todos y cada uno de los esquemas de todas y cada una de las bases de datos.

Algunas buenas referencias sobre la teoría de la relación son la Serie de la Fundación de la Base de Datos Práctica de Fabian Pascal y el libro Teoría Relacional para Profesionales de la Computación de Chris Date .

Todd Everett
fuente