La normalización busca organizar las tablas para reducir datos repetidos y evitar problemas al insertar, modificar o eliminar información. Las tres primeras formas normales —1FN, 2FN y 3FN— son las más importantes para empezar. (Pressbooks)
Imagina que estás haciendo una base de datos para una universidad.
Al principio podrías guardar todo en una sola tabla:
| ID_Alumno | Alumno | Carrera | Curso | Profesor | Teléfono_Profesor |
|---|---|---|---|---|---|
| 1 | Ana | Sistemas | BD | Carlos | 555-111 |
| 1 | Ana | Sistemas | Programación | Luis | 555-222 |
| 2 | Juan | Sistemas | BD | Carlos | 555-111 |
| 3 | María | Contabilidad | Contabilidad I | Pedro | 555-333 |
A primera vista funciona, pero tenemos un problema:
Estamos repitiendo información.
Por ejemplo:
Carlos → 555-111
aparece cada vez que Carlos imparte un curso.
Si Carlos cambia de teléfono, tendríamos que modificar muchas filas. Si olvidamos una, tendremos información inconsistente.
La normalización intenta evitar precisamente este tipo de problemas. (DigitalOcean)
La clave primaria (PK) identifica de manera única cada fila.
Por ejemplo:
ID_Alumno
puede identificar a cada estudiante.