Normalizacion de base de datos
-
Upload
erivan-m-ovando -
Category
Engineering
-
view
1.397 -
download
1
Transcript of Normalizacion de base de datos
![Page 1: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/1.jpg)
La Normalización de Base de Datos.
![Page 2: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/2.jpg)
¿Qué significa Normalización de Base
de datos?
¿Qué significa Normalización de Base
de datos?
![Page 3: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/3.jpg)
La normalización es el proceso de organizar los datos en una base de datos. Esto incluye la creación de tablas y que establece relaciones entre aquellas tablas según reglas diseñadas para proteger los datos y hacer la base de datos que es más flexible al eliminar redundancia y dependencia incoherente
![Page 4: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/4.jpg)
Los datos redundantes desperdician espacio en disco y crean problemas de mantenimiento. Si es necesario cambiar datos que aparecen en más de un sitio, el cambio deberá ser exactamente igual en todos estos sitios. Por ejemplo, un cambio de dirección de un cliente es mucho más fácil de implementar si los datos sólo se almacenan en la tabla Clientes y en ningún otro lugar de la base de datos.
![Page 5: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/5.jpg)
Normalización
Objetivo elegir “buenas” estructuras de relaciones
Expresar formalmente las razones por las que una agrupación de atributos es mejor que otra
permitiendo
![Page 6: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/6.jpg)
Aspectos importantes a Aspectos importantes a considerar a la hora de diseñarconsiderar a la hora de diseñar
1. Semántica de los atributos
2. Cada atributo debe contener un único valor
3. Reducción de valores redundantes en las tuplas
![Page 7: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/7.jpg)
Descripción breve de cada regla
![Page 8: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/8.jpg)
Primera Forma Normal• Eliminar grupos repetidos en tablas individuales. • Crear una tabla diferente para cada conjunto de
datos relacionados. • Identificar cada conjunto de datos relacionados
mediante una clave principal. No utilizar varios campos en una única tabla
para almacenar datos similares.
![Page 9: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/9.jpg)
Para realizar el seguimiento de un artículo de inventario que puede provenir de dos orígenes, un registro del inventario puede contener campos para el Código de proveedor 1 y el Código de proveedor 2.
¿Qué pasa si agregamos un tercer campo?La solución no es agregar un campo; hace falta modificar
el programa y la tabla. En su lugar, almacene todas las informaciones de proveedor en una tabla independiente denominada Proveedores entonces en lugar de utilizar los campos proveedor 1, proveedor 2, etc. Utilizamos un solo campo CódigoProveedor relacionado a la tabla proveedores
Ejercicio 1F
![Page 10: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/10.jpg)
Artículo Prov1 Prov2 Prov3
Maíz - Granja -
Arroz Casita - -
¡Incorrecta!
![Page 11: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/11.jpg)
En lugar de hacer varios campos para los proveedores en una sola tabla, hacemos otra tabla con el campo proveedor y colocamos varios registros para los proveedores
Código Proveedor
145 Casita
154 Granja
Artículo Cod.Prov
Maíz 154
Arroz 145
![Page 12: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/12.jpg)
Segunda forma normal
• Crear tablas independientes para conjuntos de valores que se apliquen a varios registros.
• Relacionar dichas tablas mediante una clave externa.
Los registros tan sólo deben depender de la clave principal de una tabla (si es necesario, puede ser una clave compuesta).
![Page 13: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/13.jpg)
Ejemplo 2FNpiense en la dirección de un cliente en un sistema
de contabilidad. La dirección es necesitada por la tabla Clientes
pero por las tablas Pedidos, Facturas y Cuentas a cobrar también.
En lugar de almacenar la dirección del cliente como una entrada diferente en cada tabla, almacénela en un único lugar, ya sea en la tabla Clientes o en una tabla de direcciones independiente.
![Page 14: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/14.jpg)
Tercera forma normalTercera forma normal
• Eliminar los campos que no dependan de la clave. Los valores de un registro que no forman parte de la clave de dicho registro no pertenecen a esa tabla. En general, siempre que el contenido de un grupo de campos se puede aplicar a más de un registro de la tabla, debe tener en cuenta la posibilidad de incluir dichos campos en una tabla independiente.
![Page 15: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/15.jpg)
EXCEPCIÓN: No es práctico siempre cumplir la forma tercera normal teóricamente conveniente. Si tiene una tabla Clientes y desea eliminar todas las posibles dependencias entre campos, debe crear tablas independientes para ciudades, códigos postales, representantes de ventas, clases de clientes y cualquier otro factor que pueda aparecer duplicado en varios registros. En teoría, la normalización merece la pena. Sin embargo, la utilización de un gran número de tablas pequeñas puede perjudicar el rendimiento o superar la capacidad de memoria y de archivos abiertos del sistema.
![Page 16: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/16.jpg)
Ejemplo tabla Access para normalizarla. La tabla se llama alumnos
![Page 17: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/17.jpg)
Primera forma normal: Ningún grupo Primera forma normal: Ningún grupo repetidorepetido
• Como cada alumno se encuentra inscrito en varios cursos, estos deben aparecer en una tabla independiente. Los campos curso1, curso2, curso3 de los registros anteriores indican que existe un problema en el diseño.
![Page 18: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/18.jpg)
![Page 19: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/19.jpg)
Segunda forma Normal: Elimine datos Segunda forma Normal: Elimine datos redundantesredundantes
• Curso no depende del carné (que será nuestra clave principal) por lo que la tabla no esta en la segunda forma normal. Debemos separar la información de los cursos-alumnos a otra tabla. Haremos la tabla asignaciones.
![Page 20: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/20.jpg)
Asignaciones
Tabla alumnos luego del cambio
![Page 21: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/21.jpg)
Tercera forma Normal: Eliminar datos Tercera forma Normal: Eliminar datos que no dependen de la claveque no dependen de la clave
• De el último ejemplo la oficina del asesor depende funcionalmente del atributo asesor. La solución es mover dicho atributo de la tabla alumnos a la tabla personal, como se muestra a continuación.
![Page 22: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/22.jpg)
Tabla Alumno
Tabla Personal
![Page 23: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/23.jpg)
![Page 24: Normalizacion de base de datos](https://reader033.fdocumento.com/reader033/viewer/2022060118/558bad53d8b42a71208b45cb/html5/thumbnails/24.jpg)
Conclusión
• Hemos llegado finalmente a una base de datos bien organizada en la cual podemos actualizar o cambiar los datos almacenados fácilmente y de una manera ordenada sin alterar los demás registros.