robot de la enciclopedia para niños

Tercera forma normal para niños

Enciclopedia para niños

La tercera forma normal (3NF) es una regla importante que se usa para organizar la información en las bases de datos. Fue creada por Edgar Frank Codd en 1971. Imagina que una base de datos es como un gran archivador donde guardas muchos datos. La 3NF ayuda a que ese archivador esté muy ordenado y sea fácil de usar.

Una tabla en una base de datos está en 3NF si cumple dos condiciones principales:

  • La tabla ya debe estar en la segunda forma normal (2NF). Esto significa que todos los datos que no son parte de la clave principal (la información que identifica cada fila de forma única) dependen completamente de esa clave principal.
  • Ningún dato que no sea parte de la clave principal debe depender de otro dato que tampoco sea parte de la clave principal. A esto se le llama "dependencia transitiva".

Un atributo no-primario es cualquier columna de la tabla que no forma parte de la clave principal. Una dependencia transitiva ocurre cuando un dato (A) depende de otro dato (B), y ese dato (B) a su vez depende de la clave principal (C). Entonces, A depende de C, pero no directamente, sino a través de B. Es como una cadena: C → B → A.

¿Por qué es importante la 3NF?

La 3NF es muy útil porque ayuda a evitar problemas en las bases de datos. Cuando una tabla no está en 3NF, pueden ocurrir cosas como:

  • Inconsistencias: Podrías tener la misma información escrita de diferentes maneras, lo que causa errores. Por ejemplo, la fecha de nacimiento de una persona podría aparecer diferente en distintos lugares.
  • Dificultad para actualizar: Si un dato cambia, tendrías que actualizarlo en muchos lugares, lo que aumenta la posibilidad de equivocarse.
  • Espacio desperdiciado: Se repite mucha información, ocupando más espacio del necesario.

Al aplicar la 3NF, la base de datos se vuelve más confiable, fácil de mantener y eficiente.

Un ejemplo para entender la 3NF

Imagina que tienes una tabla para registrar los ganadores de torneos.

Ganadores del torneo
Torneo Año Ganador Fecha de nacimiento del ganador
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

En esta tabla, la clave principal para identificar cada fila es la combinación de {Torneo, Año}. Esto significa que cada fila es única por el torneo y el año.

Antes de la 3NF: Problemas

Esta tabla no está en 3NF. ¿Por qué? Porque el dato "Fecha de nacimiento del ganador" depende del "Ganador", y el "Ganador" a su vez depende de la clave {Torneo, Año}. Esto es una dependencia transitiva: {Torneo, Año} → Ganador → Fecha de nacimiento del ganador.

Si Al Fredrickson ganara muchos torneos, su fecha de nacimiento se repetiría en cada fila. Si por error se escribiera una fecha de nacimiento diferente para él en otra fila, la base de datos tendría información contradictoria.

Después de la 3NF: Soluciones

Para que la tabla cumpla con la 3NF y evitar estos problemas, la dividimos en varias tablas más pequeñas y relacionadas.

Ganadores del torneo
idTorneo Año idGanador
1 1998 2
2 1999 3
3 1999 2
1 1999 1
Torneo
idTorneo Nombre
1 Indiana Invitational
2 Cleveland Open
3 Des Moines Masters
Jugadores
idJugador Jugador Fecha de nacimiento
1 Chip Masterson 14 de marzo de 1977
2 Al Fredrickson 21 de julio de 1975
3 Bob Albertson 28 de septiembre de 1968

Ahora, cada tabla se enfoca en un tipo de información:

  • La tabla "Ganadores del torneo" solo relaciona qué jugador ganó qué torneo en qué año.
  • La tabla "Torneo" guarda los detalles de cada torneo.
  • La tabla "Jugadores" guarda los detalles de cada jugador, incluyendo su fecha de nacimiento, una sola vez.

De esta forma, si la fecha de nacimiento de un jugador cambia, solo hay que actualizarla en un lugar (la tabla "Jugadores"). Además, no hay repetición de fechas de nacimiento, lo que hace la base de datos más eficiente y sin errores.

Otras formas de normalización

La 3NF es una de las formas de normalización más comunes, pero existen otras más avanzadas que se usan para bases de datos muy complejas. Algunas de ellas son:

  • 1NF (Primera Forma Normal)
  • 2NF (Segunda Forma Normal)
  • BCNF (Forma Normal de Boyce-Codd)
  • 4NF (Cuarta Forma Normal)
  • 5NF (Quinta Forma Normal)

de:Normalisierung (Datenbank)#Dritte Normalform (3NF)

Véase también

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

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