Una relación es una restricción que se aplica o define a la relación entre atributos. Ocurre en una base de datos 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. También puede describirlo como una relación en la que conocer el valor de un atributo (o un conjunto de atributos) es suficiente para saber el valor de otro atributo (o conjunto de atributos) en la misma tabla.
Las dependencias de las bases de datos a menudo confunden tanto a los estudiantes como a los profesionales de las bases de datos. Afortunadamente, no son tan complicados como parecen. La mejor manera de explicarlos es a través de algunos ejemplos. Aquí examinaremos los tipos de dependencias comunes de la base de datos.
Índice de contenidos
Dependencias de la base de datos y dependencias funcionales
Decir que hay una dependencia entre los atributos de una tabla es lo mismo que decir que hay una dependencia funcional entre esos atributos. Si hay una dependencia en una base de datos tal que el atributo B es dependiente del atributo A, lo escribiría como:
A -> BPor ejemplo, en una tabla que enumera las características del empleado, incluyendo el número de Seguro Social (SSN) y el nombre, se puede decir que el nombre depende del SSN (o SSN -> nombre) porque el nombre del empleado se puede determinar únicamente a partir de un SSN. Sin embargo, la declaración inversa (nombre -> SSN) no es verdadera porque más de un empleado puede tener el mismo nombre pero siempre tiene diferentes SSNs.
Dependencias funcionales triviales
Una dependencia funcional trivial se produce cuando se describe una dependencia funcional de un atributo en una colección de atributos que incluye el atributo original. Por ejemplo, {A, B} -> B es una dependencia funcional trivial, al igual que {nombre, SSN} -> SSN. Este tipo de dependencia funcional se llama trivial porque puede derivarse del sentido común. Es obvio que si usted ya conoce el valor de B, entonces el valor de B puede ser determinado únicamente por ese conocimiento.
Dependencias funcionales completas
Una relación funcional completa se produce cuando ya se cumplen los requisitos para una relación funcional y el conjunto de atributos de la parte izquierda de la relación funcional no puede reducirse más. Por ejemplo, {SSN, edad} -El nombre es una dependencia funcional, pero no es una dependencia funcional completa porque se puede eliminar la edad del lado izquierdo de la expresión sin afectar a la relación de dependencia.
Dependencias transitivas
Las dependencias transitivas se producen cuando existe una relación indirecta que causa una dependencia funcional. Por ejemplo, A -> C es una dependencia transitiva cuando es cierto sólo porque ambos A -> B y B -> C son ciertos.
Dependencias Multivaluadas
Las dependencias multivaluadas ocurren 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. Por ejemplo, imagine una compañía de automóviles que fabrica muchos modelos de automóviles, pero que siempre fabrica los colores rojo y azul de cada modelo. Si tiene una tabla que contiene el nombre del modelo, el color y el año de cada coche que fabrica la empresa, existe una dependencia multivaluada en esa tabla. Si hay una fila para un determinado nombre de modelo y año en azul, también debe haber una fila similar que corresponda a la versión roja de ese mismo coche.
Importancia de las dependencias
Las dependencias de la base de datos son importantes de entender porque proporcionan los bloques de construcción básicos usados en la normalización de la base de datos, el proceso de organizar eficientemente los datos en una base de datos. Por ejemplo:
- Para que una tabla esté en segunda forma normal (2NF), no debe haber ningún caso de un atributo no primo en la tabla que dependa funcionalmente de un subconjunto de una clave candidata.
- Para que un cuadro esté en tercera forma normal (3NF), cada atributo no primo debe tener una dependencia funcional no transitiva de cada clave candidata.
- Para que una tabla esté en la Forma Normal de Boyce-Codd (BCNF), cada dependencia funcional (aparte de las dependencias triviales) debe estar en una superclave.
- Para que una tabla esté en cuarta forma normal (4NF), no debe tener ninguna relación multivaluada.