miércoles, 14 de septiembre de 2011

Transformación de E/R en modelo de datos jerárquico

En la figura se presenta la transformación de un esquema E/R con dos entidades y una interrelación N:M es un esquema jerárquico en el que existen dos árboles, de modo que se conservan las simetrías naturales, ya que los algoritmos para dos preguntas simétricas, como son recuperar los alumnos de un profesor y recuperar los 10 profesores de un alumno, serían también simétricos.


Soluciones de este tipo no son en absoluto eficientes. A partir del modelo E/R, vamos a analizar la forma de transformar algunos tipo, de interrelaciones al modelo jerárquico.

A) Interrelaciones 1:N con cardinalidad mínima 1 en la entidad padre. En este caso no existe ningún problema y el esquema jerárquico resultante será prácticamente el mismo que en el ME/R.


B) Interrelaciones 1:N con cardinalidad mínima 0 en el registro propietario. El problema es que podrían existir hijos sin padre, por lo que o se crea un padre ficticio para estos casos o se crean dos estructuras arborescentes.


La primera estructura arborescente tendrá como nodo padre el tipo de registro A y como nodo hijo los identificadores del tipo de registro B. De esta forma no se introducen redundancias, estando los atributos de la entidad B en la segunda arborescencia, en la cual sólo existiría un nodo raíz B sin descendientes.

C) Interrelaciones N:M
La solución es muy parecida, creándose también dos arborescencias.


La solución es independiente de las cardinalidades mínimas. Se podría suprimir, en la primera arborescencia o en la segunda, el registro hijo, pero no se conservaría la simetría.

D) Interrelaciones reflexivas
La jerarquía a) se utilizaría siempre que se desee obtener la explosión.
La aplicación de estas normas de diseño evita la introducción de redundancias, así como la pérdida de simetría, pero complica enormemente el esquema jerárquico resultante que estará constituido por más de un árbol, lo que no resulta fácilmente comprensible a los usuarios.

No hay comentarios:

Publicar un comentario