Saltar a contenido

Normalizacion

La normalizacion de la base de datos sirve para prevenir anomalias, mejorar el rendimiento y poder hacer consultas más efectivas.

Hay cinco formas normales, cada una con sus características. Cada nueva forma introduce requisitos adicionales a la forma anterior.

1º Forma Normal (1NF)

Cada celda debe tener un unico contenido atómico. Se evita cargar la misma celda con múltiples datos o datos compuestos; en cambio se crean varios campos acordes. Cada atributo debe tener un valor único para cada registro.

Ejemplo tabla mal implementada:

ID_usuario datos_usuario
1 aqui37, Aquiles, Brinco, 37
2 helchu45, Helen, Chufe , 45

Ejemplo aplicando primera forma normal:

ID_usuario alias nombre apellido edad
1 aqui37 Aquiles Brinco 37
2 helchu45 Helen Chufe 45

2º Forma Normal (2NF)

El valor de cada celda debe dependér unicamente de la clave primaria. (No puede haber celdas con varias claves afectando su contenido). Se previene la dependencia parcial.

Ejemplo tabla mal implementada:

ID_pedido ID_usuario ID_producto producto precio cantidad
1 34 22 galletas 1 15

En este caso hay dos claves afectando el contenido del registro, que son ID_pedido e ID_producto.

Una forma acorde a la segunda forma de implementar la tabla es:

ID_pedido ID_usuario ID_producto cantidad
1 34 22 15
ID_producto producto precio
22 galletas 1

REVISAR

3º Forma Normal (3NF)

Se busca eliminar la dependencia transitiva. Se trata de no repetir relaciones entre campos. Por ejemplo: en una tabla de datos de usuarios donde se indica la ciudad de su domicilio y su provincia (provincia/estado/departamento/etc) :

ID_usuario nombre_usuario ciudad provincia
1 Alberto La Plata Provincia de Buenos Aires
2 Claudia Córdoba Córdoba

Hay una redundancia: una misma ciudad sólo puede estar ubicada en una única provincia. La solución es crear una tabla aparte con los datos de las ciudades, cada una con su ID y ser referenciadas por la tabla de usuarios.

ID_usuario nombre_usuario ID_ciudad
1 Alberto 7
2 Claudia 21
ID_ciudad ciudad provincia
7 La Plata Provincia de Buenos Aires
21 Córdoba Córdoba

De esta forma se previene evitar la repetición de datos de ubicación en distintas tablas.

4º Forma Normal (4NF)

Evita la redundancia de datos:

  • multiples valores para una misma tabla
  • valores dependientes de múltiples valores de la misma tabla (dependencia muiltivaluada)

clave foranea compuesta

5º Forma Normal (5NF)

Se previenen las dependencias de union entre atributos

Si un atributo requiere unir atributos de varias tablas entonces debe ser movido a otra tabla.

Criterios de Normalización

Para diseñar bases de datos pequeñas utilizar la tercera forma normal suele ser suficiente. En cambio para bases de datos muy grandes y con necesidad de escalamiento es recomendable implementar la cuarta o la quinta forma normal.

Referencias

Soy Dalto - Curso de SQL desde CERO (Completo)