Imagina que un centro de estudios técnicos almacena la información de sus cursos en una tabla no normalizada llamada REPORTE_MATRICULA : Nombre_Alumno Nombre_Curso Carlos Gómez Base de Datos Ing. Silva Carlos Gómez Programación Lic. Ramos Ana Martínez Base de Datos Ing. Silva ( Alumno_ID , Curso_ID ) Paso 1: Aplicar Primera Forma Normal (1FN)
In this post, we are going to skip the heavy theory and jump straight into a . We will take an unnormalized table and walk it through First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF). Imagina que un centro de estudios técnicos almacena
Siguiendo las mismas reglas de normalización que en el ejercicio anterior, la solución es: Silva ( Alumno_ID , Curso_ID ) Paso 1:
To solve this, we split the table into three. limpio y escalable.
| Forma Normal | Condición Principal | |--------------|----------------------| | | Valor atómico por atributo (sin grupos repetitivos). | | 2FN | Estar en 1FN + dependencia funcional total de atributos no principales respecto a la clave primaria (sin dependencias parciales). | | 3FN | Estar en 2FN + sin dependencias transitivas (un atributo no clave no debe depender de otro no clave). | | FNBC | Para toda dependencia no trivial X → Y, X debe ser superclave. |
Para eliminar las dependencias parciales, dividimos la tabla original en tres tablas independientes: Clave Primaria: Alumno_ID Atributos: Nombre_Alumno TABLA_CURSOS Clave Primaria: Curso_ID Atributos: Nombre_Curso , Aula , Profesor TABLA_MATRICULA Clave Primaria Compuesta: ( Alumno_ID , Curso_ID )
Dominar la normalización evita catástrofes de rendimiento y pérdidas de información en entornos de producción. Utilizar guías de ejercicios resueltos te permitirá entrenar el ojo analítico necesario para descomponer cualquier reporte plano de una empresa en un esquema relacional robusto, limpio y escalable.
The Laravel portal for problem solving, knowledge sharing and community building.