A) EVENTOS
• Eventos primitivos
-Eventos temporales
-Eventos definidos por los usuarios
-Eventos de la base de datos
• Eventos compuestos
BASES DE DATOS ACTIVAS
B) CONDICIONES
C) ACCIONES
• Externas
• Internas
D) REGLAS ECA
E) BASE DE DATOS
BASES DE DATOS ACTIVAS
Eventos
Eventos
Eventos
Eventos
Generalmente, un evento posee parámetros
adicionales a su tiempo de ocurrencia tales
como el identificador de la transacción que lo
ocasionó, el identificador del usuario que
inició la transacción o por ejemplo el nombre
del método, identificador del objeto y
argumentos en el llamado a un método en
bases de datos orientadas a objetos. Estos
parámetros pueden ser referenciados
tanto en la condición como en la acción
de la regla.
BASES DE DATOS ACTIVAS
Eventos
- Temporales y
- Explícitos.
BASES DE DATOS ACTIVAS
Condición
Condición
Acción
Acción
MODOS DE ACOPLAMIENTO
FUENTE OCURRENCIA
REGLAS REGLAS REGLAS
DE DE
DISPARADAS EVALUADAS SELECCIONADAS
EVENTOS EVENTOS
MODELO DE EJECUCION
INICIO DE TRANSACCION
FIN DE TRANSACCION
BASES DE DATOS ACTIVAS
EVENTO
FIN DE TRANSACCION
BASES DE DATOS ACTIVAS
INICIO DE TRANSACCION T2
EJEC. ACCION
FIN DE TRANSACCION T1
FIN DE TRANSACCION T2
BASES DE DATOS ACTIVAS
MODELO DE ACOPLAMIENTO DESACOPLADO
DEPENDIENTE
INICIO DE TRANSACCION T1
INICIO DE TRANSACCION T2
EJEC. ACCION
FIN DE TRANSACCION T1
FIN DE TRANSACCION T2
BASES DE DATOS ACTIVAS
optimizador
sentencias SQL
consultas USUARIO
O
procesador
consultas resultado APLICACION
datos
BASES DE DATOS ACTIVAS
SGBD ACTIVO
optimizador optimizador
consultas reglas
prog.
de APLICACION
reglas
procesador gestión
consultas eventos
datos reglas
BASES DE DATOS ACTIVAS
INTERNAS
• Comprobación de la integridad
• Notificación de condiciones.
• Generación de datos derivados
(materialización de vistas).
• Control de la seguridad (accesos permitidos y
auditoria).
EXTERNAS
• Definición de las reglas de funcionamiento
interno de la organización.
BASES DE DATOS ACTIVAS
Ej.: COMPROBACION DE LA INTEGRIDAD
CONTROL DE LA SEGURIDAD
ACCESO PERMITIDOS Y AUDITORIA
Las transacciones activas en el SGBD tiene asociado el usuario
que “disparo” la misma, por lo que es posible controlar la
ejecución de la misma de acuerdo al usuario, además la
posibilidad de saber el usuario nos permite mantener
información necesaria para auditorias.
Ej. Incorporar el Usuario y la Fecha Actual al momento de
realizar un INSERT.
CREATE TRIGGER Actualizo_Clientes FOR Clientes
BEFORE INSERT AS
BEGIN
New.Cliente_Usuario = CURRENT_USER;
New.Cliente_Fecha = CURRENT_DATE;
END
BASES DE DATOS ACTIVAS
Ej.: FUNCIONAMIENTO INTERNO
CREATE TRIGGER Ordenar_Produccion
AFTER UPDATE OF Cantidad ON Inventario
FOR EACH ROW
WHEN NEW.Cantidad < NEW.Cantidad_Minima
DECLARE
X NUMBER;
Y NUMBER;
BEGIN
SELECT SUM(Cantidad) INTO X FROM Orden_Produccion
WHERE Nro_Pieza = NEW.Nro_PIEZA;
Y:= NEW.Cant_Minima – (X + NEW.Cantidad);
INSERT INTO Orden_Produccion(Nro_Pieza, Cantidad,
Fecha)
VALUES(NEW.Nro_Pieza,Y,SYSDATE)
END
BASES DE DATOS ACTIVAS
REGLAS RESTAURADORAS DE LA CONSISTENCIA
En un sistema de base de datos, el cambio en el mundo real se modela
mediante la ejecución de transacciones de usuario que modifican un estado
generando otro que representa la nueva situación. Este nuevo estado
puede violar las restricciones de integridad del esquema, restricciones que
representan las propiedades de ese mundo. La reacción más frecuente de
los sistemas de bases de datos ante la violación de la integridad consiste
en rechazar la transacción que la ha provocado, devolviendo la base de
datos al estado anterior a su ejecución. Esta solución tan simple es, sin
embargo, usualmente poco satisfactoria para sistemas reales. Una
alternativa a este comportamiento consiste en que el sistema modifique el
estado inconsistente de forma que se repare la violación provocada por la
transacción de usuario respetando los cambios propuestos por ésta. Se
dice entonces que el sistema ha restaurado la consistencia de la base de
datos. Para la restauración de la consistencia utilizan las reglas activas.
Estas reglas se han denominado reglas restauradoras.
BASES DE DATOS ACTIVAS
FIN