BASES DE DATOS ACTIVAS

Documentos relacionados
INTRODUCCIÓN BASES DE DATOS ACTIVAS INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN

BASES de DATOS ÁCTIVAS


Bases de Datos OTROS ASPECTOS MODELO E-R

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

REGLAS DE CODD DEL MODELO RELACIONAL

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

cilred.com GESTIÓN DE TRANSACCIONES

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

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

REGLAS DE CODD (MODELO RELACIONAL) 12 Reglas.

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

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

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

Terminología Equivalente

Diseño lógico El modelo Relacional. José Muñoz Jimeno Febrero 2015

Asignatura: Administración de Bases de Datos

Objetivos. Temario. 1. Sistema de gestión de bases de datos

Qué es SGBD? Mencionar 4 tipos de SGBD. SGBD de red. Román Gutiérrez Sosa. SGBD jerárquicos. Modelo de datos relacionales.

Tema 5. Lenguaje de Definición de Datos

El Sistema Gestor de Base de Datos (DBMS)

El Modelo Relacional: Está1ca. El Modelo Relacional Tema 7

Introducción a SQL (DDL)

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

BASES DE DATOS TEMA 1. Introducción a las Bases de Datos

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

PROCEDIMIENTOS ALMACENADOS

CC BASES DE DATOS PRIMAVERA Clase 11: Integridad, Transacciones, ACID (I) Aidan Hogan

Base de Datos Oracle 10g: Programación con PL/SQL Código: D Duración: 5 días (40 horas)

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

Fundamentos de Bases de Datos Facultad de Ciencias UNAM

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

Apartado A (3 puntos):

Ing. Yim Isaias Apestegui Florentino

Gestión de Transacciones: Concurrencia y Recuperación

Guía del Curso Curso de Bases de Datos Relacionales

Definición. Tema 1: Introducción

FUNDAMENTOS DE BASE DE DATOS. Introducción

Cliente- Servidor. Bases de Datos Distribuidas

FUNDAMENTOS DE BASES DE DATOS TEMA 3

Sistema Gestor de Bases de Datos. Un SGBD debe permitir: Manipular la base de datos: realizar consultas, actualizarla, generar informes.

Técnico Especialista TIC en Bases de Datos y Lenguajes Estructurales

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

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

Modelo Relacional I. Nos encontramos en la FASE 2: REGLAS DE TRANSFORMACIÓN del Modelo Entidad Relación (MER) al Modelo Relacional (MR).

[3.4] Las 12 reglas de Codd

[3.3] Restricciones. Unidad 3) Modelo Relacional Gestión de Bases de Datos, ciclo de ASIR

Introducción a las Bases de Datos

T07 Opciones de integridad referencial

Bases de Datos Relacionales y SQL: Una Introducción

Diseño Lógico Estándar. Diseño Lógico Tema 12

Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2

FUNDAMENTOS DE BASES DE DATOS TEMA 4. Metodología de desarrollo de Bases de Datos

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

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

GBD Diseño físico de DDBB

El Modelo Relacional de Bases de Datos

El ciclo de vida de un sistema de información

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Bases de datos. Diseño y gestión

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

Oracle Database 12c SQL and PLSQL Fundamentals

Actividad 1.2. Cuestionario sobre SGBD (2ª parte)

Esquema Lógico FOROFO. EQUIPO (nombre:cadena, ciudad:cadena, país:cadena) CP (nombre) CAj (ciudad, país) CIUDAD

Tema 4 DISEÑO LÓGICO: EL MODELO RELACIONAL

EXAMEN DE BASES DE DATOS 11/06/04 Esquema de trabajo

SGBD. Gestión y Modelación de Datos. María Constanza Pabón

Conceptos de Bases de Datos Relacionales Triggers

FUNDAMENTOS DE BASES DE DATOS TEMA 5

Modelo relacional. El modelo relacional

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.

TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Integridad en sistemas de bases de datos relacionales

INTEGRIDAD REFERENCIAL

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

Restricciones de Integridad

Integridad Referencial. Restricciones (constraints)

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

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de

Concepto. 1963, en un simposio celebrado en California, USA. Conjunto de información relacionada que se encuentra agrupada ó estructurada.

Resumen Tema 5: Proceso de transacciones

Tema 5: Conceptos de Diseño en Archivos y Bases de Datos. Ing. Elizabeth Guerrero

Sentencias complementarias + Disparadores

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Modelamiento y Diseño de Base de Datos

Transcripción:

BASES DE DATOS ACTIVAS INTRODUCCIÓN. RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO. TRANSACCIONES. BASES DE DATOS ACTIVAS. CONCEPTOS. GESTOR PASIVO VS. ACTIVO. VENTAJAS. APLICACIONES. REGLAS EN BASES DE DATOS RELACIONALES. LAS REGLAS DE CODD PARA SISTEMAS GESTORES DE BASES DE DATOS RELACIONALES. LIMITACIONES DEL MODELO RELACIONAL. BD RELACIONALES Y ACTIVAS 1

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 2

INTRODUCCIÓN EL MODELO DE DATOS RELACIONAL FUE INTRODUCIDO POR TED CODD, DE IBM, EN 1970. SE BASA EN LOS CONCEPTOS DE: RELACIÓN MATEMÁTICA. TEORÍA DE CONJUNTOS. LÓGICA DE PREDICADOS DE PRIMER ORDEN. BD RELACIONALES Y ACTIVAS 3

INTRODUCCIÓN DATO OPERATIVO: TODO ELEMENTO DE INFORMACIÓN QUE NECESITA UNA ORGANIZACIÓN PARA SU FUNCIONAMIENTO. INDEPENDENCIA FÍSICA: EL ALMACENAMIENTO FÍSICO DE LOS DATOS DEBE SER INDEPENDIENTE DEL DISEÑO LÓGICO DE LA BF A TODOS LOS NIVELES. INDEPENDENCIA LÓGICA: LA PERCEPCIÓN QUE CADA PROGRAMA TIENE DE LA ESTRUCTURA LÓGICA DE LA BD (VISTA DE USUARIO) DEBE PERMANECER INMUTABLE A NIVEL LÓGICO EN DICHA ESTRUCTURA. ENTIDADES: UNA ENTIDAD SE DEFINE COMO UN OBJETO QUE EXISTE Y QUE ES DISTINGUIBLE DE LOS DEMÁS: EJ.: UN EMPLEADO, UN LIBRO, UN DEPARTAMENTO. BD RELACIONALES Y ACTIVAS 4

INTRODUCCIÓN ATRIBUTOS: SON LAS PROPIEDADES QUE CARACTERIZAN UN CONJUNTO DE ENTIDADES. DEPENDENCIA EXISTENCIAL: SEAN A Y B DOS CONJUNTOS DE ENTIDADES. SE DICE QUE B DEPENDE EXISTENCIALMENTE DE A SI CUMPLE: T ϵ A X B / b ϵ B a ϵ A / (a, b) ϵ T. ES IMPOSIBLE IDENTIFICAR A b SIN IDENTIFICAR PREVIAMENTE A a. ASOCIACIONES O RELACIONES: UNA RELACIÓN ES UNA CONEXIÓN SEMÁNTICA ENTRE DOS O MÁS CONJUNTOS DE ENTIDADES. ESPECIALIZACIÓN: SE DIRÁ QUE EL CONJUNTO DE ENTIDADES A ES UNA ESPECIALIZACIÓN DEL CONJUNTO DE ENTIDADES B SI a ϵ A a ϵ B. EL CONJUNTO DE ENTIDADES A ESTÁ INCLUIDO EN EL CONJUNTO DE ENTIDADES B. BD RELACIONALES Y ACTIVAS 5

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 6

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 7

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 8

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 9

INTRODUCCIÓN BD RELACIONALES Y ACTIVAS 10

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO BD RELACIONALES Y ACTIVAS 11

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO SQL PERMITE INCORPORAR LA DEFINICIÓN DE RESTRICCIONES EN LA DEFINICIÓN DE LA TABLA: EL SISTEMA CONTROLARÁ LA INTEGRIDAD DE LOS DATOS QUE SE CARGUEN. LAS RESTRICCIONES PUEDEN SER. DE INTEGRIDAD DE ENTIDAD Y REFERENCIAL. ESPECÍFICAS. EJ.: RESTRICCIÓN DE CLAVE PRIMARIA PARA LA COLUMNA DNI DE LA TABLA ALUMNOS: CREATE TABLE alumnos ( ); DNI CHAR (8) PRIMARY KEY, nom_alum VARCHAR2 (35), fecha_nac DATE, direccion VARCHAR2 (30), provincia VARCHAR2 (20), beca VARCHAR2 (2) BD RELACIONALES Y ACTIVAS 12

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJ.: RESTRICCIONES DE INTEGRIDAD ASOCIADAS A LA TABLA PARA UN CONJUNTO DE COLUMNAS: CREATE TABLE matriculas ( ); cod_asig CHAR (4), cod_grup CHAR (4), tipo CHAR (1), DNI CHAR (8), convocatoria NUMBER, calificacion NUMBER, PRIMARY KEY (cod_asig, cod_grup, tipo, DNI, convocatoria) BD RELACIONALES Y ACTIVAS 13

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJ.: RESTRICCIÓN DE UNICIDAD DE LOS VALORES DE UNA COLUMNA: CREATE TABLE asignaturas ( ); cod_asig CHAR (4) PRIMARY KEY, nom_asig VARCHAR2 (30) UNIQUE, creditos NUMBER (4, 1), caracter CHAR (2), curso NUMBER BD RELACIONALES Y ACTIVAS 14

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJ.: RESTRICCIÓN DE VALORES NULOS: CREATE TABLE profesores ( NRP CHAR (8) PRIMARY KEY, nom_prof VARCHAR2 (35) NOT NULL, categoria CHAR (4), area VARCHAR2 (20), cod_dep CHAR (4) ); BD RELACIONALES Y ACTIVAS 15

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJ.: RESTRICCIÓN DE RANGO DE VALORES PERMITIDOS EN UNA COLUMNA: CREATE TABLE aulas ( ); cod_aula CHAR (4) PRIMARY KEY, capacidad NUMBER CHECK (capacidad BETWEEN 0 AND 150) BD RELACIONALES Y ACTIVAS 16

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJEMPLOS: DEFINICIÓN DE CLAVES EXTERNAS PARA RELACIONAR COLUMNAS DE DISTINTAS TABLAS (INTEGRIDAD REFERENCIAL): CREATE TABLE matriculas ( ); cod_asig CHAR (4), cod_grup CHAR (4), tipo CHAR (1), DNI CHAR (8) REFERENCES alumnos (DNI), convocatoria NUMBER, calificacion NUMBER, PRIMARY KEY (cod_asig, cod_grup, tipo, DNI, convocatoria), FOREING KEY (cod_asig, cod_grup, tipo) grupos (cod_asig, cod_grup, tipo) REFERENCES BD RELACIONALES Y ACTIVAS 17

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO CREATE TABLE grupos ( ); cod_asig CHAR (4), cod_grup CHAR (4), tipo CHAR (1) CHECK (Tipo IN ( T, P )), NRP CHAR (4), max_al INT CHECK (max_al BETWEEN 10 AND 150), PRIMARY KEY (cod_asig, cod_grup, tipo), FOREING KEY cod_asig REFERENCES asignaturas (cod_asig), FOREING KEY NRP REFERENCES profesores (NRP), BD RELACIONALES Y ACTIVAS 18

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO EJ.: DEFINICIÓN DE VALORES POR DEFECTO: CREATE TABLE matriculas ( ); cod_asig CHAR (4), cod_grup CHAR (4), tipo CHAR (1), DNI CHAR (8) REFERENCES alumnos (DNI), convocatoria NUMBER DEFAULT 1, calificacion NUMBER CONSTRAINT restric-rangocalif CHECK ((calificacion>=0) AND (calificacion <=10)), PRIMARY KEY (cod_asig, cod_grup, tipo, DNI, convocatoria), FOREING KEY (cod_asig, cod_grup, tipo) grupos (cod_asig, cod_grup, tipo) REFERENCES BD RELACIONALES Y ACTIVAS 19

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO BD RELACIONALES Y ACTIVAS 20

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO BD RELACIONALES Y ACTIVAS 21

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO BD RELACIONALES Y ACTIVAS 22

RESTRICCIONES DE INTEGRIDAD Y REGLAS DE NEGOCIO BD RELACIONALES Y ACTIVAS 23

TRANSACCIONES BD RELACIONALES Y ACTIVAS 24

TRANSACCIONES TRANSACCIÓN ES UN CONJUNTO DE OPERACIONES DE MANIPULACIÓN DE DATOS QUE DEBEN SER CONSIDERADAS COMO UNA UNIDAD.: ES UNA UNIDAD ATÓMICA DE TRABAJO QUE SE REALIZA POR COMPLETO O BIEN NO SE EFECTÚA EN ABSOLUTO. EL GESTOR DE RECUPERACIÓN DEL SGBD DEBE MANTENERSE AL TANTO DE LAS SIGUIENTES OPERACIONES: BEGIN_TRANSACTION (inicio_de_transacción): MARCA EL PRINCIPIO DE LA EJECUCIÓN DE LA TRANSACCIÓN. READ (leer) o WRITE (escribir): ESPECIFICAN OPERACIONES DE LECTURA O ESCRITURA DE ELEMENTOS DE LA BD QUE SE EJECUTAN COMO PARTE DE LA TRANSACCIÓN. BD RELACIONALES Y ACTIVAS 25

TRANSACCIONES END_TRANSACTION (fin_de_transacción): ESPECIFICA QUE LAS OPERACIONES DE LEER O ESCRIBIR DE LA TRANSACCIÓN HAN TERMINADO Y MARCA EL FIN DE LA EJECUCIÓN DE LA TRANSACCIÓN. PUEDE SER NECESARIO VERIFICAR: SI LOS CAMBIOS INTRODUCIDOS SE PUEDEN APLICAR PERMANENTEMENTE A LA BD (CONFIRMAR). SI LA TRANSACCIÓN PUEDE ABORTAR PORQUE VIOLA LA SERIABILIDAD O POR ALGUNA OTRA RAZÓN. COMMIT_TRANSACTION (confirmar_transacción):. SEÑALA QUE: LA TRANSACCIÓN TERMINÓ CON ÉXITO. LAS ACTUALIZACIONES EJECUTADAS SE PUEDEN CONFIRMAR SIN PELIGRO EN LA BD Y QUE NO SE DESHARÁN. BD RELACIONALES Y ACTIVAS 26

TRANSACCIONES ROLLBACK (restaurar) O ABORT (abortar): INDICAN QUE: LA TRANSACCIÓN TERMINÓ SIN ÉXITO. CUALQUIER CAMBIO O EFECTO QUE PUEDA HABERSE APLICADO A LA BD SE DEBE DESHACER. BD RELACIONALES Y ACTIVAS 27

TRANSACCIONES PROPIEDADES DESEABLES DE LAS TRANSACCIONES SON LAS PROPIEDADES ACID (INICIALES EN INGLÉS): ATOMICIDAD: UNA TRANSACCIÓN ES UNA UNIDAD ATÓMICA (INDIVISIBLE) DE PROCESAMIENTO. CONSERVACIÓN DE LA CONSISTENCIA: SE CONSERVA LA CONSISTENCIA SI LA EJECUCIÓN COMPLETA DE LA TRANSACCIÓN LLEVA LA BD DE UN ESTADO CONSISTENTE A OTRO TAMBIÉN CONSISTENTE. AISLAMIENTO: LA EJECUCIÓN DE UNA TRANSACCIÓN NO DEBERÍA INTERFERIR CON OTRAS TRANSACCIONES QUE SE EJECUTEN CONCURRENTEMENTE. DURABILIDAD O PERMANENCIA: LOS CAMBIOS APLICADOS A LA BD POR UNA TRANSACCIÓN CONFIRMADA DEBEN PERDURAR EN LA BD. BD RELACIONALES Y ACTIVAS 28

TRANSACCIONES BD RELACIONALES Y ACTIVAS 29

BASES DE DATOS ACTIVAS CONCEPTOS BD RELACIONALES Y ACTIVAS 30

BASES DE DATOS ACTIVAS CONCEPTOS LAS BD CONVENCIONALES SE CONSIDERAN MUERTAS O PASIVAS: NO PUEDEN MANEJAR CIERTAS SITUACIONES. EJ.: ACTUALIZAR LAS RUTAS DE UN AUTOBÚS ESCOLAR CON CADA INCORPORACIÓN DE NUEVOS ALUMNOS A LA ESCUELA: SUPERVISAR CADA MATRÍCULA NUEVA. COMPROBAR PERIÓDICAMENTE LAS DIRECCIONES DE LOS ALUMNOS MATRICULADOS. SON NECESARIAS LAS BD ACTIVAS: INCORPORAN COMPORTAMIENTO ACTIVO: COMPORTAMIENTO ACTIVO = CUÁNDO + QUÉ. BD RELACIONALES Y ACTIVAS 31

BASES DE DATOS ACTIVAS CONCEPTOS EJ. DE COMPORTAMIENTO ACTIVO: GESTIÓN DE STOCKS: CUANDO ITEM < 10 ENTONCES SOLICITAR NUEVO ITEM AL PROVEEDOR. PRODUCTOS PERECEDEROS: CUANDO PRODUCTO.CADUCA - FECHA_ACTUAL < 7 ENTONCES REDUCIR EL PRECIO DEL PRODUCTO. GESTIÓN DE AUTOBUSES: CUANDO AUTOBÚS LLENO Y FALTE MÁS DE UNA SEMANA PARA EL VIAJE ENTONCES PONER AUTOBÚS ADICIONAL. BD RELACIONALES Y ACTIVAS 32

GESTOR PASIVO VS. ACTIVO VENTAJAS BD RELACIONALES Y ACTIVAS 33

GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN APLICACIONES QUE ACCEDEN A BD: BD RELACIONALES Y ACTIVAS 34

GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN UNA APLICACIÓN ESPECÍFICA: BD RELACIONALES Y ACTIVAS 35

GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN LA PROPIA BD ACTIVA: BD RELACIONALES Y ACTIVAS 36

GESTOR PASIVO VS. ACTIVO VENTAJAS MANIFIESTO DE LAS BASES DE DATOS ACTIVAS (1996): CARACTERÍSTICAS DE UN SGBD ACTIVO: TIENE UN MODELO DE REGLAS ECA. SOPORTA LA GESTIÓN DE REGLAS Y LA EVOLUCIÓN DE LA BASE DE DATOS. CARACTERÍSTICAS DE EJECUCIÓN DE REGLAS ECA: EL SGBD TIENE UN MODELO DE EJECUCIÓN. OFRECE DIFERENTES MODELOS DE ACOPLAMIENTO. IMPLEMENTA MODOS DE CONSUMO. GESTIONA LA HISTORIA DE EVENTOS. IMPLEMENTA LA RESOLUCIÓN DE CONFLICTOS. CARACTERÍSTICAS DE APLICACIÓN Y USABILIDAD: POSEE UN ENTORNO DE PROGRAMACIÓN. ES AJUSTABLE. BD RELACIONALES Y ACTIVAS 37

GESTOR PASIVO VS. ACTIVO VENTAJAS BD RELACIONALES Y ACTIVAS 38

GESTOR PASIVO VS. ACTIVO VENTAJAS MODELO DE CONOCIMIENTO: DESCRIBE LA SITUACIÓN Y LA REACCIÓN CORRESPONDIENTE (REGLAS ECA). MODELO DE EJECUCIÓN: REALIZA UN SEGUIMIENTO DE LA SITUACIÓN Y GESTIONA EL COMPORTAMIENTO ACTIVO (CÓMO SE COMPORTAN LAS REGLAS EN TIEMPO DE EJECUCIÓN). BD RELACIONALES Y ACTIVAS 39

GESTOR PASIVO VS. ACTIVO VENTAJAS SQL Y LAS BD ACTIVAS CONSTRAINTS: ESPECIFICACIONES DEL DDL QUE SE APLICAN A COLUMNAS O TABLAS. CONVIENE DARLES NOMBRE. PUEDEN USAR UNIQUE, NOT NULL, REFERENCES, CHECK. ASERCIONES (ASSERTIONS): RESTRICCIÓN QUE NO TIENE POR QUÉ ESTAR ASOCIADA A UNA ÚNICA TABLA. TRIGGERS (DISPARADORES): ASERCIONES CON ACCIONES ASOCIADAS. BD RELACIONALES Y ACTIVAS 40

GESTOR PASIVO VS. ACTIVO VENTAJAS VENTAJAS: MAYOR PRODUCTIVIDAD. MEJOR MANTENIMIENTO. REUTILIZACIÓN DE CÓDIGO. REDUCCIÓN DEL TRÁFICO DE MENSAJES. BD RELACIONALES Y ACTIVAS 41

APLICACIONES DE LOS SGBD ACTIVOS BD RELACIONALES Y ACTIVAS 42

APLICACIONES DE LOS SGBD ACTIVOS INTERNAS: CLÁSICAS DE LA UTILIZACIÓN O ADMINISTRACIÓN DE BD. CONTROL DE INTEGRIDAD (ON UPDATE CASCADE). MANTENIMIENTO DE DATOS DERIVADOS (VISTAS). ADMINISTRACIÓN DE COPIAS (MONITORIZAR Y REGISTRAR CAMBIOS). SEGURIDAD Y AUDITORÍA. GESTIÓN DE VERSIONES. EXTERNAS: REGLAS DE NEGOCIO (EJ.: RUTAS DE AUTOBÚS). BD RELACIONALES Y ACTIVAS 43

APLICACIONES DE LOS SGBD ACTIVOS NOTIFICACIÓN CUANDO OCURREN CIERTAS CONDICIONES. REFORZAR LAS RESTRICCIONES DE INTEGRIDAD: LOS DISPARADORES SON MÁS INTELIGENTES Y MÁS POTENTES QUE LAS RESTRICCIONES. MANTENIMIENTO DE DATOS DERIVADOS: ACTUALIZACIÓN AUTOMÁTICA DE DATOS DERIVADOS EVITANDO ANOMALÍAS DEBIDAS A LA REDUNDANCIA: EJEMPLO: UN DISPARADOR ACTUALIZA EL SALDO TOTAL DE UN CUENTA BANCARIA CADA VEZ QUE SE INSERTA, ELIMINA O MODIFICA UN MOVIMIENTO EN DICHA CUENTA. BD RELACIONALES Y ACTIVAS 44

APLICACIONES DE LOS SGBD ACTIVOS MODELO DEL CONOCIMIENTO: DEFINIR QUÉ Y CUÁNDO. REGLAS ECA EVENTO CONDICIÓN ACCIÓN: EVENTO: QUÉ DISPARA LA ACCIÓN. CONDICIÓN: ESTADO QUE DEBE DARSE. ACCIÓN: QUÉ SE HACE. BD RELACIONALES Y ACTIVAS 45

APLICACIONES DE LOS SGBD ACTIVOS EVENTO FUENTE: QUÉ OCASIONA LA OCURRENCIA DE UN EVENTO?: UNA INSTRUCCIÓN DEL LMD (ANTES O DESPUÉS): INSERT, DELETE, UPDATE, 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 MAYO A LAS 19:30H. LA APLICACIÓN (EXTERNO A LA BD). BD RELACIONALES Y ACTIVAS 46

APLICACIONES DE LOS SGBD ACTIVOS 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): 0..N TUPLAS : 1 EVENTO. BD RELACIONALES Y ACTIVAS 47

APLICACIONES DE LOS SGBD ACTIVOS CONDICIÓN Y ACCIÓN CONDICIÓN: UN PREDICADO SOBRE LA BD: CONSULTA. PUEDE SER OPCIONAL (SI NO SE INCLUYE SE CONSIDERA QUE LA CONDICIÓN ES SIEMPRE CIERTA). ACCIÓN: QUÉ SE PUEDE INCLUIR EN LA REACCIÓN?. OPERACIÓN EN LA BD (ÓRDENES DE SQL, INSERT, DELETE, ). COMANDOS DE SQL EXTENDIDO (EJ.: PL/SQL). LLAMADAS EXTERNAS (ENVÍO DE MENSAJES). ABORTAR LA TRANSACCIÓN. HACER EN LUGAR DE (INSTEAD-OF). BD RELACIONALES Y ACTIVAS 48

APLICACIONES DE LOS SGBD ACTIVOS EJEMPLO: BD RELACIONALES Y ACTIVAS 49

APLICACIONES DE LOS SGBD ACTIVOS MODELO DE EJECUCIÓN: BD RELACIONALES Y ACTIVAS 50

APLICACIONES DE LOS SGBD ACTIVOS EJECUCIÓN EN GENERAL, LA FORMA EN QUE SE EJECUTAN DICHAS FASES DEPENDE DE DOS MODOS DE ACOPLAMIENTO: EVENTO VS CONDICIÓN. CONDICIÓN VS ACCIÓN. BD RELACIONALES Y ACTIVAS 51

APLICACIONES DE LOS SGBD ACTIVOS PARA AMBOS MODOS LAS OPCIONES SON: INMEDIATO (INMEDIATE): LA CONDICIÓN SE EVALÚA INMEDIATAMENTE DESPUÉS DEL EVENTO. LA ACCIÓN SE EJECUTA INMEDIATAMENTE DESPUÉS DE LA CONDICIÓN. DIFERIDO (DEFERRED): LA CONDICIÓN SE EVALÚA AL FINAL DE LA TRANSACCIÓN. LA ACCIÓN SE EJECUTA AL FINAL DE LA TRANSACCIÓN. DESPRENDIDO (DETACHED): LA CONDICIÓN SE EVALÚA EN UNA TRANSACCIÓN DIFERENTE. LA ACCIÓN SE EJECUTA EN UNA TRANSACCIÓN DIFERENTE. BD RELACIONALES Y ACTIVAS 52

APLICACIONES DE LOS SGBD ACTIVOS EJEMPLO: BD RELACIONALES Y ACTIVAS 53

APLICACIONES DE LOS SGBD ACTIVOS EJEMPLO: BD RELACIONALES Y ACTIVAS 54

APLICACIONES DE LOS SGBD ACTIVOS EJEMPLO: BD RELACIONALES Y ACTIVAS 55

REGLAS EN BD RELACIONALES BD RELACIONALES Y ACTIVAS 56

REGLAS EN BD RELACIONALES DISPARADOR (TRIGGER) ESTÁ ASOCIADO A UNA ÚNICA TABLA BASE. ES EL CONCEPTO CLAVE PARA IMPLEMENTAR BD ACTIVAS. TIENE TRES PARTES: UN EVENTO: INDICA LA ACCIÓN SOBRE LA TABLA BASE QUE CAUSARÁ QUE SE ACTIVE EL DISPARADOR: INSERT, DELETE, O UPDATE. UN TIEMPO DE ACCIÓN: INDICA CUÁNDO SE ACTIVARÁ EL DISPARO: BEFORE => ANTES DEL EVENTO. AFTER => DESPUÉS DEL EVENTO. UNA ACCIÓN: SE LLEVAN A CABO SI OCURRE EL EVENTO. PUEDE SER DE DOS TIPOS: UNA SENTENCIA SQL EJECUTABLE (SQL EXECUTABLE STATEMENT). UN BLOQUE ATÓMICO DE SENTENCIAS SQL EJECUTABLES. BD RELACIONALES Y ACTIVAS 57

REGLAS EN BD RELACIONALES EJEMPLO EN SQL 2003: GRANULARIDAD DE FILA: BD RELACIONALES Y ACTIVAS 58

REGLAS EN BD RELACIONALES EJEMPLO EN SQL 2003: GRANULARIDAD DE SENTENCIA (TABLA): BD RELACIONALES Y ACTIVAS 59

LAS REGLAS DE CODD PARA SGBD RELACIONALES BD RELACIONALES Y ACTIVAS 60

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 0: REGLA BÁSICA CUALQUIER SISTEMA QUE SE ANUNCIE COMO SISTEMA GESTOR DE BD RELACIONALES, SGBDR, DEBE SER CAPAZ DE GESTIONAR POR COMPLETO LAS BD UTILIZANDO SUS CAPACIDADES RELACIONALES. UN SGBDR NO DEBE RECURRIR A OPERACIONES NO RELACIONALES PARA COMPLETAR SUS CAPACIDADES DE GESTIÓN DE DATOS. BD RELACIONALES Y ACTIVAS 61

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 1: REPRESENTACIÓN DE LA INFORMACIÓN TODA INFORMACIÓN ALMACENADA EN UNA BD RELACIONAL DEBE SER REPRESENTADA DE FORMA EXPLÍCITA Y ÚNICA A NIVEL LÓGICO, POR MEDIO DE VALORES EN TABLAS. TODA LA INFORMACIÓN DE LAS BD DEBE ESTAR ALMACENADA EN FORMA DE RELACIONES: SE REFIERE AL NIVEL LÓGICO. LA INFORMACIÓN NECESARIA PARA EL FUNCIONAMIENTO DE LA BD SE REPRESENTA MEDIANTE TABLAS: CONSTITUYE EL CATÁLOGO DEL SISTEMA. BD RELACIONALES Y ACTIVAS 62

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 2: ACCESO GARANTIZADO TODO DATO (VALOR ATÓMICO) DEBE SER ACCESIBLE MEDIANTE LA COMBINACIÓN DE UN NOMBRE DE TABLA, UN VALOR DE SU CLAVE Y EL NOMBRE DE UNA COLUMNA. LOS DATOS NO SE REFERENCIAN POR SU POSICIÓN FÍSICA. SE HACE ESPECIAL HINCAPIÉ EN LA IMPORTANCIA DE LAS CLAVES PRIMARIAS (O DE LAS CLAVES CANDIDATAS EN GENERAL). REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS SE OFRECE EL VALOR NULO PARA DAR SOPORTE A LA REPRESENTACIÓN DE INFORMACIÓN DESCONOCIDA O INAPLICABLE DE FORMA SISTEMÁTICA, INDEPENDIENTEMENTE DEL TIPO DE DATO. LOS VALORES NULOS REPRESENTAN EL DESCONOCIMIENTO DE UN VALOR. BD RELACIONALES Y ACTIVAS 63

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO RELACIONAL LA DESCRIPCIÓN DE LA BD SE DEBE REPRESENTAR EN EL NIVEL LÓGICO DE LA MISMA MANERA QUE LOS DATOS ORDINARIOS, DE FORMA QUE LOS USUARIOS AUTORIZADOS PUEDAN CONSULTARLA UTILIZANDO EL MISMO LENGUAJE RELACIONAL QUE USAN PARA ACCEDER A LOS DATOS NORMALES. UNA BD RELACIONAL DEBE SER AUTODESCRIPTIVA. EL MODELO DE DATOS PARA LOS METADATOS DEBE SER RELACIONAL. BD RELACIONALES Y ACTIVAS 64

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 5: SUBLENGUAJE DE DATOS COMPLETO EL SISTEMA RELACIONAL DEBE INCLUIR, AL MENOS, UN LENGUAJE QUE PERMITA EXPRESAR LOS SIGUIENTES ELEMENTOS: DEFINICIÓN DE DATOS, DEFINICIÓN DE VISTAS, MANIPULACIÓN DE DATOS (INTERACTIVA Y PROGRAMADA), RESTRICCIONES DE INTEGRIDAD, AUTORIZACIONES Y CONTROL DE TRANSACCIONES. EL LENGUAJE SQL APORTA TODAS ESTAS FUNCIONES. REGLA 6: ACTUALIZACIÓN DE VISTAS TODA VISTA TEÓRICAMENTE ACTUALIZABLE DEBE PODER ACTUALIZARSE EN EL SISTEMA. LAS VISTAS SE PRESENTAN AL USUARIO COMO TABLAS VIRTUALES. SE DEBE PODER ACTUALIZAR LAS VISTAS DE IGUAL MANERA QUE LAS TABLAS. BD RELACIONALES Y ACTIVAS 65

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 7: INSERCIÓN, MODIFICACIÓN Y ELIMINACIÓN DE ALTO NIVEL LA CAPACIDAD DE MANEJAR UNA RELACIÓN O UNA VISTA COMO OPERANDO ÚNICO DEBE EXISTIR, NO SÓLO AL RECUPERAR LA INFORMACIÓN, SINO TAMBIÉN EN LA INSERCIÓN, LA ACTUALIZACIÓN Y EL BORRADO DE DATOS. TODAS LAS OPERACIONES DE MANIPULACIÓN DE DATOS DEBEN OPERAR SOBRE CONJUNTOS DE FILAS. REGLA 8: INDEPENDENCIA FÍSICA DE LOS DATOS LOS PROGRAMAS DE APLICACIÓN Y LAS ACTIVIDADES TERMINALES DE LA BD DEBEN MANTENERSE INALTERADOS DESDE EL PUNTO DE VISTA LÓGICO, SEAN CUALES SEAN LOS CAMBIOS QUE SE INTRODUZCAN EN LOS MECANISMOS DE ALMACENAMIENTO Y ACCESO DE LA BD. EL ACCESO LÓGICO A LOS DATOS DEBE MANTENERSE INCLUSO CUANDO CAMBIEN LOS MÉTODOS DE ACCESO O LA FORMA DE ALMACENAMIENTO. BD RELACIONALES Y ACTIVAS 66

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 9: INDEPENDENCIA LÓGICA DE LOS DATOS LOS PROGRAMAS DE APLICACIÓN Y LAS ACTIVIDADES TERMINALES DE LA BD NO DEBEN VERSE AFECTADAS POR AQUELLOS CAMBIOS QUE PRESERVEN LA INFORMACIÓN Y QUE, DESDE EL PUNTO DE VISTA TEÓRICO, ESTÉN PERMITIDOS. NO HABRÁ QUE MODIFICAR LOS PROGRAMAS DE APLICACIÓN AUNQUE SE REALICEN CAMBIOS SOBRE LAS TABLAS, SIEMPRE QUE ESOS CAMBIOS MANTENGAN LA INFORMACIÓN QUE EN ELLAS HUBIESE. REGLA 10: INDEPENDENCIA DE LA INTEGRIDAD LAS REGLAS DE INTEGRIDAD DE UNA BD DETERMINADA DEBEN SER DEFINIBLES POR MEDIO DEL SUBLENGUAJE DE DATOS RELACIONAL Y HAN DE ALMACENARSE EN EL CATÁLOGO DE LA BD, NO EN LOS PROGRAMAS DE APLICACIÓN. LAS RESTRICCIONES DE INTEGRIDAD DEBEN FORMAR PARTE DEL CATÁLOGO. BD RELACIONALES Y ACTIVAS 67

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 11: INDEPENDENCIA DE LA DISTRIBUCIÓN DEBE EXISTIR UN SUBLENGUAJE DE DATOS QUE PUEDA SOPORTAR BD DISTRIBUIDAS SIN QUE HAYA QUE ALTERAR LOS PROGRAMAS DE APLICACIÓN CUANDO SE DISTRIBUYEN LOS DATOS POR PRIMERA VEZ O SE REDISTRIBUYEN ESTOS CON POSTERIORIDAD. SE DEBE PRESENTAR LOS DATOS AL USUARIO FINAL COMO SI ESTOS ESTUVIERAN CENTRALIZADOS EN UNA MÁQUINA. SI EL SISTEMA PUEDE TRABAJAR CON BD DISTRIBUIDAS EL LENGUAJE DE MANIPULACIÓN DE DATOS NO DEBE VERSE AFECTADO POR ELLO. BD RELACIONALES Y ACTIVAS 68

LAS REGLAS DE CODD PARA SGBD RELACIONALES REGLA 12: REGLA DE LA NO SUBVERSIÓN SI UN SGBD SOPORTA UN LENGUAJE DE BAJO NIVEL QUE PERMITE EL ACCESO FILA A FILA, ÉSTE NO PUEDE UTILIZARSE PARA SALTARSE LAS REGLAS DE INTEGRIDAD Y LAS RESTRICCIONES EXPRESADAS POR MEDIO DEL LENGUAJE DE MÁS ALTO NIVEL. EL SGBD DEBE CONTROLAR TODOS LOS ACCESOS A LA BD PARA QUE NO SE PUEDA COMPROMETER LA INTEGRIDAD DE LA MISMA. BD RELACIONALES Y ACTIVAS 69

LAS REGLAS DE CODD PARA SGBD RELACIONALES CLASIFICACIÓN DE LAS DOCE REGLAS DE CODD: BD RELACIONALES Y ACTIVAS 70

LIMITACIONES DEL MODELO RELACIONAL BD RELACIONALES Y ACTIVAS 71

LIMITACIONES DEL MODELO RELACIONAL EL MODELO RELACIONAL TIENE DIFICULTADES EN APLICACIONES QUE MANEJAN GRAN VARIEDAD DE TIPOS DE DATOS DE CIERTA COMPLEJIDAD, POR EJ.: TEXTOS EN APLICACIONES DE GENERACIÓN DE PUBLICACIONES. IMÁGENES EN APLICACIONES QUE ANALIZAN INFORMACIÓN VISUAL (EJ.: PREDICCIONES METEOROLÓGICAS). DATOS COMPLEJOS NO CONVENCIONALES EN APLICACIONES DE DISEÑO (EJ.: CAD/CAM). INFORMACIÓN MULTIMEDIA EN GENERAL. BD RELACIONALES Y ACTIVAS 72

LIMITACIONES DEL MODELO RELACIONAL ALGUNAS DE LAS LIMITACIONES DEL MODELO RELACIONAL SON: OBJETOS COMPLETOS: POBRE FORMA DE REPRESENTACIÓN DE OBJETOS COMPLEJOS DEBIDO A: PRIMERA FORMA NORMAL USO EXCLUSIVO DE VALORES ATÓMICOS EN LOS ATRIBUTOS DE LAS RELACIONES. FALTA DE RELACIONES ANIDADAS. ESTRUCTURACIÓN: NO OFRECE UN SOPORTE ADECUADO CUANDO EN EL ESQUEMA APARECEN: ESTRUCTURAS RECURSIVAS O ANIDADAS. COLECCIONES DE DATOS QUE CORRESPONDIENDO AL MISMO TIPO DE ENTIDAD TIENEN UN TIPO SIMILAR PERO NO IDÉNTICO. DATOS ALTAMENTE RELACIONADOS: LA DESCOMPOSICIÓN EN MÚLTIPLES TABLAS COMPLICA SU RECUPERACIÓN Y LA ENLENTECE. BD RELACIONALES Y ACTIVAS 73

LIMITACIONES DEL MODELO RELACIONAL CREACIÓN DE TIPOS: LA CAPACIDAD DE CREACIÓN DE TIPOS DE DATOS ESTÁ MUY LIMITADA: LA GESTIÓN DE OBJETOS MULTIMEDIA ES MUY PRIMITIVA (EJ.: OBJETOS GRANDES EN BINARIO: BLOB). EL SOPORTE PARA INFORMACIÓN SEMI-ESTRUCTURADA ES DEFICIENTE (EJ.: TEXTO O PÁGINAS WEB). EL USUARIO NO PUEDE DEFINIR SUS PROPIOS TIPOS DE DATOS. NO SE PUEDEN CONSTRUIR TIPOS ABSTRACTOS DE DATOS. ABSTRACCIÓN: EXISTE UN GRAN SALTO CONCEPTUAL ENTRE EL MODELO DE DATOS DE LA BD Y LA GESTIÓN DE DATOS EN LOS PROGRAMAS DE APLICACIÓN. REUTILIZACIÓN: AUSENCIA DE MECANISMOS DE REUTILIZACIÓN. BD RELACIONALES Y ACTIVAS 74

LIMITACIONES DEL MODELO RELACIONAL COMO ALTERNATIVAS AL MODELO RELACIONAL Y PARA SUPERAR SUS LIMITACIONES SE HAN DESARROLLADO OTROS MODELOS: GESTORES DE BD ORIENTADOS A OBJETOS. GESTORES DE BD OBJETO-RELACIONALES. BD RELACIONALES Y ACTIVAS 75