220 likes | 399 Views
Evolución de Datos. Vicent Estruch Gregori Josep F. Silva Galiana. Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia. Índice. Introducción Descripción del problema Situación actual Solución propuesta Ejemplo Conclusiones
E N D
Evolución de Datos Vicent Estruch Gregori Josep F. Silva Galiana Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia
Índice • Introducción • Descripción del problema • Situación actual • Solución propuesta • Ejemplo • Conclusiones • Trabajos futuros • Preguntas
Situación Actual • Paradigma de prototipación automática. • Herramientas generadoras de código. • Metodologías de evolución de aplicaciones. • ¿Evolución de los datos? • Es necesaria una metodología
EC1 EC2 Mod 2 EC3 Mod 3 EC4 Mod 1 Descripción del Problema • Herramientas de modelado conceptual capaces de generar aplicaciones a partir del esquema. • Evolución de software a partir de la evolución del esquema.
Cambios ¡Requisitos! ¡Requisitos! Modelado Conceptual Modelado Conceptual Esquema Conceptual 1 Esquema Conceptual 2 Servicios Evolución Traducción Traducción Aplicación 1 Aplicación 2 Datos??? Descripción del Problema • Evolución de las aplicaciones
Presentación Presentación’ Lógica de Negocio Lógica de Negocio’ Persistencia Persistencia’ BD 1 BD 2 Descripción del Problema • Necesidad de la evolución automática de datos Evolución de la Lógica de presentación Evolución de la Lógica de negocio Evolución de la Estructura de BDR ¿Datos?
Descripción del Problema • Durante el proceso de evolución de un Esquema Conceptual, la BDR original ha ido poblándose. • Herramientas actuales soportan Evolución de Esquema. Pero NO migran población. • Hay que preservar esta información. • Problema puede ser peor: Legacy Systems.
Situación Actual • Migración manual • Creación de programas de migración • Ejecución sentencias SQL
Situación Actual • Migración Asistida (software de soporte) • DTS de SQLServer • FileAid • ReTarGet +
Solución Propuesta • Comparar dos Esquemas Conceptuales • Obtener las Diferencias • Proponer un Plan de Migración • Facilidades de Edición • Traducción Plan de Migración • Ejecución • Localización de Inconsistencias
Solución Propuesta • Metodología evolución de aplicaciones OO-Method • Comparación de esquemas: Todo aquello que tenga una repercusión sobre los datos. • * Clases • * Atributos • * Relaciones Agregación • * Relaciones Especialización
Solución Propuesta • Obtener las Diferencias • Elementos añadidos • E’(j) • Elementos eliminados • E(i) • Elementos modificados • E(i) E’(j)
Solución Propuesta • Proponer un Plan de Migración • Trata de establecer una función de trasvase de datos entre la base de datos origen y la base de datos final. • Habrá que definir un lenguaje: • E’.Clase1 E.Clase1 • E’.Clase1.Atr1 E.Clase1.Atr1 • ...
Solución Propuesta • Facilidades de edición: El analista podrá establecer cambios en el plan de migración. • Es posible que la lógica de negocio afecte a los datos, y solo el usuario conoce las reglasde migración. • Traducción del plan: El plan de evolución final del analista se traducirá automáticamente. • E.Clase1 E’.Clase1 INSERT INTO E’.Clase1 SELECT * FROM E.Clase1
Solución Propuesta • Ejecución del plan de migración: BD 1 Select ... Programa Migración Insert ... Update ... BD 2
Solución Propuesta • Comprobación Restricciones Integridad: La base de datos final puede violar su propio esquema por haber introducido datos artificialmente. • Restricciones de Integridad • Condiciones de Especialización • Condiciones de Disparo • Estados Inalcanzables o Sumideros • ...etc.
Ejemplo NumMáquina Descripción Función(D) Máquina NumMáquina Operador Descripción Función(D) Máquina 1:1 1:1 EC1 EC2 1:M DI 1:M DI NumPieza Cantidad Importe PrecioPieza (D) Pieza NumPieza Cantidad Importe PrecioPieza (D) Pieza
Ejemplo • Obtener las Diferencias • Elementos añadidos EC2.Máquina.Operador • Elementos eliminados Ø • Elementos modificados Ø
Ejemplo • Proponer un Plan de Migración EC1.Máquina EC2. Máquina EC1. Máquina.NumMáquina EC2.Máquina.NumMáquina EC2.Máquina.Operador EC1. Máquina.Descripción EC2. Máquina.Descripción EC1.Pieza EC2. Pieza EC1. Pieza.NumPieza EC2. Pieza.NumPieza EC1. Pieza.Cantidad EC2. Pieza.Cantidad EC1. Pieza.Importe EC2. Pieza.Importe
Conclusiones • Durante el proceso de evolución de un EC, el SI correspondiente va poblándose con datos. • Estos datos constituyen la parte más valiosa del SI. • La migración de los datos de un SI a otro no tiene un soporte metodológico.
Conclusiones • La solución propuesta permite: • Comparar dos Esquemas Conceptuales • Obtener las diferencias • Proponer un Plan de Migración • Editarlo • Traducirlo • Ejecutarlo • Comprobar inconsistencias
BD 1 BD 2 BD 3 BD 4 Mig 1 Mig 2 Mig 3 EC1 EC2 Mod 2 EC3 Mod 3 EC4 Mod 1 Conclusiones • La evolución de datos es un proceso naturalmente paralelo a la evolución de aplicaciones.