jueves, 20 de marzo de 2014

Teoria de E/R

Este modelo se obtiene en tiempo de diseño de la base de datos. Fue propuesto por Peter Chen en 1976 y desde entonces se viene utilizando de una forma muy global.
Se caracteriza por utilizar una serie de símbolos y reglas para representar los datos y sus relaciones. Este modelo consiste en plasmar el resultado de análisis de problemas mediante el diagrama entidad/relación.




Generalmente, el termino aplicación de base de datos se refiere a una base de datos en particular (por ejemplo la base de datos BANCO que mantiene las cuentas de ahorro de sus clientes) y a los programas asociados, que implementan las consultas y actualizaciones de la base de datos (por ejemplo, programas que implementan actualizaciones de la base de datos correspondientes a los depósitos y reintegros de clientes). Por lo tanto, parte de la aplicación de base de datos requeriría el diseño, implementación y prueba de estos programas de aplicación, pero también requiere el diseño, implementación y prueba de la base de datos en sí misma.

Sin embargo, cada vez es más obvio que existe algo en común entre las metodólogas de diseño de bases de datos y las de ingeniera del software. Es cierto que esas características comunes aumentarían, ya que las metodologías de diseño de base de datos tratan incluir conceptos de especificación de operaciones sobre objetos de base de datos, y que las metodologías de ingeniera del software especifican con más detalle la estructura de la base de datos.

En el diseño de bases de datos se distinguen principalmente dos fases de diseño; la fase
de modelado conceptual, que es la descripción del mundo real (una organización) de acuerdo
con un modelo altamente semántico e independiente del SGBD en el que posteriormente se
vaya hacer la implementación de la base de datos, y la fase de diseño lógico, en la cual se ha
de obtener un esquema que responda a la estructura lógica especifica del SGBD que se vaya
utilizar en cada caso, por lo que dicho esquema está sometido a las restricciones que imponga
el modelo del SGBD en concreto.

De este modo, el proceso de diseño de una base de datos puede ser dividido en cuatro pasos:


1. Análisis de requisitos, el primer paso es entender que datos van a ser almacenados en la base de datos, que aplicaciones deben ser construidas sobre ella y que aplicaciones son más frecuentes y por lo tanto requieren un cuidado especial para obtener un rendimiento adecuado.

Esta fase es un proceso que incluye discusiones con los grupos de usuarios, estudio de los actuales sistemas operacionales y como se espera que cambien, examen de cualquier información disponible sobre las aplicaciones existentes que van a ser sustituidas o completadas por la aplicación de base de datos que se va diseñar, etc. Existen multitud de metodologías para realizar este paso, incluso existen herramientas que lo automatizan.


2. Diseño Conceptual, la información recogida en el paso anterior es usada para desarrollar el esquema conceptual. Este paso se suele realizar con el modelo Entidad- Relación.


3. Diseño Lógico, una vez elegido el SGBD a utilizar, se convierte el diseño conceptual de la base de datos en un esquema de base de datos del SGBD elegido. Este esquema se suele llamar, como apuntamos anteriormente, el esquema lógico.

4. Diseño Físico, en este paso se deben considerar las cargas de trabajo que debe soportar la BD que se esta diseñando para refinarla de modo que cumpla con los requisitos de rendimiento especificados. Este paso puede implicar cosas tan simples como construir índices sobre algunos ficheros, o puede implicar un rediseño importante del esquema obtenido de los pasos anteriores.


Una vez terminado el proceso de diseño, seguramente se requiera sucesivas puestas a punto (tunning en ingles), donde los pasos anteriores se intercalan y se repiten hasta que el diseño es satisfactorio.

Los conceptos y técnicas que incluye un SGBD son claramente útiles para alguien que desea implementar o mantener las interioridades de un sistema de bases de datos. Sin embargo, es importante reconocer que usuarios responsables, diseñadores de bases de datos deben conocer también cómo funciona el SGBD.

Un buen conocimiento de las interioridades del SGBD es esencial para aquellos usuarios que deseen aprovechar al máximo el SGBD y realizar buenos diseños de bases de datos.

Problemas con los modelos E/R

En esta sección examinaremos un tipo de problemas que pueden aparecer cuando se está creando un diagrama ER. Estos problemas se llaman las trampas de conexión, y normalmente ocurren debido a una mala interpretación del significado de ciertas relaciones.

Examinaremos los dos tipos principales de trampas de conexión, llamadas la trampa del abanico y la trampa del sumidero, e ilustraremos cómo identificar y resolver estos problemas en diagramas ER.

En general, para identificar las trampas de conexión, debemos asegurarnos de que el significado de un tipo de relación está completamente entendido y claramente definido. Si no entendemos las relaciones, podríamos crear un modelo que no es una representación fidedigna del “mundo real”.

La trampa del abanico

La trampa del abanico ocurre cuando un modelo ER representa una relación entre tipos de entidad, pero el camino entre algunas entidades es ambiguo.

Una trampa de abanico puede aparecer si dos o más relaciones 1:N salen del mismo tipo de entidad. En la siguiente figura se presenta un caso potencial de trampa de conexión. Se presentan dos tipos de relación 1:N, (Trabaja-Para y Trabaja-En), que emanan del mismo tipo de entidad (Departamento).








Este modelo representa el hecho de que un Departamento puede trabajar en una o más secciones de la empresa y tiene uno o más empleados. Sin embargo, aparece un problema cuando deseamos saber que empleados trabajan en una Sección particular. Para apreciar el problema, examinamos algunas instancias de los tipos de relación Trabaja-Para y Trabaja-En, tal y como se muestra en la en la siguiente figura:


 



Ejemplo de trampa de de abanico utilizando conjuntos de entidades e instancias de tipos de relación.


Si formulamos la consulta:” ¿en que Sección trabaja el empleado e1?”, somos incapaces de dar una respuesta concreta. Solo podemos decir que e1 trabaja en la sección s1 o en la s2. La imposibilidad de responder esta pregunta es el resultado de la trampa del abanico asociada a la mala interpretación de las relaciones entre Empleado, Departamento y Sección. Podemos resolver el problema reestructurando el modelo ER original para representar la asociación correcta entre esas entidades, tal y como se muestra en la siguiente figura.






Modelo reestructurado.
Ahora ya es posible contestar a la pregunta que nos hacíamos anteriormente. Podemos observar fácilmente que el empleado e1 trabaja en la Sección s1 y en el Departamento d1.



La trampa del sumidero



La trampa del sumidero ocurre cuando existe un tipo de relación entre dos tipos de entidad, pero no existe camino entre algunas entidades.

La trampa del sumidero puede aparecer cuando hay uno o más tipos de relación donde los tipos de entidad tienen una participación parcial. En la siguiente figura se presenta un diagrama ER con una trampa del sumidero potencial.







Ejemplo utilizando conjuntos de entidades e instancias de tipos de relación del modelo ER.


El diagrama representa el hecho de que un Departamento tiene uno o más empleados que pueden dirigir proyectos, y no todos los proyectos son dirigidos por un empleado concreto. Suponemos que un proyecto (a diferencia de ejemplos anteriores) es realizado por un único departamento.








Ejemplo de la trampa del sumidero.


Para ilustrar el problema se puede observar la siguiente figura.
























Ejemplo de conjuntos de entidades e instancias de relación para la Figura.


 Si realizamos la pregunta: “¿qué departamento realiza el proyecto p2?”, no es posible obtener respuesta, dado que la entidad p2 no está ligada a ningún empleado. Esta imposibilidad de contestar a la pregunta se conoce como una pérdida de información (dado que sabemos que el proyecto lo realiza un departamento), y el resultado es la trampa del sumidero.

La participación de Empleado y Proyecto en el tipo de relación Dirige es parcial en ambos casos, lo que significa que algunos proyectos pueden no estar asociados a un departamento a través de un empleado. Por lo tanto para resolver este problema, necesitamos identificar la relación faltante, que en este caso es el tipo de relación Realiza, entre los tipos de entidad Departamento y Proyecto.

El nuevo modelo ER se muestra en la siguiente figura eliminando la trampa sumidero:










Y en la siguiente imagen, es el nuevo esquema eliminando la trampa sumidero:













Mas adelante de este blog se iràn viendo mas detalles sobre estos y mas temas.

No hay comentarios:

Publicar un comentario