Una dependencia funcional en una base de datos impone un conjunto de restricciones entre atributos. Esto ocurre cuando un atributo en una relación determina de forma única otro atributo. Esto puede ser escrito A -> B lo que significa que "B depende funcionalmente de A." Esto también se llama una dependencia de base de datos.
En esta relación, A determina el valor de B, mientras que B depende de A.
¿Por qué la dependencia funcional es importante en el diseño de bases de datos?
La dependencia funcional ayuda a garantizar la validez de los datos. Considere una tabla de Empleados que enumera las características que incluyen el Número de Seguro Social (SSN), el nombre, la fecha de nacimiento, la dirección, etc.
El atributo SSN determinará el valor del nombre, la fecha de nacimiento, la dirección y quizás otros valores, porque un número de seguro social es único, mientras que un nombre, la fecha de nacimiento o la dirección pueden no serlo. Podemos escribirlo así:
SSN -> nombre, fecha de nacimiento, dirección
Por lo tanto, el nombre, la fecha de nacimiento y la dirección dependen funcionalmente de los SSN. Sin embargo, la declaración inversa (nombre -> SSN) no es verdadera porque más de un empleado puede tener el mismo nombre pero nunca tendrá el mismo SSN. Dicho de otra manera, más concreta, si conocemos el valor del atributo SSN, podemos encontrar el valor de nombre, fecha de nacimiento y dirección. Pero si, en cambio, conocemos el valor de solo el atributo de nombre, no podemos identificar el SSN.
El lado izquierdo de una dependencia funcional puede incluir más de un atributo. Digamos que tenemos un negocio con múltiples ubicaciones. Podríamos tener una tabla Empleado con atributos empleado, título, departamento, ubicación y administrador.
El empleado determina la ubicación en la que está trabajando, por lo que hay una dependencia:
empleado -> ubicación
Pero la ubicación puede tener más de un gerente, por lo que el empleado y el departamento determinan juntos al gerente:
empleado, departamento -> gerente
Dependencia funcional y normalización.
La dependencia funcional contribuye a lo que se denomina normalización de la base de datos, lo que garantiza la integridad de los datos y reduce las redundancias de datos. Sin la normalización, no hay seguridad de que los datos en una base de datos sean precisos y confiables.