Normalizacion
Enviado por crissrl19 • 10 de Junio de 2014 • 2.822 Palabras (12 Páginas) • 190 Visitas
TEORIA DE LA NORMALIZACION
Cuando se diseña una base de datos mediante el modelo relacional, al igual que ocurre en otros modelos de datos, tenemos distintas alternativas, es decir, podemos obtener diferentes esquemas relacionales y no todos son equivalentes, ya que algunos van a representar la realidad mejor que otros.
Es necesario conocer qué propiedades debe tener un esquema relacional para representar adecuadamente una realidad y cuáles son los problemas que se pueden derivar de un diseño inadecuado.
La teoría de la Normalización es un método objetivo y riguroso que se aplica en el diseño de bases de datos relacionales.
Cuando estudiamos la estructura del modelo relacional, nos dimos cuenta que la base de datos puede representarse por medio de un conjunto de objetos (dominios y relaciones) y de un conjunto de reglas de integridad.
El esquema relacional puede obtenerse de dos formas distintas:
Directamente a partir de la observación de nuestro universo del discurso, en donde especificamos conjuntos de atributos, relaciones y restricciones que corresponden a los observados en el mundo real.
Realizando el proceso de diseño en dos fases, primero el diseño conceptual (E/R) obteniendo el esquema conceptual y posteriormente transformar éste a un esquema relacional, siguiendo algunas reglas generales, que fueron dadas anteriormente.
Algunos problemas que se pueden presentar son:
Incapacidad para almacenar ciertos hechos
Redundancias y por tanto, posibilidad de incoherencias
Ambigüedades
Pérdida de información (aparición de tuplas espúreas)
Pérdida de dependencias funcionales, es decir, ciertas restricciones de integridad que dan lugar a interdependencias entre los datos.
Aparición en la BD de estados no válidos, es decir, anomalías de inserción, borrado y modificación.
En conclusión el esquema relacional obtenido debe ser analizado para comprobar que no presenta los problemas anteriores.
Analicemos la siguiente relación: ESCRIBE
AUTOR
NACIONALIDAD
COD_LIBRO
TITULO
EDITORIAL
AÑO
Date, C.
Norteamericana
98987
Database
Addison
1990
Date, C.
Norteamericana
97777
SQL Stan
Addison, W.
1986
Date, C.
Norteamericana
98987
Guide for
Addison, W.
1988
Codd,E.
Norteamericana
7890
Relational
Addison,W.
1990
Gardarin
Francesa
12345
Basi Dati
Paraninfo
1986
Gardarin
Francesa
67890
Comp BD
Eyrolles
1984
Valduriez
Francesa
67890
Comp BD
Eyrolles
1984
Kim,W.
Norteamericana
11223
BD OO
ACM
1989
Lochovsky
Canadiense
11223
BD OO
ACM
1989
Esta relación almacena datos de autores y de libros.
Algunos problemas son:
Redundancia, ya que la nacionalidad del autor se repite por cada ocurrencia del mismo. Lo mismo sucede cuando un libro tiene mas de un autor, se repite la editorial y el año de publicación.
Anomalías de modificación, es fácil cambiar el nombre de una editorial en una tupla sin modificar el resto de las que corresponden al mismo libro, lo que da lugar a incoherencias.
Anomalías de inserción, ya que si queremos ingresar información de algún autor, del que no hubiera ningún libro en la base datos, no sería posible, ya que cod_libro es parte de la
clave primaria de la relación (regla de integridad de la entidad). La inserción de un libro, que tiene dos autores obliga a insertar dos tuplas en la relación.
Anomalías de borrado, ya que si queremos eliminar un cierto libro, deberíamos perder los datos de su autor y viceversa.
En los casos anteriores, se deja en manos del usuario manejar la integridad de la base de datos.
Lo anterior sucede pues no se cumple un hecho básico de todo diseño:
"hechos distintos, deben almacenarse en objetos distintos"
Una forma de evitar este tipo de problemas consiste en seguir la metodología propuesta en el curso, es decir, un riguroso diseño conceptual y un traspaso de éste al modelo relacional.
Sin embargo, ante posibles dudas respecto a si un esquema relacional está correcto, aplicaremos a dicho esquema un método formal de análisis, que permita analizar errores y generar esquemas correctos. Esta es la teoría de la normalización.
En el ejemplo anterior, el conjunto de las siguientes relaciones no presenta estos problemas:
LIBRO( cod_libro, titulo, editorial, año )
AUTOR( nombre, nacionalidad )
ESCRIBE( cod_libro, nombre )
La normalización introduce una técnica formal para diseñar bases de datos relacionales, y permite mecanizar parte del proceso al disponer de algoritmos de normalización.
Una observación importante, es que las anomalías antes descritas se producen en procesos de actualización y no en procesos de consulta. La normalización penaliza las consultas, al disminuir la eficiencia, ya que la normalización aumenta el nro. de relaciones presentes en la base de datos, por lo que una determinada consulta puede llevar consigo el acceso a varias tablas, lo que aumenta el costo de ésta.
1.-Noción intuitiva de las formas normales
La normalización tiene como objetivo obtener esquemas relacionales que cumplan determinadas condiciones, a través de las formas normales.
Primera Forma Normal (1FN) fue introducida por Codd, en su primer trabajo. Es una restricción inherente al modelo relacional por lo que su cumplimiento es obligatorio. Consiste en la prohibición de que en una relación existan grupos repetitivos, es decir, un atributo no puede tomar más de un valor del dominio subyacente.
Segunda Forma Normal (2FN), fue introducida por Codd. Una relación está en 2FN, si además de estar en 1FN, todos los atributos que no forman parte de ninguna clave candidata suministran información acerca de la clave completa.
Para la relación PRESTAMO( num_socio, nombre_socio, cod_libro, fec_prest, editorial, país )
las claves candidatas son:
(num_socio, cod_libro) y (nombre_socio, cod_libro)
Se puede observar que ciertos atributos que no forman parte de las claves candidatas, tal como editorial, constituye información acerca del libro, pero no acerca de la clave completa. Luego, la relación préstamo no se encuentra en 2FN.
La solución
...