Normalización de tablas
Introducción:
Hola sean bienvenidos, en esta ocasión aprenderemos acerca de las normalizaciones de tablas para que puedas entender como funciona, primero definiremos y aclararemos bien el tema, por ultimo haremos un ejercicio acerca de alumnos.
Objetivos:
- Aprender a normalizar bases de datos
- Conocer las formas de normalizaciones(1FN 2FN, 3FN)
- Eliminar las redundancias
- Ordenar los datos
Conocimientos Previos:
- Saber acerca de programación orientado a objetos.
- Saber crear base de datos
- Saber acerca de Análisis y diseño.
Te preguntaras ¿Que son las normalizaciones de bases de datos?
La normalización consiste en aplicar una serie de reglas para evitar a futuro lo que son las consultas innecesarias, en otras palabras esto quiere decir que estará enfocada en eliminar redundancias e inconsistencias de dependencia en el diseño de tablas.
¿A que se refiere con redundancia?
La normalización consiste en aplicar una serie de reglas para evitar a futuro lo que son las consultas innecesarias, en otras palabras esto quiere decir que estará enfocada en eliminar redundancias e inconsistencias de dependencia en el diseño de tablas.
¿A que se refiere con redundancia?
La redundancia hace referencia al almacenamiento de los mismos datos varias veces en diferentes lugares. La redundancia de datos puede provocar problemas como:
*Incremento del trabajo
*Desperdicio de espacio de almacenamiento
*Consistencia de datos
Las bases de datos se normalizan para:
- Evitar la redundancia de datos
- Proteger la integridad de los datos
- Evitar problemas de actualización de los datos en las tablas
Para que nuestra base de datos este normalizada se tendrán que respetar 3 niveles de normalización, y para ello seguiremos una serie de pasos.
1FN(primer forma normal)
1FN(primer forma normal)
- Tendremos que eliminar los grupos repetitivos que se encuentren en nuestra tabla.
- Crear una tabla separada por cada grupo de datos relacionados.
- Identificar cada grupo de datos relacionados con una clave primaria.
Para identificar que lo que hicimos esta de manera correcta seguiremos los siguientes pasos.
- Nuestra tabla contiene una llave primaria única (PK)
- La clave primaria no contiene atributos nulos
- Debe existir una independencia del orden tanto de las las como de las columnas, es decir, si los datos cambian de orden no deben cambiar sus significados.
- Independencia: esta asegura de que la información no pueda ser modificada o reorganizada por ningún otro programa. Los datos se mantienen accesibles pero de la misma manera permanecerán iguales y no podrán ser dañados por otras aplicaciones que acceden a ellos.
2FN(segunda forma normal)
Deberemos de seguir los siguientes pasos::
- Crear tablas separadas para los grupos que aplican varios registros.
- Relacionar la tabla mediante clave externa.
3FN(tercera forma normal)
Deberemos de seguir los siguientes pasos::
- Eliminar los campos que no dependan de la clave
- No puede haber datos derivados.
- Ninguna columna puede depender de una columna que no tenga una clave.
Normalizar una tabla de ejemplo
Si nos damos cuenta esta tabla no cumple con los requisitos, porque hay que descomponerlos en su mínima expresión.
Podríamos crear tablas separadas para las clases y esta tendría una clave primaria y estarían relacionadas por una clave externa(Foreign Key)
2.- Segunda forma normal: Eliminar los datos redundantes
Observemos la tabla anterior de clases, veremos que el numero de clases no depende de numero de alumnos, de modo que esta no cumple la segunda forma normal, las dos tablas siguientes demuestran la segunda forma normal:
Podríamos crear tablas separadas para las clases y esta tendría una clave primaria y estarían relacionadas por una clave externa(Foreign Key)
- Primer forma normal: No hay grupos repetidos
Las tablas sólo deben tener dos dimensiones. Puesto que un alumno tiene varias clases, estas clases deben aparecer en una tabla independiente. Los campos Clase1, Clase2 y Clase3 de los registros anteriores son indicativos de un problema de diseño.
En su lugar, cree otra tabla en la primera forma normal eliminando el grupo repetido (Nº clase), según se muestra a continuación, esto quiere decir que la primer tabla sera la mamá y las otras tablas serán los hijos de la misma.
- Crear tabla para la clase
2.- Segunda forma normal: Eliminar los datos redundantes
Observemos la tabla anterior de clases, veremos que el numero de clases no depende de numero de alumnos, de modo que esta no cumple la segunda forma normal, las dos tablas siguientes demuestran la segunda forma normal:
- Alumnos
- Registro
Tercera forma normal: eliminar los datos no dependientes de la clave(PK)
En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación:
Y esta tabla si cumple con las formas normales, escrito anteriormente.
En el último ejemplo, Despacho-Tut (el número de despacho del tutor) es funcionalmente dependiente del atributo Tutor. La solución es pasar ese atributo de la tabla Alumnos a la tabla Personal, según se muestra a continuación:
- Alumnos
- Personal
Y esta tabla si cumple con las formas normales, escrito anteriormente.
Conclusión:
Aprendimos a definir las normalización de tablas y las formas que esta compone.
Bibliografía:
Comentarios
Publicar un comentario