You are on page 1of 22

BASES de DATOS CTIVAS

Bibliografa Piattini & Daz (2000). Advanced Database Technology and Design. Capt. 3 Elmasri & Navathe (2000). Fundamentals of DBS, Capt. 23.1 Garcia-Molina, Ullman & Widom 2002. DBS, Capt. 7.4

Motivacin A da de hoy, los SGBD son el corazn de los Sistemas de Informacin. Nuevas tendencias en BD: GIS, BD Multimedia, BD XML BD Activas BD convencionales se consideran muertas o pasivas y no pueden manejar ciertas situaciones
Ejemplo: actualizar las rutas del autobs con cada incorporacin de nuevos alumnos a una escuela
1. Monitorizar cada titulacin 2. Comprobar peridicamente las direcciones de los alumnos matriculados

Bases de Datos Activas

Comportamiento Pasivo

El marido sabe cmo cocinar La esposa solicita explcitamente al marido que lo haga Roles: objeto fuente VS objeto receptor (peticin)

Comportamiento Activo

El marido sabe cmo cocinar y cuando cocinar Roles: objeto observador VS objeto observado

Comportamiento Activo Comportamiento Activo = CUANDO + QU Ejemplos:


Gestin de Stocks:
cuando ITEM < 10 entonces solicitar nuevo ITEM al proveedor

Productos Perecederos
Cuando fecha_caducidad - fecha_actual < 7 entonces reducir el precio del producto

Comportamiento Activo
Podemos recoger ese comportamiento en las aplicaciones que acceden a la BD
APLICACIN
Gestin Campus Vicalvaro

APLICACIN
Sistema Matriculacin

SGBD
CUANDO . ENTONCES .. Datos Alumnos Datos Titulaciones Datos Autobs . CUANDO . ENTONCES ..

APLICACIN

Gestin Campus Vicalvaro


CUANDO . ENTONCES ..

Perdida de Modularidad Semntica distribuida

Comportamiento Activo
Podemos recoger ese comportamiento en las aplicaciones que acceden a la BD APLICACIN
APLICACIN
Gestin Campus Vicalvaro Sistema Matriculacin

SGBD
Datos Alumnos Datos Titulaciones Datos Autobs .

APLICACIN

Gestin Campus Vicalvaro


CUANDO . ENTONCES ..

Mejora la Modularidad Frecuencia de Sondeo??

APLICACIN SONDEO

Comportamiento Activo Podemos recoger ese comportamiento en la propia BD BD Activas APLICACIN


APLICACIN
Gestin Campus Vicalvaro

SGBD
Datos Alumnos Datos Titulaciones Datos Autobs . CUANDO . ENTONCES

Sistema Matriculacin

APLICACIN
Gestin Campus Vicalvaro

Mejora la Modularidad
Cdigo localizado

Reaccin Inmediata
Trfico de Red

SGBD Activo

Los SGBD Activos proporcionan mecanismos para:


Definir el cuando y el qu Modelo de Conocimiento Realizar un seguimiento del cuando y gestionar el qu Modelo de Ejecucin

SGBD

Cuando se procesar las reglas Cmo se gestionan eventos simultneos

SGBD Activo

Un sistema de bases de datos activas es un sistema de gestin de bases de datos (SGBD) que contiene un subsistema que permite la definicin y la gestin de reglas de produccin (reglas activas).

Aplicaciones de los SGBD activos


Internas: clsicas de la utilizacin o administracin de BD
Control de Integridad Mantenimiento de datos derivados (vistas) Administracin de Copias Seguridad y Auditora Gestin de Versiones
RESTRICCIN wire:voltage > any (select max-voltage from wire-type where type 5 wire.type)

REGLA ACTIVA on insert into wire if insert.voltage > any (select max-voltage from wire-type where type 5 insert.type) do (action)

Externas: reglas de negocio

Modelo de Conocimiento Reglas ECA Evento Condicin Accin


Evento: Causa qu dispara la accin / Suceso al que debe responder
el sistema

Condicin: Estado que debe darse Determina si la accin asociada a la regla se debe ejecutar Accin: Acciones que debe ejecutar el sistema cuando se produce el
evento y la condicin es cierta

Evento
FUENTE: Qu ocasiona la ocurrencia de un evento?
una instruccin del LMD (antes o despus): Insert, Delete, Select una instruccin para la gestin de transacciones: Commit, Abort una excepcin: violacin de autorizaciones, bloqueos, etc. el reloj: el 28 de Marzo a las 19:30h. la aplicacin

GRANULARIDAD: Qu cambios considera UNA ocurrencia del evento?


cambios en slo una tupla (disparadores a nivel de fila) 1 tupla : 1 evento cambios en todas las tuplas (disparadores a nivel de sentencia) n tuplas : 1 evento

Condicin y Accin
CONDICIN:
Un predicado sobre la BD: consulta

ACCIN: Qu se puede incluir en la reaccin?


comandos de SQL comandos de SQL extendido (p.e. PL/SQL) llamadas externas abortar la transaccin

Ejemplo
SGBD SGBD

INSERT

Sueldo > Sueldo Jefe

UPDATE

Temporalidad

despus de insert on empleado

Evento

Condicin

si new.salario > (select B.salario from empleado B where B.nombre = new.jefe) do rollback
Accin

Ejemplo
SGBD SGBD

INSERT

Sueldo > Sueldo Jefe

UPDATE

Temporalidad

despus de insert on empleado

Evento

Condicin

si new.salario > (select B.salario from empleado B where B.nombre = new.jefe) do update empleado set salario = new.salario where nombre = new.jefe

Accin

Modelo de Ejecucin
Fuente de Eventos

Ocurrencia de Eventos

Sealar

Disparar

Reglas Disparadas

Reglas Evaluadas

Reglas Seleccionadas

Modos de Acoplamiento Cundo se evala la condicin?


NOMBRE TIPO SUELDO
Ningn empleado debe ganar ms que su jefe

Juan
Sara

Empleado
Directiva

1000
1050
Jefa de Juan

UPDATE EMPLEADO SET SUELDO = SUELDO * 1.10

NOMBRE

TIPO

SUELDO

Juan
Sara NOMBRE Juan Sara NOMBRE Juan Sara

Empleado
Directiva TIPO Empleado Directiva TIPO Empleado Directiva

1100
1050 SUELDO 1100 1100 SUELDO 1100 1200

NOMBRE Juan Sara NOMBRE

TIPO Empleado Directiva TIPO

SUELDO 1000 1155 SUELDO

Juan
Sara

Empleado
Directiva

1100
1155

SOLUCIN: comprobacin diferida

Modos de Acoplamiento Modelo de Acoplamiento Inmediato


INICIO de TRANSACCIN

EVLUACIN CONDICIN

EJECUCIN ACCIN

EVENTO

FIN de TRANSACCIN

Modos de Acoplamiento Modelo de Acoplamiento Diferido


INICIO de TRANSACCIN

EVENTO

Se evala al terminar la transaccin donde se ha activado (tras la sentencia COMMIT)

EVLUACIN CONDICIN

EJECUCIN ACCIN

FIN de TRANSACCIN

SQL y las BD Activas


CONSTRAINTS: especificaciones del DDL que se aplican a columnas y se evalan sobre tuplas.
UNIQUE, NOT NULL, REFERENCES, CHECK Conviene darles nombre
ALTER TABLE Empleados ADD CONSTRAINT EmpFKDept FOREIGN KEY (dept) REFERENCES Departamento (ID);

ASERCIONES (ASSERTIONS): restriccin que no tiene por qu estar asociada a una nica tabla.
CREATE ASSERTION un_presidente CHECK( (SELECT COUNT(*) FROM emp WHERE puesto='PRESIDENTE') < 2);

TRIGGERS (DISPARADORES): aserciones con acciones asociadas.

BASES de DATOS CTIVAS

Bibliografa Piattini & Daz (2000). Advanced Database Technology and Design. Capt. 3 Elmasri & Navathe (2000). Fundamentals of DBS, Capt. 23.1 Garcia-Molina, Ullman & Widom 2002. DBS, Capt. 7.4

You might also like