BASES DE DATOS RELACIONALES Y ACTIVAS INTRODUCCIÓN. CONCEPTOS INICIALES. DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL. NIVELES DE ABSTRACCIÓN. SISTEMAS ADMINISTRADORES DE BASES DE DATOS (DBMS). RAZONES PARA SU UTILIZACIÓN.. EL ESTÁNDAR SQL. RESTRICCIONES DE INTEGRIDAD Y. TRANSACCIONES. APLICACIONES DE USUARIO. BASES DE DATOS RELACIONALES Y ACTIVAS BASES DE DATOS ACTIVAS. CONCEPTOS. GESTOR PASIVO VS. ACTIVO. VENTAJAS. APLICACIONES. ANÁLISIS Y DISEÑO DE 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 BD RELACIONALES Y ACTIVAS 2 INTRODUCCIÓN INTRODUCCIÓN EL 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 BD RELACIONALES Y ACTIVAS 4 INTRODUCCIÓN CONCEPTOS INICIALES BD RELACIONALES Y ACTIVAS 5 BD RELACIONALES Y ACTIVAS 6
CONCEPTOS INICIALES 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 7 CONCEPTOS INICIALES 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: TA X B /bb 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 8 DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL DE 1950 A 1960 SE DESARROLLARON LAS CINTAS MAGNÉTICAS PARA EL ALMACENAMIENTO DE DATOS: LECTURA SECUENCIAL. EN LA DÉCADA DE LOS 70 APARECIERON LOS DISCOS MAGNÉTICOS: ACCESO DIRECTO A LOS DATOS. BD JERÁRQUICAS Y EN RED (LISTAS Y ÁRBOLES). TRATAMIENTO DE LA INFORMACIÓN: REQUERÍA CONOCER DETALLES DE IMPLEMENTACIÓN (BAJO NIVEL). CODIFICACIÓN DE CONSULTAS DE FORMA PROCEDIMENTAL. CODD (IBM) DEFINIÓ EL MODELO RELACIONAL (1970). BD RELACIONALES Y ACTIVAS 9 BD RELACIONALES Y ACTIVAS 10 DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL HASTA 1980 NO APARECIERON GESTORES RELACIONALES COMERCIALES (ORACLE, IBM DB2, INGRES, ETC.) CON: BUEN RENDIMIENTO. INDEPENDENCIA FÍSICA Y LÓGICA. ESTUDIOS ACERCA DE BD DISTRIBUIDAS Y PARALELAS. INICIO EN BD ORIENTADAS A OBJETOS. EN LA DÉCADA DE 1990: BD RELACIONALES ORIENTADAS A OBJETOS. BD DIMENSIONALES Y OLAP. XML. MINERÍA DE DATOS. DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL BD RELACIONALES Y ACTIVAS 11 BD RELACIONALES Y ACTIVAS 12
DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL BD RELACIONALES Y ACTIVAS 13 BD RELACIONALES Y ACTIVAS 14 DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL DE LOS SISTEMAS DE ARCHIVOS AL MODELO RELACIONAL BD RELACIONALES Y ACTIVAS 15 BD RELACIONALES Y ACTIVAS 16 NIVELES DE ABSTRACCIÓN NIVELES DE ABSTRACCIÓN LA FINALIDAD DE TRABAJAR CON TÉCNICAS DE BD ES APROVECHAR UNA VISIÓN ABSTRACTA DE LOS DATOS QUE FACILITE EL DESARROLLO Y USO DE APLICACIONES. BD RELACIONALES Y ACTIVAS 17 BD RELACIONALES Y ACTIVAS 18
DBMS. RAZONES DE SU UTILIZACIÓN DBMS. RAZONES DE SU UTILIZACIÓN FLEXIBILIDAD DE ADAPTACIÓN A CADA PROBLEMA. OPTIMIZACIÓN EN LA GESTIÓN DE LA INFORMACIÓN. INDEPENDENCIA FÍSICA Y LÓGICA DE LOS DATOS. CONTROL DE LA INTEGRIDAD DE LOS DATOS. GARANTÍA SOBRE LA CONSISTENCIA DE LA INFORMACIÓN. FACILIDAD DE ACCESO CONCURRENTE. PROTECCIÓN ANTE FALLOS DEL SISTEMA. SEGURIDAD ANTE ACCESOS RESTRINGIDOS. BD RELACIONALES Y ACTIVAS 19 BD RELACIONALES Y ACTIVAS 20 BD RELACIONALES Y ACTIVAS 21 BASE DE DATOS RELACIONAL (BDR) = CONJUNTO DE RELACIONES: RELACIÓN O TABLA (RELATION, TABLE): LISTA DE VALORES CON UN NOMBRE, DONDE CADA VALOR ES UNA FILA (REGISTRO), COMPUESTO POR 1 O MÁS COLUMNAS (CAMPOS): FILA O TUPLA (ROW, TUPLE): HECHO QUE CORRESPONDE A UNA ENTIDAD O RELACIÓN EN EL MUNDO REAL. SIN REPETICIONES. COLUMNA O ATRIBUTO (COLUMN, ATTRIBUTE): VALOR RELACIONADO CON ESE HECHO, SOBRE UN ASPECTO PARTICULAR: TODOS LOS VALORES DE UNA COLUMNA SON DEL MISMO TIPO O DOMINIO. LOS VALORES (Y EL DOMINIO) DEBEN SER ATÓMICOS O INDIVISIBLES (COMO INFORMACIÓN). EJEMPLOS: NÚMEROS NATURALES, REALES, CADENAS DE CARACTERES... FORMATO: FORMA DE REPRESENTAR UN DATO. EJ: TLFNO: +54 999-99-99-99. UNA FECHA TAMBIÉN PUEDE REPRESENTARSE DE MUCHAS FORMAS. BD RELACIONALES Y ACTIVAS 22 BD RELACIONALES Y ACTIVAS 23 BD RELACIONALES Y ACTIVAS 24
INTENSIÓN Y EXTENSIÓN EN UNA BDR: CARACTERÍSTICAS DE LAS RELACIONES: BD RELACIONALES Y ACTIVAS 25 BD RELACIONALES Y ACTIVAS 26 NOTACIÓN DEL MODELO RELACIONAL: RESTRICCIONES RELACIONALES: BD RELACIONALES Y ACTIVAS 27 BD RELACIONALES Y ACTIVAS 28 BD RELACIONALES: BD RELACIONALES: BD RELACIONALES Y ACTIVAS 29 BD RELACIONALES Y ACTIVAS 30
INSERTAR EN LA BD: RESTRICCIONES: BORRAR DE LA BD: RESTRICCIONES: BD RELACIONALES Y ACTIVAS 31 BD RELACIONALES Y ACTIVAS 32 ACTUALIZAR EN LA BD: RESTRICCIONES: CONSULTAS: ÁLGEBRA RELACIONAL: BD RELACIONALES Y ACTIVAS 33 BD RELACIONALES Y ACTIVAS 34 OPERACIÓN DE SELECCIÓN: PROYECCIÓN Y RENOMBRADO: BD RELACIONALES Y ACTIVAS 35 BD RELACIONALES Y ACTIVAS 36
OPERACIONES DE CONJUNTOS: REUNIÓN: BD RELACIONALES Y ACTIVAS 37 BD RELACIONALES Y ACTIVAS 38 DIVISIÓN: EJEMPLOS: BD RELACIONALES Y ACTIVAS 39 BD RELACIONALES Y ACTIVAS 40 OPERACIONES PRIMITIVAS (BÁSICAS): REUNIÓN EXTERNA (OUTER JOIN): BD RELACIONALES Y ACTIVAS 41 BD RELACIONALES Y ACTIVAS 42
CÁLCULO RELACIONAL (INTRODUCCIÓN): BD RELACIONALES Y ACTIVAS 43 TIPOS DE DATOS: CADENA DE CARACTERES (CHARACTER STRING): CADA CARÁCTER REQUIERE UN BYTE PARA SU ALMACENAMIENTO. NUMÉRICO (NUMERIC): ENTEROS CORTOS (OCUPAN 2 BYTES). ENTEROS LARGOS (OCUPAN 4 BYTES). DECIMALES: DEFINIDOS POR SU PRECISIÓN Y ESCALA. NOTACIÓN CIENTÍFICA: SIMPLE PRECISIÓN (OCUPAN 4 BYTES). NOTACIÓN CIENTÍFICA: DOBLE PRECISIÓN (OCUPAN 8 BYTES). FECHA Y HORA (DATETIME): DEFERENTES OPCIONES SEGÚN NIVEL DE PRECISIÓN. OBJETO GRANDE (LARGE OBJECT): BINARY LARGE OBJECT. CHARACTER LARGE OBJECT. OTROS. BD RELACIONALES Y ACTIVAS 44 ÍNDICES: EL PROBLEMA DEL DISEÑO: BD RELACIONALES Y ACTIVAS 45 BD RELACIONALES Y ACTIVAS 46 EL PROBLEMA DEL DISEÑO: EL PROBLEMA DEL DISEÑO: BD RELACIONALES Y ACTIVAS 47 BD RELACIONALES Y ACTIVAS 48
EL PROBLEMA DEL DISEÑO: SISTEMAS DISTRIBUIDOS: LOS SISTEMAS CENTRALIZADOS REALIZAN TODAS SUS OPERACIONES EN UN ÚNICO SISTEMA INFORMÁTICO. LA DISTRIBUCIÓN ENTRE VARIAS SEDES PERMITE QUE LOS DATOS RESIDAN DONDE SE HAN GENERADO O DONDE SON MÁS NECESARIOS. EN EL SISTEMA CENTRALIZADO LOS DATOS TIENEN UNA SOLA UBICACIÓN Y EN EL DISTRIBUIDO RESIDEN EN VARIOS EMPLAZAMIENTOS. EN EL CASO DISTRIBUIDO EL USUARIO PERCIBE LOS DATOS COMO SI ESTUVIESEN EN UN SOLO ORDENADOR. CUANDO LA DISTRIBUCIÓN ES A NIVEL DE TABLA, EL PROBLEMA DEL DISEÑO NO HA TERMINADO. BD RELACIONALES Y ACTIVAS 49 BD RELACIONALES Y ACTIVAS 50 EL ESTÁNDAR SQL PARA DISTRIBUIR LOS DATOS DE UNA TABLA ENTRE VARIAS SEDES HAY VARIAS OPCIONES: RÉPLICA: SE CONSERVAN VARIAS COPIAS IDÉNTICAS DE UNA MISMA TABLA EN DIFERENTES SEDES. FRAGMENTACIÓN: LA TABLA SE DIVIDE EN VARIOS FRAGMENTOS QUE SE GUARDAN EN EMPLAZAMIENTOS DIFERENTES: F. HORIZONTAL: SE DISTRIBUYEN FILAS. F. VERTICAL: SE DISTRIBUYEN COLUMNAS. F. MIXTA. RÉPLICA Y FRAGMENTACIÓN: LA TABLA SE DIVIDE EN VARIOS FRAGMENTOS: EL SISTEMA CONSERVA VARIAS RÉPLICAS DE ESTOS FRAGMENTOS EN DIFERENTES SEDES. BD RELACIONALES Y ACTIVAS 51 BD RELACIONALES Y ACTIVAS 52 EL ESTÁNDAR SQL SQL: STRUCTURED QUERY LANGUAJE. LENGUAJE DECLARATIVO DE ACCESO A LOS DATOS. ESTÁNDAR PARA LAS BD RELACIONALES. INCLUYE LA CAPACIDAD DE ACTUAR SOBRE: LA ESTRUCTURA DE LA BD. SUS PROPIOS DATOS. DESARROLLADO EN EL SAN JOSÉ RESEARCH CENTER (IBM). FUE UTILIZADO POR PRIMERA VEZ EN 1970. EN 1986: ANSI (AMERICAN NATIONAL STANDARDS INSTITUTE) E ISO (INTERNATIONAL STANDARDS ORGANIZATION) PUBLICARON LAS NORMAS SQL/ANSI Y SQL-86. EN 1989: SE INCORPORA LA INTEGRIDAD REFERENCIAL BÁSICA (NO ACTUALIZACIONES EN CASCADA). EL ESTÁNDAR SQL SQL-92 INCORPORA: NUEVOS OPERADORES RELACIONALES: OUTER JOIN Y JOIN. SQL DINÁMICO. EL PARÁMETRO SQLSTATE PARA GESTIÓN DE ERRORES. CURSORES DE DESPLAZAMIENTO (SCROLL CURSOR). MODO DE ACCESO (LECTURA O LECTURA/ESCRITURA) Y NIVEL DE AISLAMIENTO DE LAS TRANSACCIONES. DEFINIR DOMINIOS (CREATE DOMAIN). BD RELACIONALES Y ACTIVAS 53 BD RELACIONALES Y ACTIVAS 54
EL ESTÁNDAR SQL SQL-99 (PARTE DEL SQL3): SE UTILIZA ACTUALMENTE. NUEVOS TIPOS DE DATOS: LOB, BOOLEAN, ROW, ARRAY, DISTINCT. POSIBILIDAD DE DEFINIR NUEVOS TIPOS DE DATOS POR PARTE DEL USUARIO. DISPARADORES (TRIGGERS), VISTAS ACTUALIZABLES. CURSONES (PUNTEROS) SENSITIVOS. QUERIES RECURSIVOS. DEFINICIÓN DE ROLES DE USUARIO. INCORPORACION DE LAS CARACTERÍSTICAS DE ORIENTACIÓN A OBJETOS: TIPOS DE DATOS ABSTRACTOS, GENERALIZACIÓN, HERENCIA Y POLIMORFISMO. EL ESTÁNDAR SQL SQL-2003 : BD RELACIONALES Y ACTIVAS 55 BD RELACIONALES Y ACTIVAS 56 EL ESTÁNDAR SQL EL ESTÁNDAR SQL NUEVOS TIPOS DE DATOS: MULTISET, BIGINT. COLUMNAS CALCULADAS EN TABLAS (VALORES ESCALARES). GENERADORES DE SECUENCIA: IDENTITY EN COLUMNAS Y EN TABLAS. FUNCIONES QUE DEVUELVEN TABLAS. NUEVAS FUNCIONES ESCALARES, DE AGREGACIÓN, DE DISTRIBUCIÓN, VENTANA (RANK, ROW_NUMBER. ). MERGE: PERMITE LA COMBINACIÓN DE OPERADORES DE INSERCIÓN Y ACTUALIZACIÓN EN UNA SOLA INSTRUCCIÓN: BD RELACIONALES Y ACTIVAS 57 BD RELACIONALES Y ACTIVAS 58 RESTRICCIONES DE INTEGRIDAD Y BD RELACIONALES Y ACTIVAS 59 RESTRICCIONES DE INTEGRIDAD Y 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 60
RESTRICCIONES DE INTEGRIDAD Y 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) ); RESTRICCIONES DE INTEGRIDAD Y 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 61 BD RELACIONALES Y ACTIVAS 62 RESTRICCIONES DE INTEGRIDAD Y 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) ); RESTRICCIONES DE INTEGRIDAD Y 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 63 BD RELACIONALES Y ACTIVAS 64 RESTRICCIONES DE INTEGRIDAD Y 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) REFERENCES grupos (cod_asig, cod_grup, tipo) ); RESTRICCIONES DE INTEGRIDAD Y 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 65 BD RELACIONALES Y ACTIVAS 66
RESTRICCIONES DE INTEGRIDAD Y 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) REFERENCES grupos (cod_asig, cod_grup, tipo) ); RESTRICCIONES DE INTEGRIDAD Y BD RELACIONALES Y ACTIVAS 67 BD RELACIONALES Y ACTIVAS 68 RESTRICCIONES DE INTEGRIDAD Y RESTRICCIONES DE INTEGRIDAD Y BD RELACIONALES Y ACTIVAS 69 BD RELACIONALES Y ACTIVAS 70 RESTRICCIONES DE INTEGRIDAD Y TRANSACCIONES BD RELACIONALES Y ACTIVAS 71 BD RELACIONALES Y ACTIVAS 72
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. 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 73 BD RELACIONALES Y ACTIVAS 74 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 75 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 INTERFRIR 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 76 TRANSACCIONES APLICACIONES DE USUARIO BD RELACIONALES Y ACTIVAS 77 BD RELACIONALES Y ACTIVAS 78
APLICACIONES DE USUARIO APLICACIONES DE USUARIO BD RELACIONALES Y ACTIVAS 79 BD RELACIONALES Y ACTIVAS 80 APLICACIONES DE USUARIO APLICACIONES DE USUARIO BD RELACIONALES Y ACTIVAS 81 BD RELACIONALES Y ACTIVAS 82 APLICACIONES DE USUARIO APLICACIONES DE USUARIO BD RELACIONALES Y ACTIVAS 83 BD RELACIONALES Y ACTIVAS 84
BASES DE DATOS ACTIVAS CONCEPTOS 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 85 BD RELACIONALES Y ACTIVAS 86 BASES DE DATOS ACTIVAS CONCEPTOS GESTOR PASIVO VS. ACTIVO VENTAJAS 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 87 BD RELACIONALES Y ACTIVAS 88 GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN APLICACIONES QUE ACCEDEN A BD: GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN UNA APLICACIÓN ESPECÍFICA: BD RELACIONALES Y ACTIVAS 89 BD RELACIONALES Y ACTIVAS 90
GESTOR PASIVO VS. ACTIVO VENTAJAS COMPORTAMIENTO ACTIVO EN LA PROPIA BD ACTIVA: 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 91 BD RELACIONALES Y ACTIVAS 92 GESTOR PASIVO VS. ACTIVO VENTAJAS 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 93 BD RELACIONALES Y ACTIVAS 94 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. GESTOR PASIVO VS. ACTIVO VENTAJAS VENTAJAS: MAYOR PRODUCTIVIDAD. MEJOR MANTENIMIENTO. REUTILIZACIÓN DE CÓDIGO. REDUCCIÓN DEL TRÁFICO DE MENSAJES. 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 95 BD RELACIONALES Y ACTIVAS 96
APLICACIONES DE LOS SGBD APLICACIONES DE LOS SGBD 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: (EJ.: RUTAS DE AUTOBÚS). BD RELACIONALES Y ACTIVAS 97 BD RELACIONALES Y ACTIVAS 98 APLICACIONES DE LOS SGBD 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. APLICACIONES DE LOS SGBD MODELO DEL CONOCIMIENTO: DEFINIR QUÉ Y CUÁNDO. REGLAS ECAEVENTO 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 99 BD RELACIONALES Y ACTIVAS 100 APLICACIONES DE LOS SGBD 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). APLICACIONES DE LOS SGBD 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 101 BD RELACIONALES Y ACTIVAS 102
APLICACIONES DE LOS SGBD 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). APLICACIONES DE LOS SGBD EJEMPLO: BD RELACIONALES Y ACTIVAS 103 BD RELACIONALES Y ACTIVAS 104 APLICACIONES DE LOS SGBD MODELO DE EJECUCIÓN: APLICACIONES DE LOS SGBD 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 105 BD RELACIONALES Y ACTIVAS 106 APLICACIONES DE LOS SGBD 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. APLICACIONES DE LOS SGBD EJEMPLO: BD RELACIONALES Y ACTIVAS 107 BD RELACIONALES Y ACTIVAS 108
APLICACIONES DE LOS SGBD EJEMPLO: APLICACIONES DE LOS SGBD EJEMPLO: BD RELACIONALES Y ACTIVAS 109 BD RELACIONALES Y ACTIVAS 110 ANÁLISIS Y DISEÑO DE REGLAS EN BD RELACIONALES ANÁLISIS Y DISEÑO DE 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 111 BD RELACIONALES Y ACTIVAS 112 ANÁLISIS Y DISEÑO DE REGLAS EN BD RELACIONALES EJEMPLO EN SQL 2003: GRANULARIDAD DE FILA: ANÁLISIS Y DISEÑO DE REGLAS EN BD RELACIONALES EJEMPLO EN SQL 2003: GRANULARIDAD DE SENTENCIA (TABLA): BD RELACIONALES Y ACTIVAS 113 BD RELACIONALES Y ACTIVAS 114
LAS REGLAS DE CODD PARA SGBD RELACIONALES 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 115 BD RELACIONALES Y ACTIVAS 116 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. 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 117 BD RELACIONALES Y ACTIVAS 118 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. 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 119 BD RELACIONALES Y ACTIVAS 120
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 INITRODUZCAN 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 121 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 122 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. 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 123 BD RELACIONALES Y ACTIVAS 124 LAS REGLAS DE CODD PARA SGBD RELACIONALES CLASIFICACIÓN DE LAS DOCE REGLAS DE CODD: LIMITACIONES DEL MODELO RELACIONAL BD RELACIONALES Y ACTIVAS 125 BD RELACIONALES Y ACTIVAS 126
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. 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 127 BD RELACIONALES Y ACTIVAS 128 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 SU PROPIO 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. 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 129 BD RELACIONALES Y ACTIVAS 130