robot de la enciclopedia para niños

Segunda forma normal para niños

Enciclopedia para niños

La segunda forma normal (conocida como 2NF) es una regla importante que se usa para organizar la información en las bases de datos. Fue creada por un experto llamado E.F. Codd en 1971. Imagina que una base de datos es como un gran archivador con muchas carpetas (tablas). Para que una tabla esté bien organizada y sea eficiente, debe seguir ciertas reglas, llamadas "formas normales".

Una tabla que ya cumple con la primera forma normal (1NF) puede pasar a la segunda forma normal. Para que una tabla esté en 2NF, cada parte de la información que no es clave principal debe depender completamente de la clave principal completa, y no solo de una parte de ella.

En palabras más sencillas: si tienes una tabla con una clave principal formada por varias columnas (por ejemplo, "Empleado" y "Habilidad"), cualquier otra columna de la tabla (como "Lugar de trabajo") no debe depender solo de "Empleado" o solo de "Habilidad", sino de la combinación de ambas.

Si una tabla ya está en 1NF y su clave principal no está formada por varias columnas, entonces automáticamente cumple con la 2NF.

¿Por qué es importante la 2NF?

La 2NF ayuda a evitar problemas cuando guardamos, cambiamos o borramos información en una base de datos. Si una tabla no está en 2NF, puede haber información repetida o inconsistente, lo que significa que los datos podrían no ser correctos.

Ejemplo: Habilidades de los empleados

Imagina que tenemos una tabla para registrar las habilidades de los empleados:

Habilidades de los empleados
Empleado Habilidad Lugar actual de trabajo
Jones Mecanografía 114 Main Street
Jones Taquigrafía 114 Main Street
Jones Tallado 114 Main Street
Bravo Limpieza ligera 73 Industrial Way
Ellis Alquimia 73 Industrial Way
Ellis Malabarismo 73 Industrial Way
Harrison Limpieza ligera 73 Industrial Way

En esta tabla, la clave principal es la combinación de {Empleado, Habilidad}. Esto significa que para identificar una fila única, necesitamos saber tanto el nombre del empleado como su habilidad.

El problema es que la columna Lugar actual de trabajo solo depende del Empleado, no de la combinación de Empleado y Habilidad. Por ejemplo, sabemos que Jones trabaja en "114 Main Street" tres veces, una por cada habilidad. Esto es información repetida.

Esta repetición puede causar problemas. Si Jones cambia de lugar de trabajo, tendríamos que actualizar su dirección en cada una de sus habilidades. Si olvidamos actualizar una, la base de datos tendría información contradictoria sobre dónde trabaja Jones.

Solución con 2NF

Para solucionar esto y que la tabla esté en 2NF, podemos dividir la información en dos tablas:

Empleados
Empleado Lugar actual de trabajo
Jones 114 Main Street
Bravo 73 Industrial Way
Ellis 73 Industrial Way
Harrison 73 Industrial Way
Habilidades de los empleados
Empleado Habilidad
Jones Mecanografía
Jones Taquigrafía
Jones Tallado
Bravo Limpieza ligera
Ellis Alquimia
Ellis Malabarismo
Harrison Limpieza ligera

Ahora, la información del lugar de trabajo de cada empleado se guarda solo una vez en la tabla "Empleados". Si Jones cambia de dirección, solo necesitamos actualizarla en un lugar. Las dos tablas están en 2NF y son más eficientes.

¿La 2NF resuelve todos los problemas?

Aunque la 2NF mejora mucho la organización de los datos, no resuelve todos los problemas. Por ejemplo, mira esta tabla de ganadores de torneos:

Ganadores del torneo
Torneo Año Ganador Fecha de nacimiento del ganador
Des Moines Masters 1998 Chip Masterson 14 de marzo de 1977
Indiana Invitational 1998 Al Fredrickson 21 de julio de 1975
Cleveland Open 1999 Bob Albertson 28 de septiembre de 1968
Des Moines Masters 1999 Al Fredrickson 21 de julio de 1975
Indiana Invitational 1999 Chip Masterson 14 de marzo de 1977

Aquí, la clave principal es {Torneo, Año}. Las columnas Ganador y Fecha de nacimiento del ganador dependen de esta clave completa. Sin embargo, la fecha de nacimiento del ganador se repite cada vez que aparece el mismo ganador. Este tipo de problema se resuelve con la tercera forma normal (3NF).

2NF y las claves candidatas

Una clave candidata es cualquier columna o grupo de columnas que puede identificar de forma única una fila en una tabla. Una tabla puede tener varias claves candidatas.

Para que una tabla esté en 2NF, no solo la clave principal debe cumplir la regla, sino que ninguna parte de la información que no es clave debe depender de solo una parte de CUALQUIERA de las claves candidatas.

Por ejemplo, en esta tabla de modelos de cepillos de dientes:

Modelos eléctricos de cepillo de dientes
Fabricante Modelo Nombre completo del modelo País del fabricante
Forte X-Prime Forte X-Prime Italia
Forte Ultraclean Forte Ultraclean Italia
Dent-o-Fresh EZBrush Dent-o-Fresh EZBrush USA
Kobayashi ST-60 Kobayashi ST-60 Japón
Hoch Toothmaster Hoch Toothmaster Alemania
Hoch Contender Hoch Contender Alemania

Aquí, {Nombre completo del modelo} podría ser la clave principal. Pero {Fabricante, Modelo} también es una clave candidata. La columna País del fabricante depende solo de Fabricante, que es solo una parte de la clave candidata {Fabricante, Modelo}. Por lo tanto, esta tabla no está en 2NF.

Véase también

Kids robot.svg En inglés: Second normal form Facts for Kids

  • 1NF
  • 3NF
  • BCNF
  • 4NF
  • 5NF
  • DKNF
  • Denormalización

Enlaces externos

de:Normalisierung (Datenbank)#Zweite Normalform (2NF)

kids search engine
Segunda forma normal para Niños. Enciclopedia Kiddle.