BASES de DATOS ÁCTIVAS

Documentos relacionados
BASES DE DATOS ACTIVAS

Triggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

INTRODUCCIÓN BASES DE DATOS ACTIVAS INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN

Tema II: El modelo relacional de datos. (2.7) Automatización

Diseño de bases de datos

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Tipos de datos en SQL. SQL. DDL (Data Definition Language) CREATE DOMAIN CREATE TABLE CREATE TABLE. CREATE TABLE con restricciones de atributo

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Tema: DISPARADORES (TRIGGERS)

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Práctica 3: El lenguaje SQL (2ª parte). (6ª sesión).

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Oracle Database y Oracle SQL Developer

Lenguaje SQL (2ª Parte) Definición de datos

Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia

GESTORES GESTORES DE BASES DE DATOS

1. Motivación: comportamientos activos. 2. Reglas ECA. Ejemplos BASES DE DATOS ACTIVAS. Las BD tradicionales se consideran pasivas

Tema 1. Bases de datos activas

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

Integridad Referencial. Restricciones (constraints)

Práctica 3: Lenguaje SQL 2ª Parte: Definición de datos. Objetivos

6. Integridad en Sistemas de Bases de Datos Relacionales

BASES DE DATOS ACTIVAS

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Diseño de bases de datos Práctica-1 Definición de datos

MATERIAL SOBRE SENTENCIAS SQL

Integridad en sistemas de bases de datos relacionales

Unidad III. Bases de Datos

El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos

Asignatura: Administración de Bases de Datos

Tema 1. Introducción a MySQL. José Muñoz Jimeno Octubre 2015

Oracle Database y Oracle SQL Developer

Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013

Manejo de Tablas y Llaves Foráneas

ÍNDICE PRIMERA PARTE... 17

TEMA 9. EL LENGUAJE SQL

Tema 1. Bases de datos activas

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Introducción a SQL (DDL)

Tema 5. Lenguaje de Definición de Datos

SQL SERVER APLICADO (SSA010)

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Oracle Database 12c SQL and PLSQL Fundamentals

Temario. Índices simples Árboles B Hashing

SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

El Sistema Gestor de Base de Datos (DBMS)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Triggers. Introducción

1. Reglas ACID: comprobar la propiedad Atomicidad, lo que se ejecuta en una transacción se ejecuta todo o nada, usando la tabla clientes.

Tema II: El modelo relacional de datos Objetivos:

Restricciones de Integridad

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

SQL - DDL y consultas de actualización. José Muñoz Jimeno Febrero 2015

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:

5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).

A. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Introducción SQL. Ges2ón y Modelación de Datos María Constanza Pabón

Práctica A: Implementación de la integridad de datos

T07 Opciones de integridad referencial

Bases de Datos I. Vistas

SQL Los fundamentos del lenguaje

GUÍA DE TRABAJO N 5 GRADO 11 Programación y Diseño de Articulación SENA Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Bases de Datos I. Cursada Clase 3: Restricciones de Integridad (de tablas y generales)

El Modelo Relacional. Estática

Oracle Básico PL/SQL

SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero

Bases de Datos: Structured Query Language (SQL)

Gestión de Transacciones: Concurrencia y Recuperación

GUÍA DE TRABAJO N 7 GRADO 11. Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6 GUIA N 7 COMANDOS MYSQL II. CREAR UNA TABLA

SQL: Lenguaje de definición de datos (DDL) (*) DBMS: DATA BASE MANAGEMENT SYSTEM. SGBD: SISTEMAS GESTOR DE BASE DE DATOS

1 2 3 ( /! 3 ) +, 1& 3 0))) % &! ( ) +,. / & 0)))

Ejercicios SQL - Definición de Datos - Solución

GBD Diseño físico de DDBB

Transcripción:

BASES de DATOS ÁCTIVAS Bibliografía Piattini & Díaz (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

Motivación A día de hoy, los SGBD son el corazón de los Sistemas de Información. 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 autobús con cada incorporación de nuevos alumnos a una escuela 1. Monitorizar cada titulación 2. Comprobar periódicamente las direcciones de los alumnos matriculados Bases de Datos Activas

Comportamiento Pasivo El marido sabe cómo cocinar La esposa solicita explícitamente al marido que lo haga Roles: objeto fuente VS objeto receptor (petición)

Comportamiento Activo El marido sabe cómo cocinar y cuando cocinar Roles: objeto observador VS objeto observado

Comportamiento Activo Comportamiento Activo = CUANDO + QUÉ Ejemplos: Gestión 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 APLICACIÓN CUANDO. ENTONCES.. Gestión Campus Vicalvaro APLICACIÓN Gestión Campus Vicalvaro SGBD Datos Alumnos Datos Titulaciones Datos Autobús. APLICACIÓN Sistema Matriculación CUANDO. ENTONCES.. CUANDO. ENTONCES.. Perdida de Modularidad Semántica distribuida

Comportamiento Activo Podemos recoger ese comportamiento en las aplicaciones que acceden a la BD APLICACIÓN Gestión Campus Vicalvaro SGBD APLICACIÓN Sistema Matriculación APLICACIÓN Datos Alumnos Datos Titulaciones Datos Autobús. Gestión Campus Vicalvaro Mejora la Modularidad Frecuencia de Sondeo?? CUANDO. ENTONCES.. APLICACIÓN SONDEO

Comportamiento Activo Podemos recoger ese comportamiento en la propia BD BD Activas APLICACIÓN Gestión Campus Vicalvaro APLICACIÓN Gestión Campus Vicalvaro SGBD Datos Alumnos Datos Titulaciones Datos Autobús. CUANDO. ENTONCES APLICACIÓN Sistema Matriculación Mejora la Modularidad Código localizado Reacción Inmediata Tráfico de Red

SGBD Activo Los SGBD Activos proporcionan mecanismos para: Definir el cuando y el qué Modelo de Conocimiento SGBD Realizar un seguimiento del cuando y gestionar el qué Modelo de Ejecución Cuando se procesar las reglas Cómo se gestionan eventos simultáneos

SGBD Activo Un sistema de bases de datos activas es un sistema de gestión de bases de datos (SGBD) que contiene un subsistema que permite la definición y la gestión de reglas de producción (reglas activas).

Aplicaciones de los SGBD activos Internas: clásicas de la utilización o administración de BD Control de Integridad Mantenimiento de datos derivados (vistas) Administración de Copias Seguridad y Auditoría Gestión de Versiones Externas: reglas de negocio RESTRICCIÓN 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)

Modelo de Conocimiento Reglas ECA Evento Condición Acción Evento: Causa qué dispara la acción / Suceso al que debe responder el sistema Condición: Estado que debe darse Determina si la acción asociada a la regla se debe ejecutar Acción: Acciones que debe ejecutar el sistema cuando se produce el evento y la condición es cierta

Evento FUENTE: Qué ocasiona la ocurrencia de un evento? una instrucción del LMD (antes o después): Insert, Delete, Select una instrucción para la gestión de transacciones: Commit, Abort una excepción: violación de autorizaciones, bloqueos, etc. el reloj: el 28 de Marzo a las 19:30h. la aplicación GRANULARIDAD: Qué cambios considera UNA ocurrencia del evento? cambios en sólo 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

Condición y Acción CONDICIÓN: Un predicado sobre la BD: consulta ACCIÓN: Qué se puede incluir en la reacción? comandos de SQL comandos de SQL extendido (p.e. PL/SQL) llamadas externas abortar la transacción

Ejemplo INSERT SGBD Sueldo > Sueldo Jefe UPDATE SGBD Temporalidad después de insert on empleado Evento Condición si new.salario > (select B.salario from empleado B where B.nombre = new.jefe) do rollback Acción

Ejemplo INSERT SGBD Sueldo > Sueldo Jefe UPDATE SGBD Temporalidad después de insert on empleado Evento Condición 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 Acción

Modelo de Ejecución Ocurrencia de Eventos Fuente de Eventos Señalar Disparar Reglas Disparadas Reglas Evaluadas Reglas Seleccionadas

Modos de Acoplamiento Cuándo se evalúa la condición? NOMBRE TIPO SUELDO Juan Empleado 1000 Sara Directiva 1050 Ningún empleado debe ganar más que su jefe Jefa de Juan UPDATE EMPLEADO SET SUELDO = SUELDO * 1.10 NOMBRE TIPO SUELDO Juan Empleado 1100 Sara Directiva 1050 NOMBRE TIPO SUELDO Juan Empleado 1100 Sara Directiva 1100 NOMBRE TIPO SUELDO Juan Empleado 1100 Sara Directiva 1200 NOMBRE TIPO SUELDO Juan Empleado 1000 Sara Directiva 1155 NOMBRE TIPO SUELDO Juan Empleado 1100 Sara Directiva 1155 SOLUCIÓN: comprobación diferida

Modos de Acoplamiento Modelo de Acoplamiento Inmediato INICIO de TRANSACCIÓN EVENTO EVLUACIÓN CONDICIÓN EJECUCIÓN ACCIÓN FIN de TRANSACCIÓN

Modos de Acoplamiento Modelo de Acoplamiento Diferido INICIO de TRANSACCIÓN EVENTO Se evalúa al terminar la transacción donde se ha activado (tras la sentencia COMMIT) EVLUACIÓN CONDICIÓN EJECUCIÓN ACCIÓN FIN de TRANSACCIÓN

SQL y las BD Activas CONSTRAINTS: especificaciones del DDL que se aplican a columnas y se evalúan sobre tuplas. UNIQUE, NOT NULL, REFERENCES, CHECK Conviene darles nombre ALTER TABLE Empleados ADD CONSTRAINT EmpFKDept FOREIGN KEY (dept) REFERENCES Departamento (ID); ASERCIONES (ASSERTIONS): restricción 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 Bibliografía Piattini & Díaz (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