Normalizacion
Normalizacion
NORMALIZACION
Presentación
La normalización es un proceso mediante el cual datos complejos se transforman en un conjunto
de estructuras más pequeñas. Dicho de otra manera, normalización es un proceso, basado en
reglas, que pretende conseguir tablas con una estructura óptima y eficaz; es decir, la
independencia de los datos respecto a los procesos o aplicaciones que los utilizan.
Contenido:
- Introducción
- Primera Forma Normal (1FN)
- Segunda Forma Normal (2FN)
- Tercera Forma Normal (3FN)
- Forma Normal de Boyce Codd
( FNByC)
- Cuarta Forma Normal ( 4FN)
- Quinta Forma Normal (5FN)
El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las
relaciones obtenidas tras el paso del modelo orientado a objetos ( diagrama de clases) al modelo
relacional.
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualización de los datos en las tablas.
Proteger la integridad de los datos.
Estas anomalías se producen al momento de realizar inserción, eliminación y actualización de
datos.
Los aspectos que se debe tomar en cuenta al momento de realizar una normalización son:
“ Una relación está en primera forma normal, si cumple la propiedad de que sus
dominios no tienen elementos que, a su vez, sean conjuntos”. (A. Mayne, M. Wood, 1983)
Supongamos que se desea guardar los nombres y los números telefónicos de los clientes, pero
nos damos cuenta que es necesario guardar múltiples números telefónicos para algunos clientes.
La manera más simple de hacer esto es permitir que el atributo "Teléfono" contenga más de un
valor :
3568070
Asumiendo, sin embargo, que la columna "Teléfono" está definida en algún tipo de dominio de
número telefónico (por ejemplo, el dominio de cadenas de 7 caracteres de longitud), la
representación de arriba no está en 1FN. La 1FN prohíbe a un campo contener más de un valor
de su dominio de columna.
Sin embargo, esta representación hace uso de columnas que permiten valores nulos, y por lo
tanto no se conforman con la definición de la 1NF. Por ejemplo es difícil contestar : ¿Qué
clientes tienen el teléfono X? y ¿Qué pares de clientes comparten un número de teléfono?.
Éste es defendiblemente el peor diseño de todos, y otra vez no mantiene el espíritu de la 1NF.
Un diseño que está inequívocamente en 1FN hace uso de dos tablas: una tabla de cliente y una
tabla de teléfono del cliente.
Ci Telefono
111 3541030
222 7103040
222 3568070
333 3564025
En cualquier registro que este en Segunda Forma Normal (SFN), todos sus atributos dependen de
la clave completa y no solo de una parte de esta.
Las anomalías de esta tabla se puede dar al insertar una nuevo tupla , por ejemplo si se ingresa la
nota de un nuevo alumno para la materia INTRODUCCIÓN A LA INFORMATICA, al
transcribir se registra con el nombre de INTRODUCCIÓN A LA INFORMA, se está dando un
problema de inconsistencia de datos. El nombre de una materia puede ser de diferentes maneras.
En el caso de una actualización del nombre de la materia de INTRODUCCIÓN A LA
INFORMATICA, por PROGRAMACIÓN I, sería necesario actualizar todas la tuplas que
coincidan con el criterio de búsqueda. En el caso de eliminación, por ejemplo si se elimina la
tupla 333, INF552, la materia ARQUITECTURA DE SOFTWARE, deja de existir.
Notas_alumno
CI SIGLA NOTA
111 INF110 70
111 MAT101 90
222 INF110 90
222 INF312 30
MAT101 CALCULO I
Empleado Habilidad
Joaquin Mecanografía
Joaquin Taquigrafía
Joaquin Tallado
Pedro Alquimia
Pedro Malabarismo
Las anomalías de actualización no pueden ocurrir en estas tablas, las cuales están en 2NF.
La Tercera Forma Normal (TFP) elimina las dependencias entre atributos no primarios (no
perteneciente a la clave)
Una relación R esta en Tercera Forma Normal si esta en Segunda Forma Normal y
además ningunos de sus campos no-primarios tiene dependencias transitivas respectos de las
claves candidatas R.
Las anomalías de esta tabla se puede dar al insertar una nueva tupla , por ejemplo si se ingresa un
nuevo alumno con el nombre de la Carrera Ing. INFORMAT, se está dando un problema de
inconsistencia de datos. El nombre de la carrera puede ser de diferentes maneras. En el caso de
una actualización del nombre de la carrera de ING. INFORMATICA, por CIENCIAS DE LA
COMPUTACIÓN, sería necesario actualizar todas la tuplas que coincidan con el criterio de
búsqueda. En el caso de eliminación, por ejemplo si se elimina la tupla 444, la carrera
ECONOMIA, deja de existir.
Alumno
Carrera
código NombreCarrera
200 Medicina
210 Economía
Inquilino
Inquilino Departamento
Departamento Alquiler
Inquilinio
Inquilino Departamento
100 D04
200 D01
300 D02
400 D04
Departamento
Departamento Alquiler
D04 1500
D01 1000
D02 2000
Se dice que una tabla está en FNBC si y solo si está en 3FN y cada dependencia funcional
no trivial tiene una clave candidata como determinante. En terminos menos formales, una tabla
está en FNBC si está en 3FN y los únicos determinantes son claves candidatas.
CI MATERIA TUTOR
(ci,materia) tutor y tutor materia. En este caso la redundancia ocurre por la mala
selección de la clave. La redundancia de la materia es completamente evitable.
TUTOR-MATERIA
Materia Tutor
Lenguaje Eva
Matematicas Andres
Matemáticas Guillermo
Lenguaje Julia
CI TUTOR
111 Eva
111 Andres
222 Eva
333 Guillermo
333 Julia
La cuarta forma normal (4NF) es una forma normal usada en la normalización de bases de datos.
La 4NF se asegura de que las dependencias multivaluadas independientes estén correcta y
eficientemente representadas en un diseño de base de datos. La 4NF es el siguiente nivel de
normalización después de la forma normal de Boyce-Codd (BCNF).
“ Una tabla está en 4NF si y solo si esta en Tercera forma normal o en BCNF (Cualquiera
de ambas) y no posee dependencias multivaluadas no triviales”.
Una tabla con una dependencia multivaluada es una donde la existencia de dos o más relaciones
independientes muchos a muchos causa redundancia; y es esta redundancia la que es suprimida
por la cuarta forma normal.
Cada fila indica que un restaurante dado puede entregar una variedad dada de pizza a un área
dada.
- ELITE PIZZA, tiene dos variedades CORTEZA RELLENA, CORTEZA FINA, pero
solo un solo área de envío.
Para satisfacer la 4NF, debemos poner los hechos sobre las variedades de pizza ofrecidas en una
tabla diferente de los hechos sobre áreas de envío:
ALUMNO
#REGISTRO NOMBRE SEXO TELEFONO CARRERA CARRERA CARRERA
1 2 3
VENTA
#COCHE FECHA_VENTA #VENDEDOR COMISION DESCUENTO
NORMALIZAR.
Suponiendo que un coche puede ser vendido por múltiples vendedores y por lo tanto [coche,
vendedor] es la clave primaria. Otras dependencias funcionales son:
DF1) FECHA_VENTA --> DESCUENTO
DF2) #VENDEDOR --> COMISION
Ejercicio 3. Cada despacho de una oficina es identificado por un #despacho y tiene precisamente
un teléfono. Cada teléfono tiene su propio #extensión. Hay dos tipos de teléfonos, solo para
llamadas internas (tipo I), y para llamadas externas/internas (tipo E). los costes de alquiler de
extensión dependen únicamente del tipo, teléfonos de tipo I son cargados con la tarifa T1, los del
tipo E con la tarifa T2. La información sobre despachos y teléfonos será almacenada en la
siguiente relación.
OFICINA
#DESPACHO NUMERO_OCUPANTES #EXTENSION TIPO_TELEFONO TARIFA
INSCRIPCION
Ejercicio 6. El Seguro Social desea conocer los pacientes (DNI) que han sido atendidos en sus
hospitales (COD_H) y el doctor (COD_D) que los atiende. Se supone que un doctor sólo puede
atender en un hospital y que, aunque un paciente puede ser atendido en varios hospitales, en cada
uno de ellos sólo le atiende un doctor.