• No results found

Constraint Reasoning

In document Probabilistic constraint reasoning (Page 61-69)

2.3 Computing Feasible Space Approximations

2.3.3 Constraint Reasoning

Una vez se ha presentado con detalle cómo abordar el diseño conceptual de grandes sistemas de información17, a continuación se comentan dos posibles enfoques para la realización de esta tarea:

Enfoque centralizado de diseño del esquema: en este enfoque, los requerimientos de las diferentes aplicaciones y grupos de usuarios se combinan en un solo conjunto de requerimientos antes de iniciarse el diseño del esquema (esta tarea puede ser muy difícil cuando hay muchos usuarios). A continuación se diseña un único esquema que corresponde al conjunto combinado de requerimientos. Una vez diseñado y terminado el esquema conceptual, el administrador de la base de datos puede especificar esquemas externos para diferentes grupos de usuarios y aplicaciones. Éste ha sido el enfoque utilizado tradicionalmente a pesar de la dificultad que plantea el conciliar las diferencias y conflictos entre los grupos de usuarios para establecer una definición clara de los requerimientos globales antes de abordar el diseño conceptual, por eso debido a la dificultad inherente a esta tarea, el enfoque de integración de vistas goza cada vez de mayor aceptación.

Enfoque de integración de vistas: en este enfoque no se realiza la combinación de los requerimientos sino que se diseña un esquema (o vista) para cada grupo de usuarios o aplicación, diseño que se basa en sus propios requerimientos. Durante una fase posterior, llamada de integración de vistas, los esquemas obtenidos se combinan o integran para construir un esquema conceptual global para toda la base de datos. A partir de las vistas individuales se pueden definir posteriormente los esquemas externos. Aunque la integración de vistas puede efectuarse manualmente, su aplicación a una base de datos grande en la que intervengan muchos grupos requerirá una metodología y el empleo de herramientas automáticas que ayuden a realizar la integración.

Combinación de requerimientos

Diseño del esquema

conceptual Enfoque centralizado Diseño de esquemas conceptuales (Vistas) Integración de vistas

Enfoque de integración de vistas

Independientemente del enfoque seguido, en ambos casos la tarea fundamental a realizar es el modelado de cierta organización (o parte de la organización). El modelo obtenido va a ser representado

17 Hay que tener en cuenta que los ejemplos que se proponen para aprender a diseñar hacen referencia a pequeños

sistemas de información por lo que los enfoques que se comentan no serán de gran utilidad. Sin embargo se ha considerado interesante comentarlos para ampliar la perspectiva que debéis tener de esta tarea.

en su parte estática por un diagrama ER.

En el apartado siguiente se comenta brevemente cómo se puede abordar la tarea de la integración de vistas.

5.1 Integración de vistas

En el caso de bases de datos complejas que se espera que tengan muchos usuarios y aplicaciones, puede usarse el enfoque de integración de vistas, diseñando esquemas individuales y luego combinándolos. Ya que es posible tener vistas individuales relativamente pequeñas, el diseño de los esquemas se simplifica. Sin embargo, se requiere una metodología para integrar las vistas en un esquema conceptual global. La integración de vistas puede dividirse en los siguientes pasos:

1. Identificación de correspondencias y conflictos entre los esquemas. 2. Modificación de las vistas para ajustarlas entre sí.

3. Combinación de vistas. 4. Reestructuración.

A continuación se comentan brevemente estas actividades [EN97].

5.1.1 Identificación de correspondencias y conflictos

Dado que los esquemas se diseñan individualmente, es necesario especificar elementos en los esquemas que representen el mismo concepto en el mundo real. Esta correspondencia debe identificarse antes de poder efectuar la integración. Durante este proceso, es posible que se descubran varios conflictos entre los esquemas:

• Conflictos de nombre: en la denominación de algún objeto del esquema (entidad, relación o atributo). Son de dos tipos: sinonimia y polisemia. La sinonimia ocurre cuando dos esquemas usan diferentes nombres para describir el mismo concepto. La polisemia ocurre cuando dos esquemas usan el mismo nombre para describir diferentes conceptos.

Ejemplo 39

Comprador Cliente

Vista 1 Vista 2

Si el objeto de la realidad que está representando en la vista 1 la entidad Comprador es el mismo que en la vista 2 la entidad Cliente entonces se presenta un conflicto por sinonimia.

Componente Componente

Vista 1 Vista 2

Si el objeto de la realidad que está representando en la vista 1 la entidad Componente no es el mismo que en la vista 2 entonces se presenta un conflicto por polisemia.

• Conflictos de tipos: El mismo concepto puede representarse en dos esquemas mediante elementos de modelado distintos.

Ejemplo 40 Asignatura Profesor Vista 1 Vista 2

Departamento cod_dep n 1 Pertenece

En la vista 1 no se ha diseñado una entidad para representar a los departamentos y por tanto el departamento al que está adscrita una asignatura es un atributo de la entidad que las representa. Sin embargo, en la segunda vista se ha considerado adecuado la inclusión de una entidad para representar a los departamentos.

• Conflictos de dominios: Un atributo puede tener diferentes dominios en dos esquemas. Ejemplo 41 dni Cliente Cliente Vista 1 Vista 2

dni

dni: dom_dni; dom_dni: entero dni: dom_dni; dom_dni: char(10) • Conflictos entre restricciones: Dos esquemas pueden imponer distintas restricciones Ejemplo 42 cod_cli Cliente Cliente Vista 1 Vista 2

dni dni

Pese a representar el mismo objeto en cada vista se ha elegido un identificador distinto.

Para finalizar con este punto hay que destacar que la dificultad de esta tarea reside en el hecho de que el descubrimiento de estos conflictos no es trivial ya que no siempre los casos son tan obvios como se han mostrado en los ejemplos.

5.1.2 Modificación de las vistas

Esta tarea supone la modificación de algunos esquemas para que se ajusten mejor a los otros resolviendo los conflictos identificados en el paso anterior. La solución a estos problemas puede resultar bastante sencilla como se muestra en el Ejemplo 43.

Ejemplo 43

En el Ejemplo 39 el problema de la sinonimia podría resolverse decidiéndose por uno de los dos nombres, Cliente o Comprador; y el de la polisemia con la inclusión de dos nombres, Componente_1 y Componente_2 (aunque sería mejor especificar nombres con mayor contenido semántico).

En el Ejemplo 40 habría que decidirse por la inclusión o no de la entidad Departamento. Dado que en la segunda se había especificado explícitamente, lo más razonable parece ser respetar esta decisión y modificar la vista 1 de la siguiente forma:

Departamento n 1 Adscrita Asignatura Profesor Vista 1 Vista 2

Departamento n 1 Pertenece

En el Ejemplo 41 habría que decidirse por uno de los dos dominios posibles para el atributo dni. En el Ejemplo 42 habría que decidirse por uno de los dos identificadores.

5.1.3 Combinación de vistas

El esquema global se crea combinando los esquemas individuales. Los conceptos que se corresponden se representan una sola vez en el esquema global, y se especifican las transformaciones de las vistas al esquema global para que después sea posible la definición de los esquemas externos.

5.1.4 Reestructuración

Como último paso opcional, el esquema global podrá analizarse y reestructurarse para eliminar cualquier redundancia o complejidad innecesaria. Una vez hecha esta reestructuración, el esquema obtenido debe examinarse desde el punto de vista de cada una de las vistas parciales y, si no es aceptado por alguna de ellas debe modificarse repitiendo este proceso las veces que haga falta.

In document Probabilistic constraint reasoning (Page 61-69)