logo informatico sin limites

¿Quieres apoyarnos? Con nuestro Código: "VIVESINLIMITES" tendrás 2 MESES GRATIS en el plan mensual del Hosting SERED QUIERO APOYARTE!

La primera forma normal (1fn), es el paso inicial que debes realizar para tener una base de datos correctamente normalizada.

¿Que Es La Normalización?

Son una serie reglas que se deben seguir para crear bases de datos funcionales, sin problemas de redundancia (sin información repetida) y evitar la inconsistencia de los datos.

formas normales base de datos
Rojos: No cumple, Verde: Cumple.

¿Cuales son las Distintas Formas Normales de las Bases de Datos?

Estas son las principales y las mas usadas:

¿Como se Realiza la Primera Forma Normal?

La (1fn) busca eliminar los problemas mas básicos de la composición de una tabla.

¿Cuales son esos problemas que tenemos que buscar en nuestras tablas?

  • Una tabla sin clave primaria.
  • Redundancia de claves primarias ( clave primaria repetidas).
  • Celdas con múltiples datos.
  • Nombres de las columnas con caracteres extraños ($#%).

Para que la recuerdes de manera mas sencilla a esta forma la llamo. Comprobación y cero clonación

  • Una tabla sin clave primaria: Comprobación.
  • Redundancia de claves primarias ( clave primaria repetidas): Comprobación.
  • Celdas con múltiples datos: Cero Clonación.
  • Nombres de las columnas con caracteres extraños ($#%): Comprobación.

En pocas palabras vas analizar la tabla para asegurarte que no se cumpla algunos de los problemas antes mencionados.

Ejemplo de Como se Utiliza

ejemplos de la primera forma normal base de datos
Ejemplo 1FN.

Imagina que tenemos un cine y necesitamos un sistema que me permita administrar toda la información de las películas.

TituloDirectorNacionalidad directorFormatoPrecioGeneroDuraciónPuntuacionesProductora nombreProductora pais
El padrinoFrancis Ford CoppolaAmericanHD30Gánsteres,Drama175 minutosAParamout PicturesCANADA
Toy StoryJohn LasseterAmericanHD30Animación,Aventura81 minutosBPixar AnimationUSA
Ejercicio de 1fn.

Revisemos para ver si cumple la primera forma:

  • Una tabla sin clave primaria: La tabla SI tiene clave primaria. (Titulo)
  • Redundancia de claves primarias ( clave primaria repetidas): Por el momento NO hay redundancia de claves primarias.
  • Celdas con múltiples datos: La celda Genero tiene múltiples datos (Animación,Aventura). Cada celda solo debe tener valores atómicos es decir un solo dato.
  • Nombres de las columnas con caracteres extraños ($#%): Todos los nombres están correctos.

Tenemos un problema de 1FN qu tenemos en la columna (Géneros).

Esta tiene celdas con múltiples datos, por lo cual es un problema que la primera forma normal nos advierte que debemos solucionar.

Vamos a intentar resolverla separando cada información en celdas distintas. ¿Se solucionaría?

TituloDirectorNacionalidad directorFormatoPrecioGeneroDuraciónPuntuacionesProductora nombreProductora pais
El padrinoFrancis Ford CoppolaAmericanHD30Gánsteres175 minutosAParamout PicturesCANADA
El padrinoFrancis Ford CoppolaAmericanHD30Drama175 minutosAParamout PicturesCANADA
Toy StoryJohn LasseterAmericanHD30Animación81 minutosBPixar AnimationUSA
Toy StoryJohn LasseterAmericanHD30Aventura81 minutosBPixar AnimationUSA
  • Una tabla sin clave primaria: La tabla SI tiene clave primaria. (Titulo)
  • Redundancia de claves primarias ( clave primaria repetidas): Por el momento NO hay redundancia de claves primarias.
  • Celdas con múltiples datos: La celda Genero ya NO tiene múltiples datos.
  • Nombres de las columnas con caracteres extraños ($#%): Todos los nombres están correctos.

Solucionamos el problema de la columna (Genero) pero ahora se presento otro problema.

Al guardar en cada celda un dato. Esto creo una redundancia de clave primaria.

Por ello la primera forma sigue sin cumplirse. Porque esa columna sigue generando complicaciones. ¿Solución?

Separar tablas.

TituloFormatoDirectorNacionalidad directorPrecioDuracionPuntuacionesProductora id
El padrinoHDFrancis Ford Coppolaamerican30175 minutosA1
Toy StoryHDJohn Lasseteramerican3081 minutosB2
  • Una tabla sin clave primaria: La tabla SI tiene clave primaria. (Titulo)
  • Redundancia de claves primarias ( clave primaria repetidas): Todo correcto.
  • Celdas con múltiples datos: La celda Genero ya NO tiene múltiples datos.
  • Nombres de las columnas con caracteres extraños ($#%): Todos los nombres están correctos.
Genero idGenero nombre
1Gánsteres
2Drama
3Animación
4Aventura
  • Una tabla sin clave primaria: La tabla SI tiene clave primaria. (Genero ID)
  • Redundancia de claves primarias ( clave primaria repetidas): Todo correcto.
  • Celdas con múltiples datos: NO tiene múltiples datos.
  • Nombres de las columnas con caracteres extraños ($#%): Todos los nombres están correctos.

Ahora la tabla si quedo correctamente normalizada en la 1FN.

Una pregunta que quizás te vas a realizar, ¿Si en vez de separar las tablas simplemente fuera agregado una columnas mas?

TituloDirectorNacionalidad directorFormatoPrecioGeneroGenero 2DuracionPuntuacionesProductora nombreProductora pais
El padrinoFrancis Ford CoppolaAmericanHD30GánsteresDrama175 minutosAParamout PicturesCANADA
Toy StoryJohn LasseterAmericanHD30AnimaciónAventura81 minutosBPixar AnimationUSA
Ejericio de 1fn
  • Una tabla sin clave primaria: La tabla SI tiene clave primaria. (Titulo)
  • Redundancia de claves primarias ( clave primaria repetidas): Todo correcto.
  • Celdas con múltiples datos: La celda Genero ya NO tiene múltiples datos.
  • Nombres de las columnas con caracteres extraños ($#%): Todos los nombres están correctos.

¿También cumplimos no?

En teoría si.. pero no es una opción recomendable porque no sabemos cuantos géneros van agregar para cada película..

Una película puede tener 2, 3, 4 géneros. Entonces al no tener la certeza es mejor separar en tablas.

Sin embargo en caso de que solamente se puede agregar 2 géneros para TODA la vida. esa opción si podría ser “valida”.

Los que navegan mas profundo, son los que descubren tesoros mas valiosos.

Siguiente capitulo

Segunda Forma Normal

Esta web utiliza cookies. Puedes ver nuestra política de cookies, si continuas navegando estás aceptándola.