componente Y (que denominaremos Miembro derecho).
Así que si una restricción de R dice que no puede haber más de una tupla con un valor X, se dice que X es una clave candidata. Esto implica que para todo subconjunto de atributos Y de R X->Y.
Ejemplo: Veamos la siguiente definición o esquema funcional:
TERCERO {Tercero, Nombre, NSS, Apellidos, Dirección, Es_Cliente, Es_Proveedor, Fecha} Veamos las dependencias funcionales:
Tercero-> Nombre. NSS ->Nombre
Tercero -> NSS
{Tercero,NSS} -> Nombre
5.2. Qué es la normalización?
Se entiende por normalización la descomposición o subdivisión de una relación en dos o más relaciones para evitar la redundancia; en definitiva, que "cada hecho esté en su lugar".
La normalización es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener. También se puede entender la normalización como una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos. La normalización también hace las cosas fáciles de entender. Los seres humanos tenemos la tendencia de simplificar las cosas al máximo. Lo hacemos con casi todo, desde los animales hasta con los automóviles. Vemos una imagen de gran tamaño y la hacemos más simple agrupando cosas similares juntas. Las guías que la normalización provee crean el marco de referencia para simplificar una estructura de datos compleja.
Otra ventaja de la normalización de base de datos es el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco.
El proceso de normalización tiene un nombre y una serie de reglas para cada fase. Esto puede parecer un poco confuso al principio, pero poco a poco se va entendiendo el proceso, así como las razones para hacerlo de esta manera.
5.3. Proceso de normalización
El proceso de normalización es un estándar que consiste, básicamente, en un proceso de conversión de las relaciones entre las entidades, evitando:
La redundancia de los datos: repetición de datos en un sistema.
Anomalías de actualización: inconsistencias de los datos como resultado de datos redundantes y actualizaciones parciales.
Anomalías de borrado: pérdidas no intencionadas de datos debido a que se han borrado otros datos.
Anomalías de inserción: imposibilidad de adicionar datos en la base de datos debido a la ausencia de otros datos.
5.4. Grados de normalización
Existen básicamente tres niveles de normalización: Primera Forma Normal (1NF), Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada una de estas formas tiene sus propias reglas. Cuando una base de datos se conforma a un nivel, se considera normalizada a esa forma de normalización. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización, puede llevar a un nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de normalización. En la tabla siguiente se describe brevemente en qué consiste cada una de las reglas, y posteriormente se explican con más detalle.
Regla Descripción
Primera Forma Normal (1FN)
Una relación R se encuentra en 1FN si y solo sí por cada renglón columna contiene valores atómicos.
Abreviada como 1FN, se considera que una relación se encuentra en la primera forma normal cuando cumple lo siguiente:
Las celdas de las tablas poseen valores simples y no se permiten grupos ni arreglos repetidos como valores, es decir, contienen un solo valor por cada celda.
Todos los ingresos en cualquier columna (atributo) deben ser del mismo tipo.
Cada columna debe tener un nombre único.
Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de las filas no es importante.
Segunda Forma Normal (2FN)
Para definir formalmente la segunda forma normal requerimos saber que es una dependencia funcional: Consiste en edificar que atributos dependen de otro(s) atributo(s).
Una relación se encuentra en segunda forma normal, cuando cumple con las reglas de la primera forma normal y todos sus atributos que no son claves (llaves) dependen por completo de la clave . De acuerdo con esta definición, cada tabla que tiene un atributo único como clave, está en segunda forma normal.
(A,B,C) en donde A determina a B, B determina a C entonces A determina a C.
Forma Normal de Boyce Codd
Una relación R esta en FNBC si y solo si cada determinante es una llave candidato.
Ejemplo
Trabajador(cedula, nombre, cargo, prima) Pero el cargo determina la prima
Cuarta forma normal
Existe una dependencia de valores múltiples cuando una afinidad tiene por lo menos tres atributos, dos de los cuales poseen valores múltiples y sus valores dependen solo del tercer atributo, en otras palabras en la afinidad R (A,B,C) existe una dependencia de valores múltiples si A determina valores múltiples de B, A determina valores múltiples de C, y B y C son independientes entre sí. Para entender mejor aún esto consideremos una afinidad (tabla) llamada estudiante que contiene los siguientes atributos: Claves, estudiante, Especialidad y Curso En la tabla anterior Clave estudiante determina valores múltiples de especialidad y clave estudiante determina valores múltiples de curso, pero especialidad y curso son independientes entre sí.
Las dependencias de valores múltiples se definen de la siguiente manera: Clave ->->Especialidad y Clave->->Curso; Esto se lee "Clave multidetermina a Especialidad, y clave multidetermina a Curso
Otras formas normales
Existen otras dos formas normales, la llamada quinta forma normal (5FN) que no detallo por su dudoso valor práctico ya que conduce a una gran división de tablas, pero que no pueden reconstruirse.
y la forma normal dominio / clave (FNDLL) de la que no existe método alguno para su implantación.