1. Base de datos (MySQL) Normalización (Diseño Lógico y Relacional) Ing. Linda Masias Morales
2. Es el proceso de organizar datos ¿Que es la normalización?
3. Normalización 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.
4. Normalización 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.
5. Transformación de modelo conceptual a modelo lógico 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 entidad-relación. Cada entidad se transforma en una tabla y los atributos de dicha entidad en atributos de la tabla.
6. Transformación de modelo conceptual a modelo lógico Las relaciones de muchos a muchos se transforman en tablas cuya clave estará formada por la clave primaria de las entidades relacionadas. Las relaciones de uno a muchos propagan la clave principal de la entidad cuya cardinalidad es uno a la entidad de cardinalidad n.
8. Uno a uno Automóvil (Placa, N° de serie, Modelo, Color) Tarjeta de circulación (N° de serie, Propietario, Tipo)
9. Uno a muchos Cliente (DNI, Nombre, Dirección) Cuenta (N° Cta, DNI, Tipo Cta, Saldo) Registro (N° Cta, Fecha)
10. Muchos a muchos Cliente (DNI, Nombre, Dirección) Producto (Código, Precio, Descripción) Compra (DNI, Código, Valor, Fecha)
11. Primera Forma Normal Eliminar grupos repetidos en tablas individuales. Identificar cada conjunto de datos relacionados mediante una clave principal. No utilizar varios campos en una única tabla para almacenar datos similares. Esta forma normal elimina los valores repetidos dentro de una BD.
12. Ejemplo primera forma normal: Digamos que queremos crear una tabla con la información de usuarios, y los datos a guardar son el nombre, la empresa, la dirección de la empresa y algún URL. En principio comenzarías definiendo la estructura de una tabla como esta: Usuario (Nombre, Empresa, DireccionEmpresa, url1, url2)
13. Ejemplo primera forma normal: Convertiremos a la primera forma normal teniendo en cuenta las instrucciones antes mencionadas. Observando los campos de la tabla si deseamos ingresar otro “url” tendríamos que añadir otra columna y esto implica demasiadas modificaciones en el programa. Usuario (IDusuario, Nombre, Empresa, DireccionEmpresa, url)
14. Segunda forma normal Crear tablas separadas para aquellos grupos de datos que se aplican a varios registros. Relacionar estas tablas mediante una clave externa.
15. Ejemplo segunda forma normal: Ahora teniendo en cuenta la tabla en la primera forma normal. Si observamos surgen otros problemas como por ejemplo la redundancia de los datos de ingreso con respecto a “Nombre”, “Empresa” y “DireccionEmpresa”, estos datos se duplican e inclusive puede ocasionar inconsistencias en la base de datos. Tomando en cuenta las reglas mostradas en la segunda forma normal se procederá con lo siguiente.
16. Ejemplo segunda forma normal: Usuario (IDusuario, Nombre, Empresa, DireccionEmpresa) Url (IDurl, IDusuario, url) Se ha divido el campo “Url”, esto ayudara que en el futuro se pueda añadir mayor cantidad datos.
18. Ejemplo tercera forma normal Hemos creado tablas separadas donde la clave primaria de la tabla “Usuario” está relacionada con la clave foránea de la tabla “Url”. Tomando en cuenta las reglas mostradas en la tercera forma normal se procederá con lo siguiente.
19. Ejemplo tercera forma normal Usuario (IDusuario, Nombre, IDempresa) Empresa (IDempresa, Empresa, DireccionEmpresa)
21. Cuarta forma normal En las relaciones varios-con-varios, entidades independientes no pueden ser almacenadas en la misma tabla.
22. Ejemplo cuarta forma normal Observando la cardinalidad entre las diferentes tablas, observemos que la cardinalidad entre la tabla “Usuario” y “Url” es una relación de varios a varios, por ende faltaría una última modificación a las tablas ya normalizadas.
23. Ejemplo cuarta forma normal Usuario (IDusuario, Nombre, IDempresa) Empresa (IDempresa, Empresa, DireccionEmpresa)
24. Ejemplo cuarta forma normal Url (IDurl, url) UrlRelacion (IDurlRelacion, IDurl; IDusuario)