¿Qué es una normalización?
La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas y el establecimiento de relaciones entre ellas según reglas diseñadas tanto para proteger los datos como para hacer que la base de datos sea más flexible al eliminar la redundancia, las dependencias incoherentes y las ambigüedades.
Redundancia: Se llama así
a los datos que se repiten continua e innecesariamente por las tablas de las
bases de datos.
Ambigüedades: Datos que no
clarifican suficientemente el registro al que representan.
Dependencias incoherentes:
Cuando la ruta para encontrar los datos puede no estar o estar interrumpida.
Los datos redundantes
desperdician el espacio de disco y crean problemas de mantenimiento. Si hay que
cambiar datos que existen en más de un lugar, se deben cambiar de la misma
forma exactamente en todas sus ubicaciones. Ej.: Un cambio en la
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 no en algún otro lugar de la base de datos.
¿Por qué realizar la
Normalización de una Base de Datos?
La Normalización de bases de datos se efectúa para lograr los siguientes objetivos:
- Organizar los datos en grupos lógicos, de tal manera que cada grupo describa una pequeña parte del todo.
- Crear una relación de datos sólida.
- Evitar la creación y actualización de relaciones y dependencias no deseadas entre datos.
- Minimizar la cantidad de datos duplicados almacenados en una base de datos.
- Perfeccionar la organización de los datos de tal manera que, cuando se necesite introducir modificaciones, el cambio sólo deba aplicarse en un lugar.
- Construir una base de datos a la que se pueda acceder de forma rápida y donde sea posible manipular los datos con la máxima eficiencia y sin comprometer su integridad.
- Prevenir borrados no deseados de datos.
- Reforzar la seguridad de los datos, puesto que la normalización hace que los datos tengan una localización más precisa.
- Optimizar el espacio de almacenamiento.
- Ahorrar costes de mantenimiento.
·
Requisitos y reglas
Requisitos de la
normalización en Base de Datos
Para que las tablas de
nuestra BD estén normalizadas deben cumplir las siguientes reglas:
- Cada tabla debe tener su nombre único.
- No puede haber dos filas iguales.
- No se permiten los duplicados.
- Todos los datos en una columna deben ser del mismo tipo.
- Elimina la repetición de grupos.
- Minimizar redundancia.
- Facilitar el mantenimiento de la base de datos.
- Optimizar el rendimiento de la base.
- Cada tabla debe representar sólo un tipo de entidad (como una persona, un lugar, un pedido de cliente o un producto).
- Eliminar repetición de columnas.
- Definir una clave primaria por tabla.
- Eliminar el uso de claves compuestas.
- Separar los campos que no sean de esa tabla y/o clave primaria y ubicarlos en la tabla/entidad correcta.
- Crear una nueva tabla para mover la repetición de grupos de la tabla original. (generación de catálogos)
- Cada registro debe de tener una clave primaria única e irrepetible.
A Nivel Campo:
- Todos los campos deben depender de la clave primaria, ya sea directamente o indirectamente.
- Cada campo debe de representar un hecho de la clave primaria y nada más.
- Eliminar dependencias de los campos a claves no primarias.
- Todos los campos deben contener un único valor.
- Todos los valores de cada campo deben tener el mismo tipo de dato.
-------------------------------------------------------
·
Para normalizar una base de datos existen principalmente 3 reglas, las cuales se deberían cumplir para evitar redundancias e incoherencias en las dependencias. A estas reglas se les conoce como "Forma normal" qué va de la 1 a la 3 y si la base de datos cumple con cada regla se dice que está en la "primera o segunda o tercera forma normal"
Primera forma normal
Se elimina los grupos repetidos
de las tablas individuales.
Se crea una tabla independiente
para cada conjunto de datos relacionados.
Se identifica cada conjunto de
datos relacionados con una clave principal.
Segunda forma normal
Se crea tablas
independientes para conjuntos de valores que se apliquen a varios registros.
Se relaciona
estas tablas con una clave externa.
Tercera forma normal
Se elimina los campos que no
dependan de la clave.
--------------------------------------------------------------
Ejemplo de
normalización
Tabla sin
normalizar
|
Nº alumno |
Tutor |
Despacho-Tut |
Clase1 |
Clase2 |
Clase3 |
|
1022 |
García |
412 |
101-07 |
143-01 |
159-02 |
|
4123 |
Díaz |
216 |
101-07 |
143-01 |
179-04 |
Primera forma de
normalizar
Puesto que un alumno tiene
varias clases, estas clases deben aparecer en una tabla
independiente. Otra forma de considerar este problema es con una relación
de uno a varios y poner el lado de uno y el lado de varios en la misma tabla.
|
Nº alumno |
Tutor |
Despacho-Tut |
Nº clase |
|
1022 |
García |
412 |
101-07 |
|
1022 |
García |
412 |
143-01 |
|
1022 |
García |
412 |
159-02 |
|
4123 |
Díaz |
216 |
101-07 |
|
4123 |
Díaz |
216 |
143-01 |
|
4123 |
Díaz |
216 |
179-04 |
Segunda forma de
normalizar
Observe los diversos valores de N.º clase para cada valor
de N.º alumno en la tabla anterior. El N.º clase no depende funcionalmente de
N.º alumno (la clave principal), de modo que la relación no cumple la segunda
forma normal.Las tablas siguientes demuestran la segunda forma normal:
Alumnos
|
Nº alumno |
Tutor |
Despacho-Tut |
|
1022 |
García |
412 |
|
4123 |
Díaz |
216 |
Registro
|
Nº alumno |
Nº clase |
|
1022 |
101-07 |
|
1022 |
143-01 |
|
1022 |
159-02 |
|
4123 |
101-07 |
|
4123 |
143-01 |
|
4123 |
179-04 |
Tercera forma de
normalizar
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:
Alunmos
|
Nº alumno |
Tutor |
|
1022 |
García |
|
4123 |
Díaz |
Personal
|
Nombre |
Sala |
Dept. |
|
García |
412 |
42 |
|
Díaz |
216 |
42 |
- EDUARDO LÓPEZ
- DENNIS CARILLO
- ISAAC AGUIRRE
- DANIEL ROMO
- FERNANDO YÁNEZ



No hay comentarios.:
Publicar un comentario