Ensayo
UNIDAD IV
BASES DE DATOS RELACIONALES
Normalización
Antes de poder aplicar el proceso de normalización, debemos asegurarnos de que estamos trabajando con una base de datos relacional, es decir, que cumple con la definición de base de datos relacional.
El proceso de normalización consiste verificar el cumplimiento de ciertas reglas que aseguran la eliminación deredundancias e inconsistencas. Esto se hace mediante la aplicación de ciertos procedimientos y en ocasiones se traduce en la separación de los datos en diferentes relaciones. Las relaciones resultantes deben cumplir ciertas características:
a. Se debe conservar la información:
Conservación de los atributos.
Conservación de las tuplas, evitando la aparición de tuplas que no estaban en las relacionesoriginales.
b. Se deben conservar las dependencias.
Este proceso se lleva a cabo aplicando una serie de reglas llamadas "formas normales".
Estas reglas permiten crear bases de datos libres de redundancias e inconsistencias, que se ajusten a la definición del doctor Codd de base de datos relacional.
MySQL usa bases de datos relacionales, de modo que debemos aprender a usar con soltura, al menos,las tres primeras formas normales.
La teoría completa de bases de datos relacionales es muy compleja, y puede resultar muy oscura si se expresa en su forma más simbólica. Ver esta teoría en profundidad está fuera de los objetivos de este curso, al menos por el momento.
Sin embargo, necesitaremos comprender bien parte de esa teoría para aplicar las tres primeras formas normales. La comprensiónde las formas cuarta y quinta requieren una comprensión más profunda de conceptos complejos, como el de las dependencias multivaluadas o las dependencias de proyección.
4.1 Peligros en el diseño de bases de datos relacionales.
Los principales inconvenientes que se presentan cuando el diseño de un modelo no satisface las formas normales son:
Repetición de la información
Dificultad pararepresentar y/o interpretar cierta información.
Perdida de la información
Ejemplo: Suponga que se desea controlar el préstamo de libros a alumnos del tecnológico. Se asume que existe una base de datos de la bibliografía existente cuya llave es la clasificación.
Versión 1
PROBLEMAS
Repetición de datos del alumno en cada préstamo
No es posible establecer comparativos con usuarios y nousuarios por solo están restringidos los usuarios.
Al modificar un atributo del alumno deberá recorrerse todo el archivo...
Versión 2 (ESPECIALIZACIÓN)
No funciona porque no hay relación.
Versión 3
PROBLEMAS
No es posible determinar fechas de prestamos de un libro a aun alumno en particular.
Solo se registran alumnos con prestamos o se desperdicia atributo clasif.
Repetir datos delalumno por el préstamo o reutilizar el campo clasif, lo ultimo tiene dos problemas:
Se pierde historial de prestamos
Un alumno solo puede tener un préstamo a la vez.
Al caso mostrado en la Versión 3 se le denomina DESCOMPOSICIÓN CON PERDIDA dado que al realizar la especialización se pierde información que existía por la relación entre los atributos.
Versión 4
MODELO OPTIMO.Definición: Para que una base de datos sea 1FN, es decir, que cumpla la primera forma normal, cada columna debe ser atómica.
Atómica no tiene que ver con la energía nuclear :-), no se trata de crear columnas explosivas ni que produzcan grandes cantidades de energía y residuos radiactivos...
Atómica significa "indivisible", es decir, cada atributo debe contener un único valor del dominio. Losatributos, en cada tabla de una base de datos 1FN, no pueden tener listas o arrays de valores, ya sean del mismo dominio o de dominios diferentes.
Además, cada atributo debe tener un nombre único. Esto es algo que en general, al menos trabajando con MySQL, no nos preocupa; ya que la creación de las tablas implica definir cada columna de un tipo concreto y con un nombre único.
Tampoco pueden existir...
Regístrate para leer el documento completo.