Normalización

Fiabilidad

¿Qué significa normalización?

La normalización es el proceso de reorganizar los datos de una base de datos para que cumplan dos requisitos básicos:

  1. No hay redundancia de datos, todos los datos se almacenan en un solo lugar.
  2. Las dependencias de los datos son lógicas, todos los datos relacionados se almacenan juntos.

La normalización es importante por muchas razones, pero principalmente porque permite que las bases de datos ocupen el menor espacio posible en disco, lo que se traduce en un mayor rendimiento.

La normalización también se conoce como normalización de datos.

Definición de normalización

El primer objetivo durante la normalización de datos es detectar y eliminar todos los datos duplicados agrupando lógicamente las redundancias de datos. Siempre que un dato dependa de otro, ambos deben almacenarse próximos dentro de ese conjunto de datos.

Al deshacerse de todas las anomalías y organizar los datos no estructurados en una forma estructurada, la normalización mejora enormemente la usabilidad de un conjunto de datos. Los datos se pueden visualizar más fácilmente, se puede extraer información más eficazmente y la información se puede actualizar con mayor rapidez.

Al fusionarse las redundancias, se reduce el riesgo de errores y duplicados que desorganizan aún más los datos. Además de todo esto, una base de datos normalizada ocupa menos espacio, lo que elimina muchos problemas de espacio en disco y aumenta significativamente su rendimiento general.

A continuación se enumeran los tres tipos principales de normalización. Nota: «NF» se refiere a «forma normal».

Primera forma normal (1NF)

Las tablas en 1NF deben cumplir algunas reglas:

  • Cada celda debe contener un único valor (atómico).
  • Cada columna de la tabla debe tener un nombre único.
  • Todos los valores de una columna deben pertenecer al mismo dominio.

Segunda forma normal (2NF)

Las tablas en 2NF deben estar en 1NF y no tener ninguna dependencia parcial (por ejemplo, cada atributo no primo debe depender de la clave primaria de la tabla).

Tercera forma normal (3NF)

Las tablas en 3NF deben estar en 2NF y no tener dependencias funcionales transitivas en la clave primaria.

También existen las dos NF siguientes, pero se utilizan raramente:

Forma Normal Boyce-Codd (BCNF)

Una versión superior de la 3NF, la Forma Normal Boyce-Codd se utiliza para resolver las anomalías que pueden producirse si existe más de una clave candidata. También conocida como Forma Normal 3.5, la BCNF debe estar en 3NF y en todas las dependencias funcionales ( X → Y ), X debe ser una superclave.

Cuarta Forma Normal (4NF)

Para que una tabla esté en 4NF, debe estar en BCNF y no tener una dependencia multivaluada.

Las tres primeras NF fueron derivadas a principios de los años 70 por el padre del modelo de datos relacional, E.F. Codd. Casi todos los motores de bases de datos relacionales actuales utilizan sus reglas.

Algunos motores de bases de datos relacionales no cumplen estrictamente los criterios de todas las reglas de normalización. Un ejemplo es la función de campos multivaluados introducida por Microsoft en la aplicación de bases de datos Access 2007.

Ha habido un acalorado debate en los círculos de bases de datos sobre si tales características descalifican ahora a dichas aplicaciones como verdaderos sistemas de gestión de bases de datos relacionales.

Temas relacionados

Margaret Rouse
Technology Specialist
Margaret Rouse
Experta en tecnología

Margaret Rouse es una galardonada escritora técnica y profesora conocida por su habilidad para explicar temas técnicos complejos a una audiencia de negocios no técnica. Durante los últimos veinte años, sus explicaciones han aparecido en sitios web de TechTarget y ha sido citada como autoridad en artículos del New York Times, Time Magazine, USA Today, ZDNet, PC Magazine y Discovery Magazine. La idea de diversión de Margaret es ayudar a profesionales de TI y negocios a aprender a hablar los idiomas altamente especializados de cada uno. Si tienes una sugerencia para una nueva definición o cómo mejorar una explicación técnica,…