- Transformación al modelo de base de datos (o fase de diseño lógico).
En esta fase se crea un esquema conceptual y los esquemas externos necesarios en el modelo de datos del SGBD seleccionado, mediante la transformación de los esquemas de modelo de datos a alto nivel obtenidos, al modelo de datos ofrecido por el SGBD.
El método para el desarrollo de BD XML parte del modelo conceptual de datos representado
mediante un diagrama de clases UML. Este modelo se abstrae completamente de la
plataforma final en la que se desplegará la BD y por tanto se considera el modelo a nivel PIM.
Este PIM se podría utilizar como modelo de partida en el desarrollo de cualquier otro tipo de
BD, y de hecho en la propuesta de MIDAS se contempla también como punto de partida en el
desarrollo de la BDOR [15] y se utiliza para el desarrollo del hipertexto [16]. El siguiente
paso es la generación del modelo de datos para una plataforma concreta, es decir se piensa ya
en la plataforma en la que se desplegará finalmente la BD y se habla por tanto de modelo
PSM. Éste modelo no es más que la representación del esquema de la BD, que en el caso de
una BD XML, se recoge en un XML Schema que define la estructura de los documentos
XML que se almacenarán en la BD. MIDAS propone la utilización de estándares a lo largo de
Juan M. Vara, Belén Vela, Esperanza Marcos
4
todo el proceso de desarrollo, y más concretamente el uso de UML como notación para
cualquier actividad de modelado, pero UML no incluye soporte para el modelado de XML
Schemas. Una posible solución sería modificar el metamodelo de UML, pero esta solución es
demasiado drástica. UML, sin embargo, ha sido diseñado para que pueda extenderse de una
forma controlada y proporciona para ello sus propios mecanismos de extensión para cubrir la
necesidad de flexibilidad. Dichos mecanismos permiten crear nuevos bloques de construcción
por medio de estereotipos, valores etiquetados y restricciones recogidos todos ellos en lo que
se denomina perfil UML. Así, como parte de la propuesta para el desarrollo de BD XML, se
ha definido un perfil UML para el modelado de XML Schemas. Dicho perfil permite
representar gráficamente los componentes específicos del estándar XML Schema
conservando el orden y grado de anidamiento dado.
Tanto el perfil propuesto como el metamodelo que resulta de aplicar el perfil se han
presentado anteriormente en [13] y [14], así pues se remite al lector a dichos trabajos para una
mejor comprensión del modelado de XML Schemas en UML.
3. DEL MODELO CONCEPTUAL AL ESQUEMA DE LA BD
Como ya se ha mencionado, MIDAS sigue una aproximación dirigida por modelos para el
desarrollo de SIW y por tanto, considera los modelos como actores de primer orden a lo largo
de todo el proceso de desarrollo. En este contexto se puede pensar en el proceso de desarrollo
como el conjunto de tareas a completar para generar los distintos modelos incluidos en el
proceso. En el caso concreto que se aborda en este trabajo, la transformación resulta
relativamente sencilla: se toma como entrada el modelo conceptual y se obtiene como salida
del proceso el modelo que representa el esquema de la BD XML, esto es, el XML Schema
que dicta la estructura de la BD XML que almacenará los documentos XML. A continuación
se definen formalmente estas transformaciones, primero definiéndolas como reglas
expresadas en lenguaje natural para posteriormente formalizarlas utilizando una aproximación
basada en gramáticas de grafos.
3.1. Reglas de Transformación entre PIM y PSM expresadas en lenguaje natural
De acuerdo con [12], “la descripción de los mappings puede realizarse en lenguaje natural,
un algoritmo en un action language o un modelo en un lenguaje de transformación”. En
nuestro caso, y como una primera aproximación a las transformaciones de modelos para el
desarrollo de BD XML, se ha optado por describir las reglas de transformación en
lenguaje natural, para después expresarlas por medio de gramáticas de grafos. Dichas
reglas se recogen en la tabla 1.
Reglas de Transformación de PIM a PSM
Modelo Conceptual a Modelo XML Schema
1. Cada clase del modelo conceptual corresponderá a un elemento en el XML Schema con el mismo nombre
de la clase. Además, para especificar el tipo del elemento, se incluirá un nuevo complexType inline, o si se
opta por definirlo con nombre se utilizará la expresión nombreclase_type para nombrarlo. El elemento y el
complexType se relacionarán por medio de una asociación uses
Juan M. Vara, Belén Vela, Esperanza Marcos
5
2. Los atributos de una clase se recogerán en el XML Schema como subelementos del complexType que
sirve para definir el tipo del elemento que representa a la clase
2.1. En el caso de atributos obligatorios el valor de la propiedad minOccurs del subelemento será 1 (éste
es el valor por defecto)
2.2. En el caso de atributos opcionales el valor de la propiedad minOccurs del subelemento será 0
2.3. En el caso de atributos multivaluados el valor de la propiedad maxOccurs del subelemento será
unbounded
2.4. En el caso de atributos compuestos el subelemento será de tipo complexType anónimo. Dicho
complexType utilizará el compositor sequence para incluir un subelemento por cada componente del
atributo compuesto
2.5. En el caso de atributos enumerados el subelemento será de un tipo simpleType anónimo. Este
simpleType se relacionará con una clase enumeration donde se especificaran los posibles valores del
atributo
3. Una asociación entre 2 clases se recogerá incluyendo un subelemento en uno de los complexType
correspondiente a las clases que participan en la asociación, ya que se recogerán siempre como
asociaciones unidireccionales. El subelemento recibirá el mismo nombre que la asociación que representa.
Dicho subelemento, de tipo REF, referenciará al elemento que corresponde a la otra clase que participa en
la asociación. El valor del atributo minOccurs de dicho subelemento dependerá de la multiplicidad mínima
de la asociación (0 ó 1) y el valor del atributo maxOccurs será 1
3.1. Si la multiplicidad es 1:N el subelemento se incluirá forzosamente en el complexType que
corresponde a la clase de multiplicidad N.
3.2. Si la multiplicidad es N:M el valor del atributo maxOccurs será unbounded
4. Las relaciones de agregación se recogerán incluyendo un subelemento en el complexType
correspondiente a la clase que actúa como TODO en la relación. Para nombrarlo se utilizará el nombre de
la relación y, en su defecto, la cadena is_aggregated_of. El subelemento será de tipo REF y referenciará al
elemento correspondiente a la clase que actúa como PARTE. El valor del atributo minOccurs de dicho
subelemento dependerá de la multiplicidad mínima de la asociación (0 ó 1)
4.1. Si la multiplicidad máxima de la relación es N, el valor de la propiedad maxOccurs del subelemento
será unbounded
5. Las relaciones de composición se recogerán incluyendo un subelemento en el complexType
correspondiente a la clase que actúa como TODO. Para nombrarlo se utilizará el nombre de la relación y,
en su defecto, la cadena is_composed_of. Este subelemento será de tipo complexType anónimo y utilizará
el compositor all para incluir un conjunto de elementos del tipo del complexType correspondiente a la/s
clase/s que actúan como PARTE en la composición
6. En las relaciones de generalización el complexType utilizado para definir el tipo del elemento que
representa a la clase hija será una extensión del complexType correspondiente a la clase padre.
Tabla 1. Reglas de Transformación PIM – PSM (Modelo Conceptual – Modelo XML Schema). - En esta se crea un esquema conceptual y los externos.
- http://www.slideshare.net/tramullas/bases-de-datos-1176222
http://personales.unican.es/ruizfr/bda/doc/teo/5/bda-t5-diseno-kybele.pdf
jueves, 29 de abril de 2010
transformacion al modelo de una base de datos
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario