F. Bases de Datos
F. Bases de Datos
F. Bases de Datos
V
Campus Acapulco
Unidad 4- Normalización
de Bases de Datos
Profesor: Juan Luis Bringas
Ramírez
Semestre 4, Grupo:
10:00-11:00 am.
Tema: Investigación del
tema 4.
2
Introducción
El estudio de los problemas de diseño de las bases de datos relacionales. En general, el
objetivo del diseño de las bases de datos relacionales es la generación de un conjunto de
esquemas relacionales que nos permita almacenar la información sin redundancias innecesarias,
pero que también nos permita recuperar fácilmente esa información. Un enfoque es el diseño de
esquemas que se hallen en una forma normal adecuada. Para determinar si el esquema de una
relación se halla en una de las formas normales deseables hace falta información adicional sobre
la empresa real que ese está modelando con la base de datos. En este capítulo se introduce el
concepto de la dependencia funcional. Luego se definirán las formas normales en términos de las
dependencias funcionales y otros tipos de dependencias de datos.
La teoría de bases de datos incluye los principios formales para definir y manipular datos
estructurados e interrelacionados. Para definir los datos se utiliza un modelo de datos y para su
manipulación un lenguaje. Diferentes modelos de datos se han propuesto buscando un mayor
nivel expresivo para representar el mundo real. La potencia y limitaciones de cada modelo se
pueden evaluar desde un punto de vista teórico y se evidencian desde un punto de vista práctico
cuando se trata de implementarlos en aplicaciones tradicionales y modernas. Estas últimas
generalmente requieren tipos de datos complejos. Los lenguajes de manipulación de datos tienen
como propósito ofrecer facilidad, simplicidad y flexibilidad a la hora de utilizarlos para actualizar
y recuperar información desde la base de datos. Los lenguajes de manipulación son, en su gran
mayoría, declarativos, lo que reduce significativamente el tiempo de desarrollo y mantenimiento
de las aplicaciones.
Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre
los datos.
Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y
reportes.
3
Simplificar el mantenimiento de los datos actualizándolos, insertándolos y borrándolos.
Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas
aplicaciones.
La teoría de normalización tiene como fundamento el concepto de formas normales; se dice que
una relación está en una determinada forma normal si satisface un conjunto de restricciones.
En relaciones grandes, si muchos de los atributos no se aplican a todas las tuplas de la relación,
nos encontraremos con muchos NULL en esas tuplas, lo que puede desperdiciar espacio de
almacenamiento.
5
4.2-Primera Forma Normal
La primera forma normal, impone un requisito muy elemental a las relaciones; a
diferencia de las demás formas normales, no exige información adicional como las dependencias
funcionales. Un dominio es atómico si se considera que los elementos del dominio son unidades
indivisibles. Se dice que el esquema de una relación R está en la primera forma normal (1FN) si
los dominios de todos los atributos de R son atómicos.
Considérese una organización que asigna a los empleados números de identificación de la manera
siguiente: las dos primeras letras especifican el departamento y las cuatro cifras restantes son un
número único para el empleado dentro de ese departamento. Ejemplos de estos números pueden
ser IN0012 y EE1127. Estos números de identificación pueden dividirse en unidades menores y,
por tanto, no son atómicos. Si el esquema de una relación tuviera un atributo cuyo dominio
consistiera en números de identificación codificados como se ha indicado, el esquema no se
hallaría en la primera forma normal.
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, el orden de las columnas en la tabla no es
importante.
Dos filas o renglones de una misma tabla no deben ser idénticas, aunque el orden de las
filas no es importante.
6
Como esta relación
maneja valores
atómicos, es decir un
solo valor por cada
uno de los campos
que conforman a los atributos de las entidades, ya se encuentra en primera forma normal,
gráficamente así representamos a las relaciones en 1FN.
Las dependencias funcionales son restricciones del conjunto de relaciones legales. Permiten
expresar hechos sobre la empresa que se modela con la base de datos.
Una dependencia funcional (DF) es una restricción que se establece entre dos conjuntos de
atributos de la base de datos. Definición: – Una dependencia funcional, denotada por X→Y, entre
dos conjuntos de atributos X e Y que son subconjuntos de R, especifica una restricción en las
posibles tuplas que pueden formar un estado de relación r de R. – La restricción dice que dos
7
tuplas t1 y t2 en r tales que cumplen que t1 [X] = t2 [X], deben cumplir también que t1[Y] =
t2[Y].
Por tanto: – X determina funcionalmente Y si para toda instancia r del esquema de relación R, no
es posible que r tenga dos tuplas que coincidan en los atributos de X y no lo hagan en los
atributos de Y. Observe lo siguiente: – Si X es una clave candidata de R, se cumple que X→Y
para cualquier subconjunto de atributos Y de R (la restricción de clave implica que dos tuplas en
cualquier estado legal r(R) no tendrán el mismo valor de X). – Si X→Y en R, esto no supone que
Y→X en R.
Una dependencia funcional es una propiedad de la semántica o significado de los atributos. Las
dependencias funcionales deben mantenerse en todos los estados de relación r de R. Los estados
de relación r(R) que satisfacen la restricción de DF reciben el nombre de estados de relación
legales.
Por tanto, el uso fundamental de las DFs es describir más en profundidad un esquema de relación
R especificando restricciones de sus atributos que siempre deben cumplirse. Ciertas DFs pueden
especificarse sin hacer referencia a una relación específica. Por ejemplo:
{Provincia, NumPermisoConducir} → Dni debe mantenerse para cualquier adulto que viva en
España.
NumProyecto → {NombreProyecto,
UbicaciónProyecto}
8
Una relación R está en 2FN si y solo si está en
1FN y los atributos no primos dependen
funcionalmente de la llave primaria. 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.
Entonces este segundo paso se aplica sólo con relación a llaves compuestas. Continuando con el
ejemplo de los Pedidos de productos, habíamos visto que en la relación PEDPROD subsistían
problemas de actualización. Analicemos las DF que existen en dicha relación:
Esta relación no está en 2FN, pues desc y prun no dependen funcional y completamente de la
llave (nuped, nuprod). La 2FN se hace:
1. Creando una relación para todos los atributos que dependen funcional y completamente
de la llave (y los atributos que no se analizan por ser atributos llaves, pertenecientes a
claves candidatas). PED-PROD (nuped, nuprod, cant, prprod)
2. Creando una relación para los atributos que dependan de cada parte (subconjunto) de la
llave. La llave de la relación así formada será la parte (subconjunto) de la llave primaria
de la cual dependen los atributos. PRODUCTO (nuprod, desc, prun)
Pero aún tenemos problemas en este caso, que son similares a los vistos, pero con la relación
PEDIDO y, específicamente, cuando se trata de insertar, eliminar o modificar la información de
proveedores: Creación: no podemos insertar la información de un proveedor, a menos que haya
9
un pedido para él. Supresión: se perderá la información sobre un proveedor al borrar un pedido
que era el único que se le hacía a ese proveedor. Modificación: para cambiar información sobre
un proveedor, hay que recorrer todos los pedidos de ese proveedor. Hay redundancia.
La 3FN se hace:
1. Creando una relación para los atributos no llaves que no dependen transitivamente de la
llave primaria (y los atributos que no se analizan por ser atributos llaves, pertenecientes a
claves candidatas).
2. Creando una relación para los atributos no llaves que dependen transitivamente de la llave
primaria a través de otro atributo o conjunto de atributos no llave primaria (que no son
parte de la llave primaria.) La llave primaria de la relación así formada será el atributo o
conjunto de atributos a través de los cuales existe la dependencia transitiva.
Soportar el coste extra del cálculo de las reuniones para buscar violaciones.
Emplear una descomposición alternativa, la tercera forma normal (3FN), que se presenta a
continuación, que hace menos costoso el examen de las actualizaciones. A diferencia de
FNBC, las descomposiciones 3FN pueden contener cierta redundancia en el esquema
descompuesto.
FNBC exige que todas las dependencias no triviales sean de la forma α → β donde α es una
superclave. 3FN relaja ligeramente esta restricción permitiendo dependencias funcionales no
triviales cuya parte izquierda no sea una superclave.
10
Un esquema de relación R está en tercera forma normal (3FN) respecto a un conjunto F de
dependencias funcionales si, para todas las dependencias funcionales de F+ de la forma α → β,
donde α ⊆ R y β ⊆ R, se cumple al menos una de las siguientes condiciones:
Comparación entre FNBC y 3FN: De las dos formas normales para los esquemas de las bases de
datos relacionales, 3FN y FNBC, hay ventajas en 3FN porque se sabe que siempre resulta posible
obtener un diseño en 3FN sin sacrificar la reunión sin pérdida o la conservación de las
dependencias.
11
Un diseño de base de datos está en FNBC si cada miembro del conjunto de esquemas de relación
que constituye el diseño está en FNBC. A modo de ejemplo, considérense los siguientes
esquemas de relación y sus respectivas dependencias funcionales:
Que indica que el cliente tiene un «asesor personal» en una sucursal determinada. El conjunto F
de dependencias funcionales que se exige que se cumpla en
12
4.7-Otras Formas Normales
Cuarta Forma Normal:
No parece que algunos esquemas de relación, aunque se hallen en FNBC, estén lo bastante
normalizados, en el sentido de que siguen sufriendo el problema de la repetición de la
información.
Esta forma normal, denominada cuarta forma normal (4FN), es más restrictiva que FNBC. Se
verá que cada esquema 4FN se halla también en FNBC, pero que hay esquemas FNBC que no se
hallan en 4FN.
Las dependencias funcionales impiden que ciertas tuplas estén en una relación. Si A → B,
entonces no puede haber dos tuplas con el mismo valor de A y diferentes valores de B. Las
dependencias multivaloradas, por otro lado, no impiden la existencia de esas tuplas.
Por este motivo, las dependencias funcionales se denominan a veces dependencias de generación
de igualdad y las dependencias multivaloradas se conocen como dependencias de generación de
tuplas. Sea R un esquema de relación y sean α ⊆ R y β ⊆ R. La dependencia multivalorada
α →→ β.
Se cumple en R si, en toda relación legal r(R), para todo par de tuplas t1 y t2 de r tales que t1[α]
= t2[α], existen unas tuplas t3 y t4 de r tal es que:
1. Para verificar las relaciones y determinar si son legales bajo un conjunto dado de
dependencias funcionales y multivaloradas.
13
2. Para especificar restricciones del conjunto de relaciones legales; de este modo, sólo habrá
que preocuparse de las relaciones que satisfagan un conjunto dado de dependencias
funcionales y multivaloradas.
Es un nivel de normalización de bases de datos diseñado para reducir redundancia en las bases
de datos relacionales que guardan hechos multi-valores aislando semánticamente relaciones
múltiples relacionadas.
En esencia, esto significa que las únicas descomposiciones válidas son aquellas que involucran
claves candidatas. Las dependencias de combinación se relacionan con dependencias
multivaluadas, pero pueden ser muy difíciles de identificar porque son sutiles. Si un diseño
consiste en relaciones que son todas 5FN, están en su forma útil más simple de modo que no hay
nada a ganar al descomponerlas aún más, pues esto resultaría en una pérdida de información. Por
desgracia, no hay una prueba simple para 5FN. Se cree que las dependencias de combinación son
relativamente raras, de modo que los diseñadores con frecuencia detienen el proceso de
normalización en 4FN, FNBC o 3FN (para preservar dependencias funcionales).
14
Conclusión
La normalización de bases de datos es una herramienta utilizada para que palabras
innecesarias ya no se vuelvan a ocupar frecuentemente. Algo que descubrí que cada forma
normal se va haciendo más inútil cuando ocupas una más allá de ella por ejemplo sería mejor usar
la tercera forma que usar la primera de lleno. Cada forma normal utiliza a su antecesor en forma
de cadena hasta reducir errores.
15
Bibliografía
16