Evolución de Datos Vicent Estruch Gregori Josep F. Silva Galiana

Download Report

Transcript Evolución de Datos Vicent Estruch Gregori Josep F. Silva Galiana

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
29/01/03
1
Índice








Introducción
Descripción del problema
Situación actual
Solución propuesta
Ejemplo
Conclusiones
Trabajos futuros
Preguntas
29/01/03
2
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
29/01/03
3
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.
EC1
29/01/03
Mod 1
EC2
Mod 2
EC3
Mod 3
EC4
4
Descripción del Problema

Evolución de las aplicaciones
¡Requisitos!
Esquema
Conceptual
1
Aplicación
1
29/01/03
Cambios
Servicios Evolución
Datos???
¡Requisitos!
Esquema
Conceptual
2
Aplicación
2
5
Descripción del Problema

Necesidad de la evolución automática de datos
Presentación
Presentación’
Lógica de Negocio
Lógica de Negocio’
Persistencia
Persistencia’
BD
1
BD
2
29/01/03
6
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.
29/01/03
7
Situación Actual
 Migración manual
 Creación de programas de migración
 Ejecución sentencias SQL
29/01/03
8
Situación Actual
 Migración Asistida (software de soporte)
 DTS de SQLServer
 FileAid
 ReTarGet
29/01/03
9
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
29/01/03
10
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
29/01/03
11
Solución Propuesta

Obtener las Diferencias
 Elementos añadidos
   E’(j)
 Elementos eliminados
 E(i)  
 Elementos modificados
 E(i)  E’(j)
29/01/03
12
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
 ...
29/01/03
13
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
29/01/03
14
Solución Propuesta

Ejecución del plan de migración:
BD
1
Programa
Migración
BD
2
29/01/03
15
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.
29/01/03
16
Ejemplo
NumMáquina
Descripción
Función(D)
NumMáquina
Operador
Descripción
Función(D)
1:1
1:1
1:M DI
1:M DI
NumPieza
Cantidad
Importe
PrecioPieza (D)
29/01/03
NumPieza
Cantidad
Importe
PrecioPieza (D)
17
Ejemplo

Obtener las Diferencias
 Elementos añadidos
 EC2.Máquina.Operador
 Elementos eliminados
Ø
 Elementos modificados
Ø
29/01/03
18
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
29/01/03
19
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.
29/01/03
20
Conclusiones
 La solución propuesta permite:
 Comparar dos Esquemas Conceptuales
 Obtener las diferencias
 Proponer un Plan de Migración
 Editarlo
 Traducirlo
 Ejecutarlo
 Comprobar inconsistencias
29/01/03
21
Conclusiones

La evolución de datos es un proceso naturalmente
paralelo a la evolución de aplicaciones.
EC1
BD
1
29/01/03
Mod 1
Mig 1
EC2
BD
2
Mod 2
Mig 2
EC3
BD
3
Mod 3
Mig 3
EC4
BD
4
22