# data[].attributes.body
Al finalizar la lección, los estudiantes podrán explicar qué es la normalización y su importancia en el diseño de bases de datos eficientes.

# data[].attributes.headline
Aplicar las tres formas normales (1FN, 2FN, 3FN)

# data[].attributes.subject
Aplicar las tres formas normales (1FN, 2FN, 3FN)

# data[].attributes.body
Se espera que los estudiantes sean capaces de transformar estructuras de datos a cada una de estas formas normales.

# data[].attributes.headline
Identificar problemas en diseños no normalizados

# data[].attributes.subject
Identificar problemas en diseños no normalizados

# data[].attributes.body
Los estudiantes podrán detectar errores comunes en bases de datos no normalizadas y proponer soluciones.

# data[].attributes.body
¿Por qué es importante normalizar una base de datos y qué beneficios aporta?

# data[].attributes.body
Se dará una clase breve donde se explique qué es la normalización, sus objetivos y una visión general de 1FN, 2FN y 3FN.

# data[].attributes.attachment_link.title
¿CÓMO NORMALIZAR UNA BASE DE DATOS RELACIONAL? NORMALIZACIÓN (1FN, 2FN y 3FN) FÁCIL Y SENCILLO

# data[].attributes.body
El docente mostrará un ejemplo práctico de una tabla que no cumple con 1FN y cómo normalizarla.

# data[].attributes.body
Los estudiantes, en grupos pequeños, analizarán tablas no normalizadas y determinarán cómo aplicar 2FN y 3FN. Responderán en un Padlet creado para la actividad.

# data[].attributes.attachment_link.readable_text
Artículo original: Database Normalization - Normal Forms 1nf 2nf 3nf Table Examples

En bases de datos relacionales, especialmente las grandes, necesitas ordenar las entradas, así otros mantenedores y administradores puedan leerlos y trabajar en ellos. Por eso la normalización de base de datos es importante.

En simples palabras, la normalización de base de datos implica organizar una base de datos en varias tablas para reducir redundancia. Puedes diseñar la base de datos para seguir cualquiera de los tipos de normalización, tales como 1 NF, 2NF y 3NF.

En este artículo, miraremos qué es normalización de base de datos en detalle y su propósito. También miraremos los tipos de normalización - 1NF, 2NF, 3NF - con ejemplos.

Que cubriremos

¿Qué es normalización de base de datos?

La Normalización de Base de Datos es un principio de diseño de Base de Datos para organizar los datos de una manera consistente y estructurada.

Te ayuda en evitar redundancia y mantener la integridad de la Base de Datos. También te ayuda en eliminar características indeseables asociados con la inserción, eliminación, y actualización.

¿Cuál es el propósito de la normalización?

El propósito principal de la Normalización de Base de Datos es evitar complejidades, eliminar duplicados, y organizar los datos de una manera consistente. En Normalización, los datos están divididos en varias tablas enlazadas juntas con relaciones.

Los administradores de Base de Datos son capaces de lograr estas relaciones usando las llaves primarias, llaves foráneas, y llaves compuestas.

Para hacerlo, una llave primaria en una tabla, por ejemplo, employee_wages es relacionado con el valor de la otra tabla, por ejemplo, employee_data.

Nota: Una llave primaria es una columna que identifica únicamente las filas de datos en esa tabla. Es un identificador único tal como ID de empleado, ID de estudiante, Número de Identificación del votante (VIN), y así sucesivamente.

Una llave foránea es un campo que se relaciona a la llave primaria de la otra tabla.

Una llave compuesta es como la llave primaria, pero en vez de tener una columna, tiene múltiples columnas.

¿Qué es 1NF 2NF y 3NF?

1NF, 2NF, y 3NF son los tres primeros tipos de normalización de base de datos. Significan primera forma normal, segunda forma normal y tercera forma normal, respectivamente.

Hay también 4NF (cuarta forma normal) y 5NF (quinta forma normal). Hay inclusive 6NF (sexta forma normal), pero la forma normal más común que verás por ahí es 3NF (tercera forma normal).

Todos los tipos de normalización de base de datos son acumulativos - lo que quiere decir es cada uno se construye uno sobre el otro. Así que todos los conceptos en 1NF también llevan al 2NF, y así sucesivamente.

La primera forma normal - 1NF

Para una tabla ser la primera forma normal, debe cumplir el siguiente criterio:

una sola celda no debe contener más de un valor (atomicidad)

debe haber una clave primaria para identificación

no filas o columnas duplicadas

cada columna debe tener solamente un valor por cada fila en la tabla

La segunda forma normal - 2NF

El 1NF solamente elimina los grupos repetitivos, no la redundancia. Por eso hay 2NF.

Una tabla se dice que está en 2NF si cumple el siguiente criterio:

ya está en 1NF

no tiene dependencia parcial. Es decir, todos los atributos no claves son totalmente dependientes de la clave primaria

La tercera forma normal - 3NF

Cuando una tabla está en 2NF, elimina los grupos repetitivos y la redundancia, pero no elimina la dependencia parcial transitiva.

Esto significa que un atributo no principal (un atributo que no forma parte de la clave del candidato) es dependiente de otro atributo no principal. Esto es lo que la tercera forma normal (3NF) elimina.

Así que, para que una tabla esté en 3NF, debe:

estar en 2NF

no tiene dependencia parcial transitiva

Ejemplos de 1NF, 2NF, y 3NF

La Normalización de Base de Datos es bastante técnico, pero ilustraremos cada una de las formas normales con ejemplos.

Imagina que estamos construyendo una aplicación de administración de un restaurante. Esa aplicación necesita almacenar datos sobre los empleados de la compañía y comienza creando la siguiente tabla de empleados:

Todas las entradas son atómicas y hay una clave primaria compuesta (employee_id, job_code) así que la tabla está en la primera forma normal (1NF).

Pero inclusive si solamente sabes el employee_id de alguien, entonces puedes determinar su name, home_state, y state_code (porque deberían ser la misma persona). Esto significa que name, home_state, y state_code son dependientes de employee_id (una parte de la clave primaria compuesta). Así que, la tabla no está en 2NF. Deberíamos separarlos a una tabla distinta para hacerlo 2NF.

Ejemplo de la segunda forma normal (2NF)

Tabla employee_roles

Tabla employees

Tabla jobs

home_state ahora es dependiente de state_code. Así que, si sabes el state_code, entonces puedes encontrar el valor de home_state.

Para llevar esto a un paso más allá, deberíamos separarlos otra vez a una tabla distinta para hacerlo 3NF.

Ejemplo de la tercera forma normal (3NF)

Tabla employee_roles

Tabla employees

Tabla jobs

Tabla states

Ahora nuestra base de datos está en 3NF.

Conclusión

Este artículo te mostró lo que es la normalización de base de datos, y sus tipos. También vimos esos tipos de normalización y el criterio que una tabla debe cumplir antes que pueda ser certificado de ser cualquiera de ellos.

Vale la pena notar que la mayoría de las tablas no exceden el límite 3NF, pero puedes también llevarlos al 4NF y 5NF, dependiendo de los requerimientos y el tamaño de los datos a mano.

Si encuentras el artículo útil, no dudes en compartirlo con tus amigos y tu familia.

# data[].attributes.attachment_link.title
Normalización de base de datos: formas normales 1nf 2nf 3nf ejemplos de tablas

# data[].attributes.attachment_link.description
En bases de datos relacionales, especialmente las grandes, necesitas ordenar las entradas, así otros mantenedores y administradores puedan leerlos y trabajar en ellos. Por eso la normalización de base de datos es importante. En simples palabras, la normalización de base de datos implica organizar una base de datos en varias

# data[].attributes.body
Los estudiantes trabajarán individualmente en un conjunto de tablas que deberán transformar según 1FN, 2FN y 3FN.

# data[].attributes.body
Durante la actividad grupal, el docente monitoreará las discusiones y aclarará dudas.

# data[].attributes.body
Al final de la clase, se entregará una breve evaluación escrita donde los estudiantes normalizarán una tabla a 3FN.

# data[].attributes.body
Los estudiantes compartirán sus pensamientos sobre por qué la normalización es importante y cómo se puede aplicar en el mundo real.

# data[].attributes.body
Cada estudiante responderá una pregunta de salida: ¿Qué concepto o paso en la normalización encontraste más desafiante y por qué?

# data[].attributes.body
Completar un conjunto de tablas adicionales y transformarlas a 1FN, 2FN y 3FN.

# data[].attributes.attachment_link.description
5. Ejercicios normalización - Download as a PDF or view online for free

# data[].attributes.body
Leer un artículo breve sobre los beneficios de la normalización en la optimización de bases de datos.

# data[].attributes.attachment_link.title
¿Cuáles son los beneficios de tener bases de datos normalizadas?

# data[].attributes.attachment_link.description
En un mundo cada vez más globalizado, no son pocas las empresas que optan por la subcontratación de servicios para acometer grandes retos. Un ejemplo concreto es el outsourcing o externalización del trabajo en compañías especializadas.