¿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.
¿Cuales son las Distintas Formas Normales de las Bases de Datos?
Estas son las principales y las mas usadas:
- Primera Forma Normal (1FN).
- Segunda Forma Normal (2FN).
- Tercera Forma Normal (3FN).
- Boyce-Codd Forma Normal (BCFN).
- Cuarta Forma Normal (4FN).
- Quinta Forma Normal (5FN).
¿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
Imagina que tenemos un cine y necesitamos un sistema que me permita administrar toda la información de las películas.
| Titulo | Director | Nacionalidad director | Formato | Precio | Genero | Duración | Puntuaciones | Productora nombre | Productora pais |
| El padrino | Francis Ford Coppola | American | HD | 30 | Gánsteres,Drama | 175 minutos | A | Paramout Pictures | CANADA |
| Toy Story | John Lasseter | American | HD | 30 | Animación,Aventura | 81 minutos | B | Pixar Animation | USA |
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?
| Titulo | Director | Nacionalidad director | Formato | Precio | Genero | Duración | Puntuaciones | Productora nombre | Productora pais |
| El padrino | Francis Ford Coppola | American | HD | 30 | Gánsteres | 175 minutos | A | Paramout Pictures | CANADA |
| El padrino | Francis Ford Coppola | American | HD | 30 | Drama | 175 minutos | A | Paramout Pictures | CANADA |
| Toy Story | John Lasseter | American | HD | 30 | Animación | 81 minutos | B | Pixar Animation | USA |
| Toy Story | John Lasseter | American | HD | 30 | Aventura | 81 minutos | B | Pixar Animation | USA |
- 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.
| Titulo | Formato | Director | Nacionalidad director | Precio | Duracion | Puntuaciones | Productora id |
| El padrino | HD | Francis Ford Coppola | american | 30 | 175 minutos | A | 1 |
| Toy Story | HD | John Lasseter | american | 30 | 81 minutos | B | 2 |
- 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 id | Genero nombre |
| 1 | Gánsteres |
| 2 | Drama |
| 3 | Animación |
| 4 | Aventura |
- 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?
| Titulo | Director | Nacionalidad director | Formato | Precio | Genero | Genero 2 | Duracion | Puntuaciones | Productora nombre | Productora pais |
| El padrino | Francis Ford Coppola | American | HD | 30 | Gánsteres | Drama | 175 minutos | A | Paramout Pictures | CANADA |
| Toy Story | John Lasseter | American | HD | 30 | Animación | Aventura | 81 minutos | B | Pixar Animation | USA |
- 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.
Anterior capitulo
Siguiente capitulo