Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porPrimo Alverez Modificado hace 9 años
1
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Prof. Leonid Tineo Departamento de Computación Universidad Simón Bolívar leonid@usb.ve Bases de Datos Activas (I)
2
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Motivación En el mundo real los datos no son pasivos Los objetos tienen un comportamiento dinámico UML permite modelar este comportamiento Pero sólo a nivel conceptual No dice nada de cómo realizarlo en un DBMS Las bases de datos tradicionales son pasivas El usuario o programador es quien decide qué hacer Se necesita un modelo que Incorpore el comportamiento a la base de datos
3
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Limitación de BD tradicionales Ejemplo: Se quiere satisfacer la restricción nivel mínimo<= stock <= nivel máximo Si el stock se sale de los límites detectar y tomar medidas (acciones) Posibles “soluciones” en BD tradicionales En cada transacción: verificación y medidas Transacción especial: que lo hace periodicamente Problemas: mala práctica de Ing. de Software Puede incidir negativamente en el rendimiento Puede que las condiciones no se detecten a tiempo
4
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Otras Características Deseables No esperar una especificación correcta y completa de una consulta para darle respuestas al usuario Retroalimentación dinámicamente se refinan las condiciones de la consulta Las vsitas se deberían modificar dinámicamente y ser tan reales como la base de datos real Cambiar el foco de atención incrementalmente y “ojear” interactivamente la base de datos
5
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Paradigma de BD Activas (Morgenstern 1983) La noción de “ser activa” de una base de atos es uan metáfora de su comportamiento que hace énfasis en: Dinámica de interacción con los usuarios “Inteligencia” para lidiar con las consecuencias e implicaciones de esa interacción Se desea eliminar la barrera entre consultas-vistas y resultados-base de datos real
6
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Base de Datos Activa (Dayal,Hanson,Widom) Base de datos capaz de detectar situaciones de interés y de actuar en consecuencia. El usuario (diseñador) especifica situaciones y acciones Las especificaciones Similares a las reglas de producción evento-condición-acción
7
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Reglas de Producción Área: Inteligencia Artificial Sistemas Expertos y Sistemas Basados en Reglas Forma: regla de producción: condición acción Ejecución: Máquina de Inferencia Ciclo recorre las reglas busca las reglas que hacen “match” resuelve conflictos, elige regla dispara la regla -> ejecutar acciones
8
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Reglas Evento-Condición- Acción Área: Bases de Datos Forma: “on event if condition then action” Ejecución: Eventos en lugar de máquina de inferencia el evento dispara la regla si la condición se cumple entonces se realiza la acción
9
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Cuándo Ejecutar las Reglas Al ocurrir el cambio (o evento) Propagación Inmediata Al usar el atributo cambiado Propagación Al Uso Oportunísticamente Propagación Retrasada
10
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Modelos de Reglas En Sistemas Relacionales Las reglas se definen como metadatos en el esquema de la base de datos, de manera similar a las definiciones de tablas y vistas. Hay operaciones para agregar, eliminar y modificar En Sistemas Orientados a Objetos Las reglas son objetos de una clase que las contiene, cuyos atributos son eventos, condiciones y acciones Se pueden crear, destruir o modificar
11
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Eventos en Reglas Eventos Implícitos No se especifica el evento Cualquier cambio en la base de datos que pueda hacer que se cumpla la condición hace que se dispare la regla Eventos Explícitos Sí se especifica el evento Mayor flexibilidad para expresar transiciones
12
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Especificación de Eventos Operaciones de Actualización UPDATE, DELETE, INSERT Operaciones de Transacción COMMIT, ABORT, PREPARE TO COMMIT Eventos Temporales Absolutos, Relativos, Periódicos Eventos compuestos
13
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Especificación de Condiciones Predicado o consulta sobre la base de datos La condición se satisface si el predicado es cierto o la respuesta de la consulta no es vacía Eventos explíctos puede omitirse la condición Condiciones de Transición se expresan en base al cambio de estado sólo en caso de que el lenguaje permita hacer referecia al estdo de los datos antes y después del evento
14
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Especificación de Acciones Acción Implícita: Rechazar la operación que activó el evento Secuencia de comandos de consulta y actualización de la base de datos ROLLBACK de las acciones de la transacción para poder abortarla Acción sustituta a la operación que disparó la regla (INSTEAD en POSTGRES)
15
"Y todo lo que hagáis, hacedlo de corazón, como para el Señor y no para los hombres" (Colosenses 3:23) Reglas en Conflicto Si más de una regla puede ser disparada al mismo tiempo, se dice que están en conflicto Si varias reglas se disparan con el mismo evento están en conflicto Algunos sistemas resuelven el cconflcito perimitiendo que se defina un orden parcial sobre las reglas Algunos sistemas resuelvn el conflicto arbitrariamente, el usuario no tiene ingerencia sobre cuál ejecutar promero
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.