La normalización es el proceso de organizar las tablas de una base de datos relacional para eliminar la redundancia y las anomalías de inserción, actualización y borrado. La 1FN exige valores atómicos, la 2FN que cada atributo dependa de la clave completa y la 3FN que no haya dependencias transitivas entre atributos no clave.
Última actualización: . Fuente: SERGAS / Xunta de Galicia / normativa oficial vigente.
Qué es la normalización y para qué sirve
La normalización organiza las tablas de una base de datos relacional para que cada dato se guarde una sola vez. Con ello se evitan la redundancia y tres tipos de anomalías: de inserción (no poder registrar un dato sin otro), de actualización (cambiar un dato en varias filas) y de borrado (perder información al eliminar una fila). Se aplica de forma progresiva: una tabla en 3FN cumple también la 2FN y la 1FN.
En la oposición de Técnico/a Especialista en Sistemas y TI del SERGAS forma parte del tema de bases de datos relacionales, junto al modelo entidad-relación, los cuatro grupos de sentencias SQL y las propiedades ACID.
Las tres formas normales de un vistazo
| Forma | Condición | Qué elimina | Cómo se corrige |
|---|---|---|---|
| 1FN | Todos los atributos son atómicos; no hay grupos repetitivos ni valores múltiples en una celda | Varios valores en una celda | Una fila por valor o una tabla aparte |
| 2FN | Está en 1FN y todo atributo no clave depende de la clave primaria completa | Dependencias parciales de la clave | Separar en tablas según de qué parte de la clave dependen |
| 3FN | Está en 2FN y ningún atributo no clave depende de otro atributo no clave | Dependencias transitivas | Mover el atributo dependiente a su propia tabla |
Ejemplo: de una tabla de prescripciones a un diseño en 3FN
Los datos de abajo son ficticios y siguen los casos que usa el temario, con el NHC (número de historia clínica) como identificador del paciente.
| Forma | Tabla de partida | Problema | Resultado |
|---|---|---|---|
| 1FN | Prescripciones(NHC, Medicamentos), con la celda "Paracetamol, Ibuprofeno, Omeprazol" | Varios valores en una celda | Una fila por medicamento: (1001, Paracetamol), (1001, Ibuprofeno), (1001, Omeprazol) |
| 2FN | (NHC, CodMedicamento, NombreMedicamento, NombrePaciente), con clave compuesta (NHC, CodMedicamento) | NombrePaciente depende solo de NHC y NombreMedicamento solo de CodMedicamento | Pacientes(NHC, NombrePaciente), Medicamentos(CodMedicamento, NombreMedicamento) y Prescripciones(NHC, CodMedicamento) |
| 3FN | (NHC, CodEspecialidad, NombreEspecialidad) | NombreEspecialidad depende de CodEspecialidad, no de NHC | Pacientes(NHC, CodEspecialidad) y Especialidades(CodEspecialidad, NombreEspecialidad) |
La ventaja se ve en la última fila. Si el nombre de una especialidad aparece repetido en cada paciente, cambiarlo obliga a modificar muchas filas (anomalía de actualización), no se puede dar de alta una especialidad sin ningún paciente (inserción) y borrar al último paciente de una especialidad hace desaparecer su nombre (borrado). Con una tabla Especialidades el dato vive en un único sitio.
BCNF y desnormalización
La forma normal de Boyce-Codd (BCNF) es una versión más estricta de la 3FN: todo determinante debe ser una clave candidata. En la práctica, la mayoría de las tablas en 3FN ya cumplen BCNF; solo hay diferencia cuando existen varias claves candidatas que se solapan.
La desnormalización consiste en volver a introducir redundancia de forma deliberada para acelerar consultas. Puede ser aceptable en algunos casos, pero con una justificación técnica.
Cómo se pregunta en el examen
- Una columna con varios valores en la misma celda: la forma normal que se incumple es la 1FN.
- Una tabla con clave compuesta (NHC, CodMedicamento) donde un atributo depende solo de una parte de la clave: se incumple la 2FN.
- Un atributo no clave que depende de otro atributo no clave: se incumple la 3FN.
- Qué exige BCNF: que todo determinante sea clave candidata.
Las fechas del examen no se dan aquí: consulta el calendario de la OPE SERGAS 2026.
❓ Preguntas frecuentes (FAQ)
¿Qué es la normalización en bases de datos?
Es el proceso de organizar las tablas de una base de datos relacional para eliminar la redundancia y las anomalías de inserción, actualización y borrado. Se aplica de forma progresiva mediante las formas normales: 1FN, 2FN, 3FN y, en casos más estrictos, la forma normal de Boyce-Codd (BCNF).
¿Qué diferencia hay entre 1FN, 2FN y 3FN?
La 1FN exige valores atómicos y sin grupos repetitivos. La 2FN exige estar en 1FN y que todo atributo no clave dependa de la clave primaria completa. La 3FN exige estar en 2FN y que ningún atributo no clave dependa de otro atributo no clave.
¿Cuándo es relevante la 2FN?
Solo cuando la clave primaria es compuesta. La 2FN detecta atributos que dependen de una parte de la clave, algo que no puede ocurrir si la clave está formada por una sola columna.
¿Qué es una dependencia transitiva?
Es la que se da cuando un atributo no clave depende de otro atributo no clave y no directamente de la clave. Por ejemplo, el nombre de una especialidad depende del código de la especialidad, y este a su vez del paciente. Se corrige creando una tabla propia para la especialidad.
¿Es siempre obligatorio normalizar hasta 3FN?
No. Desnormalizar para mejorar el rendimiento de las consultas puede ser aceptable en algunos casos, siempre con una justificación técnica. Lo habitual es diseñar en 3FN y desnormalizar solo cuando se mida un problema concreto.
📚 Sigue aprendiendo
🎯 ¿Preparas oposiciones del SERGAS?
Más de 13.000 preguntas tipo test con explicación, simulacros con penalización −0,25 y calculadora de baremo. 100% gratis.
Crear cuenta gratis →