Normalización de una base de datos

Keywords: Normalización de una base de datos, Base de datos, Edgar F. Codd, Tabla, Wikipedia

Tabla de contenidos

Introducción

El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional.

Las bases de datos relacionales se normalizan para:

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla bidimensional sea considerada como una relación tiene cumplir con algunas restricciones:

Terminología equivalente

Imagen no existente
Tabla_mostrando_Tuple.png
Esta imagen esta mostrando lo que se conoce como un tupla, registro o fila (figura 2.0)
Imagen no existente
Tabla_mostrando_atributo.png
Esta imagen esta mostrando lo que se conoce como atributo, columna o campo (figura 1.0)

Dependencias

Dependencia funcional

Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si conocemos el valor FechaDeNacimiento podemos conocer el valor de Edad.

Las dependencias funcionales se escriben utilizando una flecha, de la siguiente manera:

FechaDeNacimiento->Edad

Aquí a FechaDeNacimiento se le conoce como un determinante. Se puede leer de dos formas FechaDeNacimiento determina a Edad o Edad es funcionalmente dependiente de FechaDeNacimiento.

Dependencia funcional transitiva

Imagen no existente
Tabla_mostrando_dependecia_transitiva.png
(figura 3.0)

Supongamos que en la relación de la figura 3.0 los estudiantes solo pueden estar matriculados en un solo curso y supongamos que los profesores pueden dar un curso.

ID_Estudiante -> Curso_Tomando

Curso_Tomando -> Profesor_Asignado

ID_Estudiante -> Curso_Tomando -> Profesor_Asignado

Entonces tenemos que ID_Estudiante determina ha Curso_Tomando y el Curso_Tomando determina ha Profesor_Asignado, indirectamente podemos saber a través del ID_estudiante el Profesor_Asignado. Entonces en la figura 3.0 tenemos una dependencia transitiva.

Llaves

Imagen no existente
Tabla2_mostrandoLlaveExterna.jpg
(figura 4.0)
Imagen no existente
Tabla1_mostrandoLlaveExterna.jpg
(figura 5.0)

Llave primaria

Una llave primaria es aquella columna (pueden ser también dos columnas o más) que identifica únicamente a esa tupla. En la figura 4.0 NumeroCliente es una llave primaria. En otras palabras la llave primaria es un identificador (número) que va a ser único para cada fila. Se acostumbra a poner la llave primaria como la primera columna de la tabla pero esto no tiene que ser necesario, si no es más una conveniencia.

Llave ajena

Cuando se tienen dos tablas o más una llave ajena es aquella columna de una tabla que hace referencia a una llave primaria de otra tabla. Supongamos que tenemos una base de datos con las dos tablas en la figura 4.0 y la figura 5.0 .Como podemos ver en la tabla de la figura 4.0 la columna NumeroCliente hace de llave primaria, pero en la tabla de la figura 5.0 la columna de NumeroCliente hace de llave externa. La llave primaria NumeroCliente de la figura 4.0 hace referencia a toda la fila, evitando así errores tipográficos y ahorrando espacio físico.

Llave candidata

En la firuga 1.0 podemos ver que tenemos al atributo ID_empleado como llave primaria, aunque podemos ver que tenemos a otro atributo llamado Seguro Social que tambien lo podemos utilizar de llave primaria, entonces decimos que tanto ID_empleado como Seguro Social son llaves candidatas.Esta departe del diseñador del banco de datos escoger la llave primaria entre las llaves candidatas.

Llave alternativa

Son aquellas llaves candidatas que no han sido elegidas.

Llave simple

Es una llave que esta compuesta solo de un atributo.

Llave compuesta

Es una llave que esta compuesta de más de un atributo.

Formas Normales

Las primeras tres formas normales son suficientes para cubrir las necesidades de las mayorias de las bases de datos.El creador de estas 3 primeras formas normales (o reglas) fue Edgar F. Codd.

Primera Forma Normal (1FN)

Se eliminan los grupos repetitivos. Los atributos han de ser atómicos. Gráficamente las celdas de la tabla contienen solo un valor, en cada uno de los atributos sólo se puede incluir un dato, aunque sea compuesto, pero no se pueden incluir una lista de datos. Se trata de de que cada atributo guarde la menor cantidad de información posible.

Para eliminar los grupos repetitivos se pone cada uno de ellos en una relación aparte, heredando la clave primaria de la relación en la que se encontraban.

Segunda Forma Normal (2FN)

Una tabla está en Segunda Forma Normal o 2FN cuando está en 1FN y todo atributo que no pertenece a la clave primaria tiene una dependencia funcional de la clave completa y no de parte de ella.Luego, si la clave principal está formada por un solo atributo y ya está en 1FN, ya estará en 2FN. La segunda forma normal solo se aplica a tablas en que la llave primaria se compone de dos o más atributos.

Tercera Forma Normal (3FN)

Se eliminan las dependencias funcionales transitivas.Se dice que hay dependencia funcional transitiva entre dos atributos cuando un atributo que no pertenece a la clave primaria permite conocer el valor de otro atributo.Para que una tabla esté en 3FN tiene que estar previamente en 2FN.

Forma normal de Boyce-Codd (FNBC)

Si la clave primaria está formada por un solo atributo y está en 3FN, ya está en FNBC.

Cuarta Forma Normal (4FN)

Se eliminan los multivalores de una tabla.

Quinta Forma Normal

Enlaces externos

http://www.scourdesign.com/articulos/BD-FN.php


WikiLetra Este artículo es, por ahora, sólo un esbozo. Ampliándolo ayudarás a mejorar Wikipedia. Puedes encontrar fuentes en las wikipedias en otras lenguas. Si lo amplias hasta el punto de que este cartel no sea necesario por favor, elimínalo.

Keywords: Normalización de una base de datos, Base de datos, Edgar F. Codd, Tabla, Wikipedia