Está en la página 1de 4

1

NORMALIZACION
Cómo normalizar una base de datos sin morir en el intento

sampol.90
7311Puntos

hace 2 años

31
Share
Muchos de ustedes se preguntarán qué es y para qué sirve esto
de normalizar una base de datos y la verdad es mas sencillo de lo
que parece.

Qué es la Normalización de una base de datos


El proceso de normalización de una base de datos relacional
consiste en aplicar una serie de reglas para evitar a futuro
realizar queries, o consultas innecesariamente complejas. En
otras palabras están enfocadas en eliminar redundancias e
inconsistencias de dependencia en el diseño de las tablas.

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 poder decir que nuestra base de datos está normalizada


deben respetarse 3 niveles de normalización.

La primera forma Normal


Hay que seguir una serie de pasos para poder decir que nuestra
tabla está en primera forma normal, estos son:

1. Eliminar los grupos repetitivos de la tablas individuales.


2. Crear una tabla separada por cada grupo de datos relacionados.
3. Identificar cada grupo de datos relacionados con una clave
primaria

Para identificar si lo hemos hecho de manera correcta debemos


considerar los siguientes aspectos:

 Todos los atributos son atómicos. Un atributo es atómico si


los elementos del dominio son indivisibles, mínimos.
 La tabla contiene una clave primaria única.
 La clave primaria no contiene atributos nulos.
 No debe existir variación en el número de columnas.
 Los campos no clave deben identificarse por la clave
(Dependencia Funcional).
2
NORMALIZACION

 Debe existir una independencia del orden tanto de las filas


como de las columnas, es decir, si los datos cambian de
orden no deben cambiar sus significados.
 Una tabla no puede tener múltiples valores en cada columna.
 Los datos son atómicos (a cada valor de X le pertenece un valor
de Y y viceversa).

La segunda forma Normal


Debemos seguir los siguientes pasos:

1. Crear tablas separadas para aquellos grupos de datos que se


aplican a varios
registros.
2. Relacionar estas tablas mediante una clave externa.
Sabremos si nuestra base de datos tiene en la segunda forma
normal si ésta previamente cumple con las normas de la Primera
forma Normal y si sus atributos no principales dependen de
forma completa de la clave principal. Es decir que no existen
dependencias parciales.

La tercera forma Normal


Debemos considerar los siguientes puntos:

1. Eliminar aquellos campos que no dependan de la clave.


2. Ninguna columna puede depender de una columna que no tenga
una clave.
3. No puede haber datos derivados.

Podemos decir que nuestra tabla se encuentra en tercera normal


si previamente estaba en segunda forma normal y si no existe
ninguna dependencia funcional transitiva entre los atributos que
no son clave. Es decir todo atributo no primo es implicado por
la clave primaria en una secuencia no transitiva.

Ejemplo:
Para entender mucho mejor todo esto revisemos la siguiente
tabla:
3
NORMALIZACION

Si nos damos cuenta esta tabla no cumple con el requisito que


dice que todos los atributos deben ser atómicos, es decir que
debemos descomponerlo en su mínima expresión

Siguiendo los aspectos a considerar podríamos decir que nuestra


tabla inicial se transformaría a:

Con esto podríamos decir que nuestra tabla cumple con la


Primera forma Normal.
Ahora, si nos fijamos esta aun no cumple con los requisitos que
pide la Segunda forma Normal.

Podríamos crear tablas separadas para Cursos y para profesores


y cada una de estas tendría su clave primaria y estarían
relacionadas por una clave externa (Foreign Key).

Tabla de Cursos:

Tabla Autores:

Ahora nuestra tabla está en Segunda Forma Normal.

Si detallamos nuestra tabla de Cursos aún podríamos


simplificarla, para esto podríamos extraer la columna de
materiales y crear una nueva tabla para esto.
4
NORMALIZACION

Con esto, nuestra tabla cumpliría con los requisitos de la Tercera


forma normal y estaría lista 😃

Si deseas aprender más sobre bases de datos y su normalización


te recomiendo ampliamente el curso de Fundamentos de Bases
de datos y luego profundizar con Curso de SQL y MySQL
o Curso de PostgreSQ