El objetivo del diseño de bases de datos relacionales es la creación de los esquemas relacionales que almacene la información sin redundancias y que recupere la información eficientemente. Todo este proceso de normalización, tiene como fin conseguir que la información sea accesible independientemente de la aplicación que lo usa, obteniendo datos con una estructura óptima en un modelo relacional. El enfoque utilizado se basa en las formas normales, recogiendo información del entorno para modelar las bases de datos.
Existen varios niveles de normalización, siendo más complejo cuanto mayor sea el nivel (el n+1 es más complejo que el n). El proceso de normalización, descompone las tablas existentes, sin pérdida de información. Así aparecerán tablas con menor número de atributos. Para la mayoría de bases de datos sencillas, el proceso de normalización finaliza en la tercera forma normal.
Una tabla está en Primera Forma Normal (1FN), si el valor que contiene cada atributo es único y elemental. En cada atributo sólo se debe incluir un dato, aunque el mismo sea compuesto, pero no se puede incluir una lista. Supongamos la siguiente tabla, que no está normalizada:
Torneo | Equipo | Jugador | Lugar Nacimiento | Entrenador |
T1, T2 | E1 | J1 | LN1 | Ent1 |
T3 | E1 | J2 | LN2 | Ent1 |
T1 | E2 | J3 | LN3 | Ent2 |
T2 | E2 | J4 | LN4 | Ent2 |
T3 | E2 | J5 | LN5 | Ent2 |
En 1FN, la tabla queda:
Torneo | Equipo | Jugador | Lugar Nacimiento | Entrenador |
T1 | E1 | J1 | LN1 | Ent1 |
T2 | E1 | J1 | LN1 | Ent1 |
T3 | E1 | J2 | LN2 | Ent1 |
T1 | E2 | J3 | LN3 | Ent2 |
T2 | E2 | J4 | LN4 | Ent2 |
T3 | E2 | J5 | LN5 | Ent2 |
Un atributo o conjunto de atributos tiene dependencia funcional de otro u otros, si a cada uno de los primeros le corresponde uno único de los segundos.
Una tabla estará en Segunda Forma Normal (2FN), cuando está en 1FN y todo atributo que no es la clave principal tiene una dependencia funcional completa de toda la clave y no de parte de ella. La solución se encuentra siempre en crear nuevas tablas que eliminen esas dependencias.
La tabla anterior, quedaría en 2FN de la siguiente forma:
Torneo | Equipo | Jugador | Lugar Nacimiento | Equipo | Entrenador | |
T1 | E1 | J1 | LN1 | E1 | Ent1 | |
T2 | E1 | J1 | LN1 | E2 | Ent2 | |
T3 | E1 | J2 | LN2 | |||
T1 | E2 | J3 | LN3 | |||
T2 | E2 | J4 | LN4 | |||
T3 | E2 | J5 | LN5 |
Entre dos atributos existe una dependencia funcional transitiva, cuando el atributo que no pertenece a la clave primaria permite conocer el valor de otro atributo.
Una tabla está en Tercera Forma Normal (3FN), si la tabla está en 2FN, y a su vez no existen atributos que no pertenecen a la clave primaria, esto es, que no haya dependencias funcionales transitivas.
Las tablas anteriores pasarían a 3FN de la siguiente forma:
Torneo | Equipo | Jugador | Equipo | Entrenador | Jugador | Lugar Nacimiento | ||
T1 | E1 | J1 | E1 | E1 | J1 | LN1 | ||
T2 | E1 | J1 | E2 | E2 | J2 | LN2 | ||
T3 | E1 | J2 | J3 | LN3 | ||||
T1 | E2 | J3 | J4 | LN4 | ||||
T2 | E2 | J4 | J5 | LN5 | ||||
T3 | E2 | J5 |
Una tabla está en Forma Normal Boyce/Codd (FNBC), si solo existen dependencias funcionales elementales que dependen de la clave primaria de la o de cualquier clave externa. Si la clave primara de la tabla sólo se compone de un atributo y está normalizada a la 3FN, en la mayoría de los casos estaría en FNBC.
La siguiente tabla que se encuentra en 3FN:
Torneo | Equipo | Jugador |
T1 | E1 | J1 |
T1 | E2 | J2 |
T2 | E3 | J3 |
T3 | E1 | J1 |
T4 | E1 | J4 |
Si se pasa a FNBC quedaría:
Equipo | Jugador | Torneo | Jugador | |
E1 | J1 | T1 | J1 | |
E2 | J2 | T1 | J2 | |
E3 | J3 | T2 | J3 | |
E1 | J4 | T3 | J1 | |
T4 | J4 |
El diseño de una base de datos, se descompone en tres fases, que permiten reducir la complejidad del diseño, y representando lo más acertadamente el mundo real y el acceso eficiente a los datos:
Muchas gracias y esperamos sus comentarios!
Profesor de Dirección en Tecnología y Sistemas de Información
Nota: Para aprender de una forma práctica y rápida todo sobre la gestión profesional de un departamento de Sistemas y Tecnología de la Información, les invitamos a que consulten la Especialidad Europea en Gestión de Sistemas y Tecnologías de la Información donde se formará con los mejores profesores de Europa y Latinoamérica y conocerá las mejores prácticas en el área de SITI.