Download Bases de Datos Avanzadas - Web del Profesor
Document related concepts
no text concepts found
Transcript
Bases de Datos Avanzadas Clase introductoria 1 Agenda ¾Introducción ¾Objetivos ¾Principales conceptos ¾Tipos y subtipos ¾Lenguajes de definición y de manipulación ¾Conclusiones Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 2 Introducción 9 Un sistema de gestión de bases de datos (SGBD) es un software que permite insertar, modificar y recuperar eficazmente los datos específicos dentro de una gran masa de información compartida por muchos usuarios. 9 Un SGBD asegura la independencia de datos, lo que lo distingue claramente de un sistema manejador de archivos (SMA). 9 Una base de datos es un conjunto de datos gestionados por un SGBD y asociados a una misma aplicación. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 3 Introducción ¾ ¿Qué es una base de datos? organización abstracción BD SGBD ¾ ¿Por qué base de datos? Porque dicha tecnología permite el mantenimiento y el control de los datos. ¾ ¿Para qué base de datos? Para soportar eficientemente algunos sistemas de actividades de una organización ¾ Tipos: Jerárquica Redes Relacional (BDR) Orientadas por objetos (BDOO) Objeto-relacional (BDOR) Sep. 2003 Subtipos: Distribuida Paralela Multimedia Activas Deductivas Espacial Temporal Espacio temporal Semi-estructuradas ULAULA-Postgrado en Computación. I. Besembel 4 Objetivos 9 Independencia física: los cambios en la estructura lógica no implican cambios en la de almacenamiento, consideraciones sobre el mejor manejo de los datos quedan a cargo del SGBD y los cambios en la estructura de almacenamiento no implican cambios en los PA. 9 Independencia lógica: Cierta independencia entre los datos vistos por las aplicaciones y su estructura lógica en la realidad. Ventajas:soporte de la evolución de los datos donde cada grupo de trabajo ve esos datos como lo desea. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 5 Objetivos 9 Manipulación de los datos por personas no especializadas en computación 9 Eficacidad en el acceso a los datos 9 Administración centralizada de los datos 9 Redundancia de datos controlada 9 Coherencia de los datos 9 Posibilidad de compartir los datos 9 Seguridad de los datos 9 Habilidad para representar y manipular objetos complejos y compuestos Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 6 Objetivos 9 Posibilidad de almacenar y recuperar datos arbitrariamente grandes 9 Habilidad para definir y manipular cualquier tipo de dato 9 Posibilidad de representar y manejar los cambio en la base de datos a través del tiempo 9 Representación y manipulación de varios conceptos de modelado semántico, útiles en la aplicaciones 9 Posibilidad de especificar reglas y restricciones de integridad para soportar inferencia en las aplicaciones basadas en conocimiento 9 Habilidad para manejar transacciones cooperativas de larga duración Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 7 Conceptos básicos Niveles de descripción Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 8 Jerárquica ¾ Definido (1968) según: 9 Campo: unidad de datos con nombre. 9 Segmento: colección de campos consecutivos con nombre. Unidad de intercambio BD - PA. 9 Árbol de segmentos: colección de segmentos ligados por asociaciones 1:N (padre – hijos), formando una jerarquía, en el ámbito de tipos o de ocurrencias. 9 Base de datos jerárquica: BD compuesta de un bosque de segmentos (árboles de segmentos) cuyos nodos son los segmentos y las aristas las asociaciones 1:N Sep. 2003 DBD NAME = Publica SEGM NAME = Tema, BYTES = 44 FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1 FIELD NAME = NomTema, BYTES = 40, START = 5 SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96 FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1 FIELD NAME = Titulo, BYTES = 80, START = 17 SEGM NAME = Editorial, PARENT = Pub, BYTES = 40 FIELD NAME = (AñoPub, SEQ), BYTES = 4, START = 1 FIELD NAME = Editorial, BYTES = 34, START = 5 FIELD NAME = NroVolEditados, BYTES = 2, START = 39 SEGM NAME = Autor, PARENT = Pub, BYTES = 256 FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1 FIELD NAME = Direccion, BYTES = 236, START = 21 ULAULA-Postgrado en Computación. I. Besembel 9 Redes Definición (1971) según: ¾ Átomo o item de dato: unidad de datos con nombre. ¾ Agregado de datos: colección de átomos consecutivos con nombre. Tipos: vectores (arreglos unidimensionales) y grupos repetitivos. ¾ Registro: colección de agregados y de átomos consecutivos. Unidad de intercambio BD - PA. ¾ Conjunto: asociación entre 1 registro propietario y N registros miembros. ¾ Limitaciones: 9 un registro o tipo de registro no puede ser propietario y miembro en el mismo conjunto 9 una ocurrencia de un registro no pueda pertenecer a varias ocurrencias del mismo conjunto. Sep. 2003 ¾Base de datos en redes: BD compuesta de registros ligados o asociados entre ellos por los conjuntos. ¾Representación: grafo de tipos de registros cuyos nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del propietario hacia los miembros. ULAULA-Postgrado en Computación. I. Besembel 10 Relacional Propuesto por E. Codd en 1970 y comercialmente disponible 1979 ¾ Basado en la teoría de normalización de las relaciones ¾ Permite eliminar el comportamiento anormal de las relaciones, luego de actualizaciones, y el control de la redundancia de datos ¾ Dominio: conjunto de valores ¾ Relación: subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos. ¾ Atributo: columna de una relación identificada con un nombre. Sep. 2003 R color marca ‘azul’ ‘ford’ ‘verde’ ‘toyota’ ‘blanco’ ‘renault’ Esquema de una relación o de tabla: Por intensión R(color, marca) Por extensión Base de datos relacional: base de datos cuyo esquema es un conjunto de esquemas de relación de diferente nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones ULAULA-Postgrado en Computación. I. Besembel 11 Reglas de formación ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ ¾ Cada relación o tabla contiene un solo tipo de fila o tupla. Cada tupla tiene un número fijo de atributos o columnas. No se permiten atributos compuestos o grupos repetitivos. Cada tupla es única y se identifica con su clave primaria. Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la relación es una clave candidata. La clave primaria de una relación se selecciona entre las claves candidatas. Si un atributo A ∈ R1 es también la clave primaria de R2, entonces A es un atributo foráneo de R1. El orden de las tuplas en la relación es irrelevante. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella. Un mismo dominio puede ser usado por diferentes atributos. A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del álgebra relacional. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 12 Reglas de Integridad ¾ De la relación: ningún componente de un valor de los atributos que conforman la clave primaria puede ser nulo. ¾ De referencia: sea A la clave primaria de R1 y también un atributo foráneo de R2, entonces para toda tupla de R2 donde A ≠ nulo debe existir la tupla correspondiente en R1. ¾ De los valores de un atributo: son los predicados definidos por el administrador de bases de datos sobre los valores de los atributos usando el lenguaje de definición de datos. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 13 Arquitectura de referencia Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 14 Orientadas por Objetos ¾ Modelo ODMG versión 1.1 (1995) ¾ Primitiva: el objeto. ¾ Los objetos se pueden categorizar en tipos. ¾ Su estado lo describen los valores de sus propiedades: atributos o relaciones entre él y otros objetos. ¾ Su comportamiento lo define el conjunto de sus operaciones. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 15 BDOO ¾ Tipos e instancias: 9 Tipo define estado y comportamiento de sus instancias. 9 Extensión del tipo: conjunto de todas las instancias del tipo. 9 Características del tipo: Estado y comportamiento. 9 Organización de los tipos: en un grafo de subtipos y supertipos. 9 Subtipo: hereda todas las características de sus supertipos, pudiendo definir nuevas características para él. 9 Tipos abstractos: no tienen instancias ni implementación. 9 Los tipos del sistema se organizan como un árbol 9 Los tipos definidos por el usuario pueden formar un digrafo acíclico (dag). Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 16 BDOO ¾ Atributos: definen cada tipo de objeto, su valor es literal y no tiene oid. ¾ Relaciones: solo pueden definirse entre tipos mutables. 9 Las relaciones son binarias del tipo 1:1, 1:M y N:M. 9 No tienen nombre pero si sus caminos en cada dirección. Los caminos se declaran dentro de la interfaz del tipo donde la relación se da. 9 Mantienen la integridad referencial y no tienen oid ¾ Comportamiento: Se representa con un conjunto de operaciones. 9 Cada operación tiene una firma que contiene los nombres y tipos de los argumentos, excepciones y tipos y valores de regreso. 9 Siempre se aplican sobre un solo objeto. 9 No hay operaciones independientes de un tipo, ni pueden ser definidas para 2 o más tipos. 9 Las operaciones son únicas dentro de un tipo, pueden tener el mismo nombre para diferentes tipos ¾ Colecciones: tienen un número variable de elementos del mismo tipo y no tienen ranuras. Se aceptan subtipos del tipo especificado. Set, Bag, List y Array. ¾ Estructuras: tienen un número fijo de ranuras, cada una conteniendo un objeto o un literal. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 17 BDOO Materia código:Cadena nombre: Cadena TPLU: Cadena fechaCreación: Fecha programa prelación * Persona CI: Cadena nombre: Cadena dirección: Cadena teléfono: Cadena fechaNacim: Fecha Sección Estudiante Trabajador numSec: Entero horario * fechaIng: Fecha cursa * fechaIng: Fecha dpto: Cadena Horario dia: Dia horaIni: Hora horaFin: Hora salón: Cadena Sep. 2003 Programa Preparador numHoras: Entero salario: Real supervisor prepara * ULAULA-Postgrado en Computación. I. Besembel Profesor categoria: Cadena dedicación: Cadena salario: Real título: Cadena dicta * 18 Ejemplo E studio nom bre : Cadena = 'Indefinido' fec haFundac ión : Fec ha direc c ión : Cadena = 'Indefinido' c iudad : Cadena = 'Indefinido' país : Cadena = 'Indefinido' teléfonos : Lis t(Cadena) dirW eb : Cadena = 'Indefinido' P elícula título : Cadena = 'A ún no tiene' año : A ño = '0000' durac ión : Real = 0.0 tipo : Tipos DeP elíc ulas nuevaP elíc ula() s etTítulo() getTítulo() s etA ño() getA ño() s etDurac ión() getDurac ión() m odific aP elíc ula() des pliegue() Sep. 2003 +compañíaP roductora 1..* +produce compañ íaD eP rodu cción 1..* ULAULA-Postgrado en Computación. I. Besembel nuevoE s tudio() s etNom bre() getNom bre() s etFec haFundac ión() getFec haFundac ión() s etDirec c ión() getDirec c ión() s etCiudad() getCiudad() s etP aís () getP aís () nuevoTeléfono() getTeléfonos () s etDirW eb() getDirW eb() m od ific aE studio() c ie rreE studio() des pliegue() 19 Objeto-relacional Modelo relacional extendido con facilidades de orientación por objetos: 9 Nuevos tipos de datos: Creación de nuevos tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuevo tipo. Soporte de tipos complejos: registros, conjuntos, referencias, listas, pilas, colas y arreglos. 9 Creación de funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etc. 9 Creación de operadores: asignándoles un nombre y asociándoselo a una función ya definida o creada con anterioridad. 9 Soporte de encadenamiento dinámico y herencia en los tipos tupla o registro. 9 Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los gatillos (triggers) 9 Soporte adicional para seguridad y activación de la versión cliente-servidor. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 20 BDR Distribuidas Lugar 1 Lugar n Lugar 2 Red Lugar i Lugar 3 BD central con acceso a la red Lugar 1 Lugar n Lugar 2 Red Lugar i Lugar 3 Ambiente de BDD Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel Problemas claves: Para responder una consulta, los datos residentes en computadores separados deben ser combinados y movidos. Como los datos están bajo el control de computadores separados, es necesario coordinar las Ti para preservar la consistencia de datos. 21 BDR Paralelas ¾ Discos compartidos: Cada procesador tiene su propia MP, pero comparte su MS con todos. ¾ Nada se comparte: Cada procesador tiene su MP y MS, pero se comunican con pase de mensajes. ¾ Todo se comparte: Todos los procesadores acceden una MP común y todas las MS (discos) Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 22 BDR Multimedia ¾ Reconocimiento, agrupamiento, tipos y relaciones para capturar y recuperar la información multimedia. 9 Diferencia entre recuperación en base de datos y en recuperación de información. ¾ Modelos hipertexto e hipermedia 9 sugieren un método de navegación para recuperar la información. ¾ Recuperación basada en contenido 9 Entendimiento del lenguaje natural, velocidad de procesamiento, visión y modelado de usuarios. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 23 BDR Activas ¾ BD convencionales: pasivas, solo ejecutan consultas a petición de un usuario o de un programa de aplicación. ¾ BD activa: tiene la capacidad de monitorear situaciones de interés y cuando estas ocurren disparan una respuesta adecuada. ¾ El comportamiento deseado se expresa por medio de reglas de producción o reglas evento-condición-acción (ECA), las cuales pueden ser definidas y almacenadas en la BD. on evento if condición then acción Una regla se dispara cuando el evento ocurre se considera cuando su condición se evalúa y se efectúa cuando la acción se ejecuta ¾ Las reglas serán disparadas por eventos de la BD como: un estado particular de la BD y cambios de estado de la misma, para: 9 9 9 9 9 9 Sep. 2003 asegurar la integridad de datos, implementar disparadores y alertadores, mantener datos derivados, asegurar las restricciones de acceso, implementar las políticas de control de versiones, mantener las estadísticas de acceso para la optimización de consultas, etc. ULAULA-Postgrado en Computación. I. Besembel 24 BDR Deductivas madreDe madre hija ¾ Compuesta de una BD Ana Berta intensional y una BD Berta Juana extensional Juana Mariela ¾ BD extensional: base de Berta Beatriz hechos if madreDe( x, y ) and madreDe( y, z ) ¾ BD intensional: conjunto then abuelaDe( x, z) de restricciones de integridad 9Se basa en el cálculo de predicados y y de axiomas deductivos en la teoría de demostraciones (reglas) 9Realiza procesamiento de consultas recursivas Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 25 Bases de datos espaciales Término para describir los datos que pertenecen al espacio ocupado por los objetos en la BD. 9Pueden ser geométricos y variados. 9Se aplica a cualquier dato de un fenómeno distribuido en 2-, 3- o n-dimensiones que son ortogonales y homogéneas (D. Peuquet) 9Consisten del conjunto de objetos espaciales construidos con: puntos, líneas, regiones, rectángulos, superficies, volúmenes, etc. DatoGeométrico idDatoGeometrico : Identificador color : TipoColor TipoDatoGeométrico 3..n {ordenado} Línea Punto x : Real y : Real Polígono numPuntos : Entero rellenoOsubrayado : Boolean RectánguloDelimitador ancho : Real largo : Real +de ArcoUOvalo +hasta 2..n +inicio +inferiorIzquierdo {ordenado} Sep. 2003 Polilínea ánguloInicio : Ángulo gradoBarrido : Ángulo rellenoOsubrayado : Boolean +final ULAULA-Postgrado en Computación. I. Besembel 26 Bases de datos temporales ¾ Los objetos y sus relaciones existen en periodos de tiempo definidos, así como los eventos ocurren en puntos específicos del tiempo ObjetoET Objeto Espacial Objeto Temporal escala granularidad +geometría 1..n Representación Espacial +borde n Objeto Gráfico Punto Sep. 2003 Línea Polígono +t 1..n Representación Temporal ¾ Tiempo válido: tiempo en el cual el hecho se dio o se dará en la realidad independientemente del tiempo en que se registró en la BD. 9 puede estar o no limitado (normalmente en el pasado) ¾ Tiempo transaccional: tiempo en que el hecho se almacenó en la BD 9 Es un intervalo que dice cuando se insertó el hecho y cuando se eliminó de la BD. 9 está siempre limitado en el pasado y en el futuro ULAULA-Postgrado en Computación. I. Besembel 27 Bases de datos espacio temporales ¾ Tienen al menos tiene una propiedad espacial y una temporal ¾ Un objeto espacio temporal se puede representar por una 4-upla (objId, geom, t, att) donde: 9 objId es el identificador del objeto, 9 geom es su localización y forma espacial, 9 t es la descripción de sus características temporales y 9 att es un conjunto de otros atributos que describen otras propiedades diferentes de las espaciales y temporales Sep. 2003 Grafo idG : Identificador Grafo espacial tNodos 1..n tArcos 1..n 2 idGET : Identificador idGT : Identificador nodos arcos Grafo ET Grafo temporal idGE : Identificador Objeto temporal Objeto espacial idOE : Identificador 2 escala idOT : Identificador regularidad : tipoReg granularidad 1..n stNodos 1..n Relación espac ial stArcos Relación temporal idRT : Identificador idRE : Identificador 1. .n 1..n Representación espacial Representación temporal idRepT : Identificador idRepE : Identificador 1. .n Objeto ET idOET : Identificador geometría n idOGeo : Identificador referencia : Georeferencia ubicacion : GeoUbicacion idOG : Identificador Punto Línea Polígono ULAULA-Postgrado en Computación. I. Besembel 1..n Objeto geográfico ET Objeto gráfico HR 2..n Relación ET idRET : Ident ificador Intervalo idInt : Ident ificador min : Real max : Real 28 Bases de datos semiestructuradas ¾ XML: lenguaje de marcas extensible, diseñado para permitir la implementación e interoperabilidad con SGML y HTML ¾ Procesador XML: usado para leer documentos XML y permitir el acceso a su contenido (datos) y estructura (esquema) ¾ Metas: 9 Usable en Internet, compatible con SGML y soporte de varias aplicaciones 9 Número mínimo de rasgos adicionales y facilidad de escribir programas que procesen documentos XML (claros y legibles) 9 Diseño XML formal, conciso y de fácil creación 9 No importa la minimalidad del conjunto de marcas Sep. 2003 <INVENTARIO> INVENTARIO> <LIBRO> LIBRO> <TITULO> TITULO> > TITULO>Aprenda XML ya</ ya</TITULO <AUTOR> AUTOR> > AUTOR>Young, Michael J.</ J.</AUTOR <EDITORIAL> EDITORIAL> > EDITORIAL>McGrawHillMcGrawHill-Microsoft</ Microsoft</EDITORIAL <ANO> ANO> > ANO>2000</ 2000</ANO <ISBN> > ISBN>0-73567356-10201020-7</ISBN </ISBN> <TITULOINGLES> TITULOINGLES> > TITULOINGLES>XML StepStep-byby-step</ step</TITULOINGLES </LIBRO > </LIBRO> <LIBRO> LIBRO> <TITULO> > TITULO>Precálculo</TITULO Precálculo</TITULO> <AUTOR> AUTOR>Faires, Faires, J. Douglas y DeFranza, DeFranza, James</AUTOR> James</AUTOR> <EDITORIAL> EDITORIAL> > EDITORIAL>International Thomson</ Thomson</EDITORIAL <ANO> ANO> > ANO>2001</ 2001</ANO <ISBN> > ISBN>970970-686686-032032-0</ISBN </ISBN> <TITULOINGLES> TITULOINGLES> > TITULOINGLES>Precalculus</ Precalculus</TITULOINGLES </LIBRO > </LIBRO> <LIBRO> LIBRO> <TITULO> TITULO> > TITULO>Multimedia. Multimedia. Manual de referencia</ referencia</TITULO <AUTOR> AUTOR> > AUTOR>Vaughan, Tay</ Tay</AUTOR <EDITORIAL> EDITORIAL> > EDITORIAL>MaGrawMaGraw-Hill Osborne Media</ Media</EDITORIAL <ANO> ANO> > ANO>2002</ 2002</ANO <ISBN> > ISBN>8484-481481-36263626-8</ISBN </ISBN> <TITULOINGLES> TITULOINGLES>Multimedia: Multimedia: Making it work</ TITULOINGLES> > work</TITULOINGLES </LIBRO > </LIBRO> </INVENTARIO > </INVENTARIO> ULAULA-Postgrado en Computación. I. Besembel 29 XML Gráficas y multimedia SMIL SVG Tecnología inalámbrica y voz WML XML Info set DOM Sep. 2003 XML-RPC SOAP Web y la publicación tradicional XHTML DocBook Aplicaciones VoxML Enlazamiento y señales Elemen tos de base y modelos de objetos Llamadas remotas y B2B Xlink Xpointer XPath XSLT XSL XML Estilo y transformación XML 1.0 + espacio de nombres Esquema XML SAX Modelado complejo Interfaces de programación de información ULAULA-Postgrado en Computación. I. Besembel 30 Lenguajes SQL (Structured Query Language) 9 Versión comercial del lenguaje SEQUEL creado por IBM para el sistema R (1976) bajo DOS y VM. 9 Lenguaje declarativo, interactivo, de programación, de definición de esquemas y de comunicación con servidores a través de redes. 9 Primera versión: SQL-89 contiene tres partes: Lenguaje de definición de datos (LDD): contiene todas las instrucciones para definir el esquema de una BD, como son: create, alter y drop. Lenguaje de manipulación de datos (LMD): tiene las instrucciones de manejo de las tablas como son: select, insert, delete y update, y para control de concurrencia como: commit y rollback. Lenguaje de control de datos (LCD): para dar y revocar permisos de acceso a los datos de la BD, como son: grant y revoke. 9 Las instrucciones pueden ir embebidas en programas escritos en otros lenguajes de programación, como: Cobol, Fortran, Pascal y PL/I Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 31 SQL ¾ Segunda versión SQL-92 o SQL2, incluye: 9 9 9 9 9 9 9 9 Uso de agentes de software, Nuevos tipos básicos de datos como: Date, Time, Timestamp, BLOB, Varchar, Se establecen conexiones cliente-servidor en sesiones concurrentes, SQL dinámico, Mayor granularidad a nivel de transacciones, Nuevas versiones de la operación producto o conjunción, Usa un catálogo y maneja códigos de error estandarizados y Uso de nuevos lenguajes de programación como: C, ada y mumps. ¾ Última versión SQL3 amplía o extiende el SQL2 para contener: 9 9 9 9 9 9 Tipos abstractos de datos definidos por el diseñador de la BD, Manejo de roles de usuarios, Consultas recursivas, Gatillos, disparadores o triggers, Procedimientos almacenados y encadenamiento tardío, Manejo de interoperabilidad a través de un API u ODBC para acceso a bases de datos basado en el estándar SAG(SQL Access Group) y 9 Manejo de transacciones anidadas. Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 32 SQL ¾ LDD create table nombreTabla ( nombreAt tipoAt default valorPorOmisión [null | not null | identity],... [ constraint nombreRestricción ] check ( Q ), [ constraint nombreRestricción ] primary key ( at1 [, at2, ... ]), [ constraint nombreRestricción ] unique ( at1 [, at2, ... ]), [ constraint nombreRestricción ] foreign key ( listaAt) references nombreTabla ( listaAt )) drop table nombreTabla create view nombreVista [( at1 [, at2 ...] ) as instrucciónSelect [ with opciónVerificación ] Etc. ¾ LCD grant { select | insert | update | delete | all } on { nombreTabla | nombreVista } to listaCódigosUsuario revoke { select | insert | update | delete | all } on nombreTabla from listaCódigosUsuario Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 33 SQL ¾ LMD select {listaAt | *}[ into nombreTabla ] from listaTablas [ where Q’ ] [ group by listaAt] [ having Q ] [ order by listaAt ] insert [into] nombreTabla [( listaAt ) ] {values ( listaValores ) | instrucciónSelect } delete {[ from ] nombreTabla [ where Q ] | from listaTablas [ where Q’ ] } update nombreTabla set at1 = {expresión | instrucciónSelect } [, at2 = {expresión | instrucciónSelect}...] [ from listaTablas ] [ where Q’ ] Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 34 QUEL ¾ Basado en el Cálculo Relacional de Tuplas ¾ Presentado por Zook en 1977 ¾ Lenguaje del Ingres ¾ LMD Range of <listaVariables> is <listaTablas> Retrieve [ [into] <nombreTabla>]<listaAtributosVariable> [ where <condición> ] Sep. 2003 Append [to] <variable> ( at = valor, ... ) [ where <condición>] Replace <variable> ( <listaDeAtributos>) [ where <condición>] Delete <variable> [ where <condición> ] ULAULA-Postgrado en Computación. I. Besembel 35 QBE ¾ Basado en el Cálculo Relacional de Dominios ¾ Lenguaje del Sistema R, DB2, Informix, Oracle, etc. ¾ LMD no es computacionalmente completo Relación col1 col2 P. col3 _x _x I. 126 D. Sep. 2003 coln P.AO._y >=14 P. P.SUM._s ‘5101’ 28 230 >30 =45 U. … _w _w+5 ULAULA-Postgrado en Computación. I. Besembel 36 OQL ¿Cuáles son los estudiantes de la sección Nro. 2 de la materia de nombre “Simulación”, cuál es su preparador y su profesor? ¾ LMD 9 SELECT DISTINCT STRUCT(Cédula: e.CI, nombre: e.nombre), p.nombre, pr.nombre FROM e IN Estudiantes, p IN Preparadores, pr IN Profesor, s IN Secciones WHERE s.nombre = ‘Simulación’ AND s.numSec = 2 ¾ LDD interface Materia ( extent Materias keys código, nombre ): persistent Sep. 2003 { attribute String código; attribute String nombre; attribute String tipo; attribute String tplu; tplu; attribute String objetivos; attribute String contenidos; relationship List< List< Curso> seOfrecen inverse Curso::esSecciónDe Curso::esSecciónDe {order_by Curso::sección }; relationship Set< Set< Materia> prela inverse Materia::esPreladaPor Materia::esPreladaPor;; relationship Set< Set< Materia> esPreladaPor inverse Materia::prela Materia::prela;; Boolean nuevaMateria( nuevaMateria( ) raises (yaEstá); yaEstá); Boolean cambioDeNombre( cambioDeNombre( ) raises (repetido); Boolean cambioDeObjetivos( cambioDeObjetivos( ) raises (repetido); Boolean cambioDeContenido( cambioDeContenido( ) raises (repetido); }; ULAULA-Postgrado en Computación. I. Besembel 37 OSQL ¿Cuáles son los estudiantes de la sección Nro. 2 de la materia de nombre “Simulación”, cuál es su preparador y su profesor? ¾ LMD 9 SELECT DISTINCT CI(e), nombre(e), nombre(p), nombre(pr) FOR EACH Estudiante e, Preparador p, Profesor pr, Sección s WHERE nombre(s) = ‘Simulación’ AND numSec(s) = 2 ORDER BY CI(e); ¾ LDD create type Estudiante subtype of Persona functions ( CI Char (var 10)); Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 38 SQL espacial ¾ Inclusión de operadores de manejo espacial en SQL ¾ Ejemplo: SELECT e.dpto, e.dpto.ciudad FROM e : empleado, p : proyecto WHERE e.nombre = ‘Carlos’ AND e.dpto.ciudad.NORTE(p.ciudad) AND p.nombre=‘SMBDOO’ IN e.proyecto Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 39 SQL temporal ¾ En el modelo de datos: Algunos lenguajes incluyen cláusulas y/o operadores para manejar el tiempo. ¾ Ejm: TOSQL, TOOSQL y OOSTSQL. SELECT e.dpto, e.dpto.vt FROM e : empleado, p : proyecto WHERE e.nombre = ‘Carlos’ WHEN e.dpto.vt.DURING(e.proyectos.vt) AND p.nombre=‘SMBDOO’ IN e.proyecto Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 40 Conclusiones ¾ Tecnología básica para el mantenimiento y control de los datos soportada por los SGBD ¾ Disponibilidad de uso a través de Web ¾ Base para la integración de aplicaciones ¾ Diversidad de tipos y posibilidad de mezclarlos ¾ Uso extendido actualmente ¾ Evolución continua Sep. 2003 ULAULA-Postgrado en Computación. I. Besembel 41