Una visión al Proceso de Normalización de Bases de Datos Relacionales y explicación de La Primera Forma Normal (1NF)
Si te interesa el tema del Diseño de Bases de Datos Relacionales, puedes aprender mucho más sobre todo este proceso, con el curso:
Diseño de Bases de Datos Relacionales
Un viaje desde el Dato hasta la Base de Datos
10 Plazas gratuitas para los primeros interesados, siguiendo el link:
https://www.udemy.com/diseno-de-bases-de-datos-relacionales/?couponCode=DBD-SS-FREE-10
25 Plazas a un excelente descuento, siguiendo el link:
https://www.udemy.com/diseno-de-bases-de-datos-relacionales/?couponCode=DBD-SS-DSTC-10
2. Normalización
Normalizar
de Normal e -izar
Regularizar. Poner en orden lo que no lo estaba
https://es.wikipedia.org/wiki/Normalización
http://www.rae.es
La normalización (también denominada estandarización) es el proceso de elaborar,
aplicar y mejorar las normas que se aplican a distintas actividades […] con el fin de
ordenarlas y mejorarlas.
4. Normalización
Ordenar y Mejorar
¿ Qué ?
Redundancia
¿ Porqué ?
Anomalías de Diseño
Anomalías de Inserción, Modificación y Eliminación
5. Normalización
Anomalía de Inserción
Algunos atributos no pueden ser agregados a la
Relación sin la presencia de otros atributos
Nombre Apellido Edificio Cuarto
Albert Einstein Alfa A-305
Edgar Codd Beta B-102
Alumnos Dormitorios
Agregar un Dormitorio
6. Normalización
Anomalía de Inserción
Algunos atributos no pueden ser agregados a la
Relación sin la presencia de otros atributos
Nombre Apellido Edificio Cuarto
Albert Einstein Alfa A-305
Edgar Codd Beta B-102
Alumnos Dormitorios
Beta B-103
Agregar un Dormitorio
??? ??? Beta B-103
7. Normalización
Anomalía de Modificación
Al modificar datos duplicados,
no se modifican todas las instancias
Nombre Apellido Curso Puntos
Albert Einstein Física I 9
Albert Einstein Mat I 8
Edgar Cod Química I 9
Edgar Cod Mat I 7
Alumnos Cursos
El apellido de Edgar es Codd
Matemática en vez de Mat
8. Normalización
Anomalía de Modificación
Al modificar datos duplicados,
no se modifican todas las instancias
Nombre Apellido Curso Puntos
Albert Einstein Física I 9
Albert Einstein Mat I 8
Edgar Cod Química I 9
Edgar Cod Mat I 7
Alumnos Cursos
El apellido de Edgar es Codd
Edgar Codd Química I 9
Edgar Cod Mat I 7
Matemática en vez de Mat
Albert Einstein Mat I 8
Edgar Codd Química I 9
Edgar Cod Matemática I 7
9. Normalización
Anomalía de Eliminación
Algunos atributos se pierden
por la eliminación de otros atributos
Nombre Apellido Curso Horas Prof. Materia
Albert Einstein Física I 80 Newton P-001
Albert Einstein Matemática I 80 Pascal M-001
Edgar Codd Química II 74 Curie C-002
Edgar Codd Matemática I 80 Pascal M-001
Alumnos Cursos
Codd desea abandonar Química II
10. Normalización
Anomalía de Eliminación
Algunos atributos se pierden
por la eliminación de otros atributos
Nombre Apellido Curso Horas Prof. Materia
Albert Einstein Física I 80 Newton P-001
Albert Einstein Matemática I 80 Pascal M-001
Edgar Codd Química II 74 Curie C-002
Edgar Codd Matemática I 80 Pascal M-001
Alumnos Cursos
Codd desea abandonar Química II
Química II 74 Curie C-002
¿ Química II ? ¿ Curie ?
12. Normalización
Un proceso secuencial, cíclico y repetitivo que consiste en
aplicar, a todas y cada una de las Entidades del Modelo,
unas Reglas bien definidas, con la finalidad de garantizar
la Integridad de los Datos, evitando la Redundancia y
corrigiendo las Anomalías de Diseño.
proceso secuencial, cíclico y repetitivo
a todas y cada una de las Entidades del Modelo,
Reglas bien definidas
13. Normalización
Notación de la Teoría Relacional
R (a1, a2, a3, …, an-1, an)
Esquema Relacional
Relational Schema
No es la Relación como tal, sino una
Descripción de la Relación…
14. Normalización
R (a1, a2, a3, …, an-1, an)
Se parte de una Mega Relación o
Esquema Relacional
R1 (a1, …, ag) R2 (ah, …, ak) … Rn (ap, …, az)
Corregir las Anomalías de Diseño
y se obtienen Relaciones más pequeñas
con la finalidad de
16. Normalización
Primera Forma Normal (1NF)
Verás muchas definiciones que dicen que para que una Relación esté en Primera
Forma Normal:
• No debe haber tuplas repetidas
• No debe importar el orden de las tuplas
• Existencia de una Llave Primaria
• Atributos atómicos
Pero estas son Características impuestas por el
Modelo Relacional para ser considerada una “Relación”
17. Normalización
En el Modelo Relacional,
una Relación:
• No debe haber tuplas repetidas
• No debe importar el orden de las tuplas
• Identificar inequívocamente las tuplas
• Atributos atómicos
18. Normalización
Primera Forma Normal (1NF)
La Forma de Los Grupos Repetitivos
Una Relación está en Primera Forma Normal si, y sólo
si:
No tiene Grupos Repetitivos
19. Normalización
Nombre Apellido Dormitorio Cursos
Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
Edgar Codd B-102 Modelo de Datos, Química I
Cursos
Matemática I, Modelo de Datos, Física I
Modelo de Datos, Química I
Código
A-001
A-002
Datos no atómicos
Problemas:
- Búsquedas
- Actualizaciones
- Ordenamiento
- Etc…
20. Normalización
Nombre Apellido Dormitorio Cursos
Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
Edgar Codd B-102 Modelo de Datos, Química I
Cursos
Matemática I, Modelo de Datos, Física I
Modelo de Datos, Química I
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Curso 1 Curso 2 Curso 3
Matemática I Mod. Datos Física I
Mod. Datos Química I
Código
A-001
A-002
Atomicidad de los Datos
21. Normalización
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Curso 1 Curso 2 Curso 3
Matemática I Mod. Datos Física I
Mod. Datos Química I
Grupo Repetitivo
Atributos con el mismo Significado, pero
diferente Información
22. Normalización
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Curso 1 Curso 2 Curso 3
Matemática I Mod. Datos Física I
Mod. Datos Química I
Problemas
Máximo 3 cursos
por Alumno
Desperdicio
de EspacioBúsquedas
23. Normalización
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Curso 1 Curso 2 Curso 3
Matemática I Mod. Datos Física I
Mod. Datos Química I
Código Nombre Apellido Dormitorio Curso
A-001 Albert Einstein A-305 Matemática I
A-001 Albert Einstein A-305 Modelo de Datos
A-001 Albert Einstein A-305 Física I
A-002 Edgar Codd B-102 Modelo de Datos
A-002 Edgar Codd B-102 Química I
Solución
24. Normalización
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Curso 1 Curso 2 Curso 3
Matemática I Mod. Datos Física I
Mod. Datos Química I
Código Nombre Apellido Dormitorio Curso
A-001 Albert Einstein A-305 Matemática I
A-001 Albert Einstein A-305 Modelo de Datos
A-001 Albert Einstein A-305 Física I
A-002 Edgar Codd B-102 Modelo de Datos
A-002 Edgar Codd B-102 Química I
Solución
1) Eliminar el Grupo Repetitivo
25. Normalización
Código Nombre Apellido Dormitorio Curso
A-001 Albert Einstein A-305 Matemática I
A-001 Albert Einstein A-305 Modelo de Datos
A-001 Albert Einstein A-305 Física I
A-002 Edgar Codd B-102 Modelo de Datos
A-002 Edgar Codd B-102 Química I
2) Separar en 2 Relaciones diferentes
Código Nombre Apellido Dormitorio
A-001 Albert Einstein A-305
A-002 Edgar Codd B-102
Curso
Matemática I
Modelo de Datos
Física I
Modelo de Datos
Química I
26. Normalización
Código Nombre Apellido Dormitorio
A-001 Albert Einstein A-305
A-002 Edgar Codd B-102
Curso
Matemática I
Modelo de Datos
Física I
Modelo de Datos
Química I
Alumno
A-001
A-001
A-001
A-002
A-002
Redundancia Débil
3) Agregar a la Nueva Relación, la Llave de la Relación original
27. Normalización
Código Nombre Apellido Dormitorio
A-001 Albert Einstein A-305
A-002 Edgar Codd B-102
Curso
Matemática I
Modelo de Datos
Física I
Modelo de Datos
Química I
Alumno
A-001
A-001
A-001
A-002
A-002
Son Relaciones:
• No hay tuplas repetidas
• No importa el orden
• Hay una Llave Primaria
• Atributos atómicos
No hay Grupor Repetitivos
Primera Forma Normal
28. Normalización
Código Nombre Apellido Dormitorio Cursos
A-001 Albert Einstein A-305 Matemática I, Modelo de Datos, Física I
A-002 Edgar Codd B-102 Modelo de Datos, Química I
Teléfono 1 Teléfono 2 Teléfono 3
555-13-42 325-55-11 286-13-21
314-95-88 852-31-44
Código Nombre Apellido Dormitorio
A-001 Albert Einstein A-305
A-002 Edgar Codd B-102
Alumno
A-001
A-001
A-001
A-002
A-002
Teléfono
555-13-42
325-55-11
286-13-21
314-95-88
852-31-44
Teléfono
555-13-42
325-55-11
286-13-21
314-95-88
852-31-44
Núm
1
2
3
1
2
Otro grupo Repetitivo
29. Normalización
Código Nombre Apellido Dormitorio
A-001 Albert Einstein A-305
A-002 Edgar Codd B-102
Alumno
A-001
A-001
A-001
A-002
A-002
Teléfono
555-13-42
325-55-11
286-13-21
314-95-88
852-31-44
Teléfono
555-13-42
325-55-11
286-13-21
314-95-88
852-31-44
Núm
1
2
3
4
5
Alumnos Teléfonos
Tabla Padre
o
Tabla Hija
o
Tabla Maestra
Tabla de Detalles
31. Normalización
• La Normalización es un proceso Secuencial, Cíclico y Repetitivo
• Eliminación de las Anomalías de Diseño
• Tiene unas reglas bien Definidas (Formas Normales)
• Las Entidades deben estar definidas según el Modelo Relacional
• Tuplas no Repetidas
• Que no importe el orden
• Existencia de Llave Primaria
• Datos Atómicos
Recapitulando…
32. Normalización
• La Primera Forma Normal (1NF) habla sobre la Eliminación de los
Grupos Repetitivos
• Cada Grupo Repetitivo se elimina de forma independiente
• Si en el proceso de eliminación aparece una nueva Entidad, esta debe
comenzar el proceso de Normalización desde el principio.
33. Normalización
• Mover el Grupo a una nueva Entidad
• Agregar la Llave Primaria Original
Para eliminar un Grupo Repetitivo
34. Puedes encontrar mucho más sobre este tema en el Curso:
Diseño de Bases de Datos Relacionales
Un viaje desde el Dato hasta la Base de Datos
10 Plazas gratuitas para los primeros interesados, siguiendo el link:
https://www.udemy.com/diseno-de-bases-de-datos-relacionales/?couponCode=DBD-SS-FREE-10
25 Plazas a un excelente descuento, siguiendo el link:
https://www.udemy.com/diseno-de-bases-de-datos-relacionales/?couponCode=DBD-SS-DSTC-10