Análisis de un modelo OO y un MER Extendido con respecto a la capacidad de expresar restricciones en esquemas conceptuales de bases de datos.
Marcela Varas C.
DIICC
Facultad de Ingeniería
Universidad de Concepción
1. Introducción.
El objetivo de este trabajo es presentar las fortalezas y debilidades de dos modelos con respecto al diseño conceptual de bases de datos, con especial énfasis en la capacidad de expresar restricciones de integridad, tanto dinámicas como estáticas.
Las restricciones estáticas tienen que ver con los estados válidos que puede tomar la base de datos, mientras que las dinámicas tienen que ver con las transiciones válidas entre los estados posibles de la base de datos[3].
Es innegable la importancia del Modelo Entidad Relación (y sus extensiones) como modelo conceptual para el diseño de bases de datos. Dada su gran aceptación comercial y su probada utilidad, se ha escogido como uno de los formalismos a analizar en este proyecto. Además, se considerará un formalismo basado en el paradigma de orientación a objetos, puesto que una de las fortalezas de este paradigma es su facilidad o naturalidad de representación de la realidad, pues ésta se compone de conceptos que son interpretados como objetos.
Luego de revisar algunas referencias bibliográficas se ha decidido que el Modelo Entidad Relación Extendido a considerar en este estudio, será aquel presentado en Batini, Ceri y Navathe [1]. Esto es porque en este texto se presenta completamente todos los componentes de esta versión extendida, y claramente expuesta. Además se analizarán los conceptos representables por los modelos para análisis y diseño orientado a objetos de James Martin y James Odell [2], debido a la cantidad de aspectos diferentes que integra, lo que podría hacerla más poderosas que otras.
3. Modelo Entidad Relación Extendido.
Este modelo posee elementos que permiten modelar la estructura de la base de datos y restricciones estáticas a la misma.
Dentro de los elementos para modelar la estructura de la base de datos están: Tipo de Entidad, Tipos de Interrelación, Atributos, Atributos Compuestos, y Jerarquías de Generalización. En otras extensiones [6] existe el concepto de Agregación, que permite interrelacionar tipos de interrelación, pero no será analizado en este estudio.
Por el lado de las restricciones estáticas, el MER presenta el concepto de dominio, cardinalidad (de los atributos y tipos de interrelación) y cobertura (con respecto a las jerarquías de generalización). La exculsividad de tipos de interrelación no será considerada.
4. Modelo de Martin/Odell.
Este modelo posee elementos que permiten modelar la estructura de la base de datos además de su comportamiento, el que incluye restricciones de tipo estático y dinámico.
Con respecto al modelamiento de la estructura estática, este modelo cuenta con los siguientes elementos: Tipos de Objetos (clases), Tipos de Objetos Externos, Relaciones de Objetos o Tipo de objetos, Generalización, Composición e Instanciación.
Con respecto al modelamiento de la estructura dinámica, este modelo aporta los siguientes elementos: Comunicación entre Tipos de Objetos, Estados y sub estados, Transición entre los estados, Actividades, Actividades Externas, Secuencia de Actividades, Tipos de Eventos, Condiciones de control y Reglas de activación, además de las Operaciones y mensajes.
Para especificar restricciones estáticas existe el concepto de cardinalidad, aplicable a las Relaciones de Objetos. Las generalizaciones no incluyen el concepto de cobertura del MER. Para especificar restricciones dinámicas se cuenta con el diagrama o esquema de Transición entre Estados, condiciones de control y reglas de activación.
5. Discusión de la capacidad expresiva de los modelos revisados.
5.1 Comparación de los Conceptos de Ambos Modelos.
Es claro que el concepto de Tipo de Objeto es equivalente al concepto de Tipo de Entidad del MER, pero en el caso de Tipo de Objeto Externo, no. Una diferenciación entre un tipo de objeto externo y uno propio del universo de estudio no se hace en MER, pero sería de utilidad en el caso del diseño de vistas, pues así se deja en claro cuales son aquellos elementos que centran la atención en cada caso. Por otra parte, el nombre de objeto externo no aparece como el más adecuado para indicar que un tipo de entidad participa de otras vistas del sistema, por lo que no aparecerían todas sus asociaciones con otros tipos de entidad en un esquema dado.
Los conceptos de Relaciones entre Objetos y Tipo de objetos y la cardinalidad del Modelo de Martin/Odell, están íntimamente ligados al concepto de interrelación, tipo de interrelación y cardinalidad del MER, salvo que en el primero se limita el grado de las relaciones a 2 y el posible espectro de valores que pudiera tener una cardinalidad de asignación. De esto último, se concluye que MER permite representar más situaciones de asociación que el modelo de Martin/Odell.
Los conceptos Generalización y Composición del modelo de Martin/Odell tienen que ver con los procesos de abstracción de generalización y agregación respectivamente. La primera es más completa en MER, pues se incluyen los posibles cuatro casos generados a partir de si se trata de una generalización total o parcial, y si se trata de una generalización exclusiva o superpuesta, pero en el modelo de Martin/Odell se permite establecer estructuras de generalización entre Asociaciones de Tipos de Objeto, mientras que en MER esto no es posible en forma directa. La abstracción de agregación en MER está dada por el hecho de que una entidad es una agregación de atributos, una interrelación es una agregación de entidades y atributos y un atributo compuesto es una agregación de otros atributos. Establecer el hecho de que una entidad es parte de otra (y tiene el carácter de entidad y no de sólo un atributo) no está explícito en MER, ya que se debe establecer dicha relación, la cual no se diferencia para nada de cualquier otra (que después de todo no es más que una agregación).
El caso de la Instanciación, no aparece en MER. Esto quizás se deba a que no parece relevante que en un diseño de tipo conceptual se ponga en forma explícita una instancia de algún tipo de entidad o relación (para fines explicativos, tal vez), pero existen ciertos casos como por ejemplo 'gerente', o 'día de hoy' que han de modelarse como tipos de entidad o de interrelación, en las que sólo tiene cabida una entidad (o interrelación, respectivamente), y es muy común que aparezcan además en una jerarquía de generalización, (gerente es una especialización de empleado, día de hoy es una especialización de días del año, etc.). La pregunta es: ¿es relevante hacer explícita la diferencia entre un tipo de entidad (interrelación) que posea la característica de que sólo una entidad (interrelación) puede pertenecer a ella?.
Las Actividades, Actividades Externas, las Secuencias de Actividades y la Comunicación entre tipos de objeto nos permite representar aspectos del comportamiento dinámico de los tipos de objetos. En MER esto no aparece (ni ningún aspecto de los que siguen). ¿Cuándo necesitaríamos representar esto? Al parecer, en un diseño de la implementación de algunas restricciones.
Los Estados y Sub estados involucran un aspecto relevante en nuestro estudio. Los objetos de la realidad sufren constantemente transiciones de estados y en cada uno de ellos poseen información y asociaciones particulares. Esto puede ser tanto en el valor de sus atributos o en sus atributos mismos (atributos distintos de estado a estado). Además es relevante conocer cuáles son las transiciones válidas, sobre todo cuando nos interesa almacenar la información del objeto en los estados anteriores (historia), o simplemente verificar que las transacciones sobre los objetos no violen la integridad del comportamiento asociado intrínsecamente a éstos. Aún así se deben incorporar más conceptos que permitan especificar las posibles transiciones (or exclusivo, y, o). Por otra parte, en MER ni siquiera se menciona el concepto de estado como tal.
La definición de tipos de eventos válidos, condiciones de control y reglas de activación servirían para declarar y especificar aquellos eventos que validan una transición de estado de un objeto de la base de datos (por ejemplo, el evento de "aprobar un proyecto en evaluación", hace que el objeto proyecto pase del estado "en evaluación" al estado "proyecto aprobado"). Sin olvidar que estos eventos consideran aspectos dinámicos, no hay que dejar de ver que no se está más que declarando una serie de precondiciones para posibilitar una transición de estados, lo que no es más que la declaración de una restricción de integridad, y no tiene nada que ver con su implementación.
5.2 Capacidad de Declaración de Restricciones.
Dentro de este análisis, es válido cuestionarse si los aspectos dinámicos propios de la descripción de los comportamientos de los objetos son pertinentes en el diseño conceptual de bases de datos. A este respecto, muchas de las restricciones que rigen a los datos tienen que ver con su dinámica, por lo que estas restricciones podrán posiblemente ser representadas en dicha forma. Esto no contradice para nada el hecho que en la base de datos residen los aspectos estáticos de la realidad modelada, ya que esta estabilidad se refiere a la permanencia en el tiempo, y sin duda que las restricciones a los datos son permanentes, pues se rigen por reglas de la organización que está siendo sujeto de representación.
Asumiendo implícitamente que esta base de datos que está siendo diseñada conceptualmente y como un modelo de una realidad, será utilizada por distintos usuarios (aplicaciones), por lo que considera toda aquella información y sus reglas de comportamiento que son comunes y generalizables a todos ellos. Lo anterior implica que aquellos aspectos (tratamientos) particulares serán derivados a los objetos de tipo procedural, es decir las aplicaciones usuarias de la base de datos, pero que todos aquellos aspectos generalizables y propios de las reglas de la realidad modelada deberán residir con los datos mismos, pues no son más que otro componente de ellos.
5.2.1 Restricciones Estáticas.
En ambos modelos se pueden representar en mayor o menor grado las restricciones de tipo estático. Existen las restricciones sobre los valores (que puede tomar un atributo o un objeto) y sobre las relaciones, esto es el número de objetos que pueden relacionarse a través de una asociación o interrelación con otro de otro tipo de objeto (cardinalidad) y el número de tipo de objetos que puede relacionar una interrelación o asociación (grado). En MER se puede expresar en forma explícita más variedad de situaciones, pues el grado de una interrelación puede ser >2 y las cardinalidades mínima y máxima no están acotadas a valores prefijados. Con respecto a las generalizaciones, en el modelo de Martin/Odell existe una restricción inherente al modelo, que implica que todas las generalizaciones tienen cobertura exclusiva, sin especificar si es total o parcial, mientras que en MER se pueden expresar cobertura total/parcial y exclusiva/superpuesta, lo que ofrece una mayor capacidad expresiva.
Existen ciertas restricciones estáticas que no son posibles de expresar en ninguno de los dos modelos, como aquella restricción que hemos denominado 'Restricción Delta' que aparece en algunos ciclos de los esquemas conceptuales.

Ejemplo de Restricción Delta.
Este esquema representa la situación de artículos que son de ciertas marcas, y a los que se le tiene asociado un proveedor que es el primero al que se recurre para su adquisición. Por otra parte, estos provedores pueden representar a mas de una marca. En este escenario aparece la siguiente restricción: Si Un Articulo A tiene como Proveedor Usual a P y A es de marca M, entonces P debe ser representante de M.
También tenemos el caso de los dominios, una de las formas principales para declarar restricciones estáticas (de los valores). Es de importancia conocer el dominio del cual puede tomar valores un atributo dado y también es relevante conocer si dos dominios diferentes son comparables .
Por otra parte tenemos el caso de las relaciones exclusivas y el de la necesidad de que se den distintas combinaciones de relaciones en forma simultánea para un determinado objeto. Estos aspectos han sido tratados por los grafos and/or [4] en otro ámbito, pero podrán ser de utilidad para este tipo de casos. Una de las extensiones del MER [5] incluye el caso de las relaciones exclusivas, pero no así la posibilidad de exigir simultáneamente más de una asociación, o una combinación de ellas.
Es muy frecuente que existan restricciones para los valores que puede tomar un atributo dependiente no sólo del dominio, sino que de el valor que tiene otro atributo dentro del mismo objeto u otro que está asociado con él. Este tipo de restricción no es atacada por ninguno de los dos modelos estudiados.
Otro aspecto de vital importancia en el tratamiento tradicional de bases de datos es el uso de los identificadores. En el paradigma de orientación a objeto este concepto es transparente al momento de modelar, pues existe el identificador de objeto que es manejado por el administrador de objetos y que no tiene ninguna relación con los valores de los atributos del objeto. Así, es posible que dos objetos tengan exactamente las mismas asociaciones y los mismos valores de los atributos, pero son distinguibles mediante un identificador adicional. Con respecto a esto último, defiendo la existencia y declaración explícita del identificador de un objeto, pues al modelar nos interesa aquellos componentes que son distintos entre si, los que han de ser distinguibles tanto por el modelo de la realidad como por el sistema que los administra.
5.2.2 Restricciones Dinámicas.
En MER el concepto de estado no aparece en forma explícita. Si definimos como estado de un objeto el valor de sus atributos y sus asociaciones válidas en un momento dado de su ciclo de vida, este concepto aparece en todo momento en la parte dinámica del tratamiento de la base de datos y son todos los estados posibles (y no necesariamente válidos) de un tipo de entidad los que aparecen en un esquema conceptual realizado utilizando MER (que no es más que la expresión de la parte estática del comportamiento de los objetos modelados). Por otra parte, MER no permite especificar las restricciones dinámicas a las que están afectos los datos modelados, pues no considera dicho aspecto (ver [7] para una propuesta al respecto).
6. Conclusiones.
De este análisis se desprende que la fusión de conceptos del MER y del modelo OO analizado podría generar un modelo más expresivo para el diseño conceptual de bases de datos.
A pesar de ello, existen restricciones estáticas, tales como la que hemos bautizado restricción delta, dependencia entre atributos y dependencias entre tipos de interrelación que no son considerados en ninguno de los modelos.
Con respecto a las restricciones dinámicas, sin duda que los elemento aportados por el modelo de Martin/Odell podrán apoyar su modelamiento, aunque quedan algunos aspectos sin resolver.
Todo el esfuerzo de especificar lo más completo un sistema a un nivel temprano del desarrollo es valioso, pues es esta especificación la que posibilitará correctas decisiones de diseño, además de otros aspectos de la gestión del proyecto, tales como el dimensionamiento del sistema, la estimación del esfuerzo, asignación de recursos, disminución de costos en etapas de construcción y aporte de documentación portable, independiente de las plataformas de implementación.
7. Referencias.
[1] Carlo Batini, Stefano Ceri, Shamkant B. Navathe, "Diseño Conceptual de Bases de Datos: Un enfoque de entidades-interrelaciones", Addison-Wesley/Díaz de Santos, 1994.
[2] Martin, James; Odell, James, "Análisis y Diseño Orientado a Objetos", Prentice Hall,1994.
[3] Gray, Peter; Kulkarmi, Krishnarao; Paton, Norman, " Databases. A Semantic Data Model Approach", Prentice Hall International Series in Computer Science,1992.
[4] Rich, Elaine; Knight, Kevin, "Inteligencia Artificial", McGraw-Hill, 1994.
[5] de Miguel, Adoración; Piattini, Mario, "Concepción y Diseño de Bases de Datos: del Modelo E/R al Modelo Relacional", Addison Wesley Iberoamericana, 1993.
[6] Henry F. Korth, Abraham Silbershatz, "Fundamentos de Bases de Datos", McGraw-Hill, 1993.
[7] Varas M, Weldt C, Jiménez C, "Una Propuesta para la Especificación de Restricciones Dinámicas en esquemas Conceptuales de Bases de Datos", Actas IV Encuentro Chileno de Computación, Valdivia 1996.