La normalización es un proceso para garantizar la integridad y consistencia de los datos en una base de datos relacional. Involucra descomponer tablas para eliminar redundancias y anomalías, siguiendo las formas normales de 1FN, 2FN y 3FN. La 1FN requiere que cada fila sea única y los atributos sean atómicos e indivisibles. La 2FN expande la 1FN requiriendo que todos los atributos dependan funcionalmente de la clave primaria. La 3FN toma la 2FN y requiere que no existan dependencias
2. Tema: Normalización
Presentación del tema
Material: edutech5.webnode.es
Practico: Practico 3 – Modelo de Datos Relacional
Docente: Téc. R/C Alvaro Loustau
Fuente: . Elmasri, R. and Navathe, S. (1989). Fundamentals of
database systems. 1st ed. Redwood City, Calif.:
Benjamin/Cummings.
. https://eva.fing.edu.uy/course/view.php?id=330
3. Clave Primaria
Clave Candidata y Clave Primaria
Si una relación tiene mas de una clave, cada una es una
clave candidata. Una de ellas es arbitrariamente designada
como clave primaria. El resto son secundarias.
4. Normalización
¿Qué es la normalización?
• Es un proceso que se realiza sobre el modelo lógico para
garantizar que el modelo cumple ciertas reglas
Normalización
• En este proceso, las relaciones insatisfactorias se
descomponen repartiendo sus atributos entre relaciones
más pequeñas
Requerimientos MER MR Mejor MR
5. Normalización
¿Por qué es importante la normalización?
• Para garantizar la integridad de los datos
• Para evitar redundancia
• Para evitar anomalías de actualización
6. 1era Forma Normal – 1FN
La primera forma normal se asegura de que:
•No existen dos filas idénticas
•Todos sus atributos son atómicos
• Único valor
• Indivisibles
7. 1FN – Primer Paso
No existen dos filas idénticas
• Cada entidad debe tener un atributo determinante
PERSONAL(CI, edad, Dirección {calle, Nro}, Tel*)
Personal
Dirección
Edad
Tel*
Calle
Nro
CI
8. 1FN – Segundo Paso
Todos sus atributos son atómicos
• Único valor:
Creamos una tabla por cada atributo multivaluado
Normalizando
• Personal (CI, edad, Dirección {Calle, Nro})
• Teléfonos (CI, Tel)
Personal (CI, edad, Dirección {calle, Nro}, Tel*)
9. 1FN – Tercer Paso
Todos sus atributos son indivisibles
• Único valor:
En los atributos compuestos, dejamos solo los componentes.
Normalizando
• Personal (CI, edad, Calle, Nro)
• Teléfonos (CI, Tel)
Personal (CI, edad, Dirección {calle, Nro})
10. Atributos Primos
• Son Atributos Primos, los atributos de cualquier clave candidata
• Son No-Primos, los atributos que no forman parte de ninguna
clave candidata
primo primo no-primo no-primo no-primo no-primo
cédula credencial nombre apellido dirección teléfono
11. Dependencias Funcionales
Ejemplo:
• Viajes (Matricula, CI, Fecha, kms, nombre, modelo)
• Matricula --» modelo
Conociendo la matricula del vehículo determino su modelo
• CI --» nombre
Conociendo la CI determino el nombre del conductor
Un atributo depende funcionalmente de otro sí éste último lo
determina.
12. 2da Forma Normal – 2FN
Una relación R está en segunda forma normal (2FN) si está en 1FN
y si todo atributo no-primo de R depende funcionalmente de
manera total de la clave primaria.
• Asegura que todos los campos que nos son clave sean completamente
dependientes de la clave primaria
• Si hay alguna columna que solamente dependa de una parte de la clave,
entonces decimos que la tabla completa no cumple la Segunda Forma
Normal
13. 2FN - Ejemplo
cedula proyecto nombre apellido horas
4.200.300-5 1 Juan Pérez 52
3.181.348-6 1 María González 20
3.181.348-6 2 María González 32
cedula nombre apellido
4.200.300-5 Juan Pérez
3.181.348-6 María González
cedula proyecto horas
4.200.300-5 1 52
3.181.348-6 1 20
3.181.348-6 2 32
14. 2FN - Ejemplo
Tenemos una tabla de una base de datos de una biblioteca que
almacena: Libro pedido, Cliente que lo pidió, y la fecha y
cantidad de ejemplares.
Pedidos (#Libro, #Cli, Fecha, Título, #Autor, NomAutor, Precio, NomCli,
Cantidad)
Pedidos (#Libro, #Cli, Fecha, Cantidad)
Libros (#Libro, Título, #Autor, NomAutor, Precio)
Clientes (#Cli, NomCli)
15. 3ra Forma Normal – 3FN
Una relación R está en tercera forma norma (3FN) si está en 2FN y
si no existe ninguna dependencia funcional transitiva entre
atributos que no son clave
16. 3FN - Ejemplo
cedula nombre apellido país región
4.200.300-5 Juan Pérez Uruguay Sudamérica
3.181.348-6 María González España Europa
cedula nombre apellido país
4.200.300-5 Juan Pérez Uruguay
3.181.348-6 María González España
país región
Uruguay Sudamérica
España Europa