El Sistema Gestor de Base de Datos (DBMS) Carlos A. Olarte ([email protected]) Pontificia Universidad Javeriana Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Introducción Se espera del SGBD (DBMS) que: 1 Permita a los usuarios crear otras bases de datos y especificar su esquema por medio de un DDL 2 Ofrezca a los usuarios la capacidad de consultar los datos y modificarlos, usando para ello un DML 3 Brinde soporte al almacenamiento de cantidades voluminosas de datos durante un largo perı́odo, protegiéndolo contra accidentes o utilización no autorizada. 4 Controle el acceso concurrente Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Evolución de los Sistemas de BD Los primeros DBMS: Sistemas de reservas aéreas, Sistemas bancarios, registros de empresas Ejemplo de un sistema relacional y el lenguaje de consulta: CUENTA SALDO FECHA TIPO 11125 4.585 14-JAN-2000 AH 22542 3.212 10-NOV-1998 CR 33215 1.212 08-FEB-1995 CR SELECT SALDO FROM CUENTAS WHERE CUENTA = 22452; Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Continuación Sistemas cada vez más pequeños: Soluciones para pequeñas empresas, SGBD para uso personal (Access, Dbase, etc). Sistemas cada vez mas grandes: Soluciones empresariales, procesamiento paralelo, sistemas distribuidos Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Arquitectura de un DBMS Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Continuación Administrador de Almacenamiento: Se encarga de administrar los archivos fı́sicos de la BD y el buffer (memoria intermedia) Administrador de Consultas: Traducción y chequeo de las consultas de los usuarios. Administrador de transacciones: mantenimiento de las propiedades ACID: Atomicity: Atomicidad (o todas las operaciones se realizan o ninguna) Consistencia: El estado de la BD (invariante) es consistente antes y después de cada transacción Isolation: Aislamiento. Las operaciones concurrentes lucen secuenciales Durability: Los cambios comprometidos perduran en el tiempo Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Lenguajes de BD SQL (Structured Query Language). En él se integra un DDL y un DML Lenguajes de definición de datos (DDL): Creación de esquemas, modificación de los mismos, etc. Sus resultados se almacenan en el diccionario de datos. Ej: CREATE TABLE PERSONAS (ID NUMBER (4), NOMBRE VARCHAR(50)); Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Continuación Lenguaje de manipulación de datos (DML): Creación, Modificación, Eliminación y Obtención de Datos (C-reate, R-etrieve, U-pdate, D-elete). Ejemplos: INSERT INTO PERSONAS (A,B,C) VALUES (1,’X’,2.3); DELETE FROM PERSONAS WHERE CODIGO =4; SELECT * FROM PERSONAS WHERE CODIGO < 10; UPDATE PERSONAS SET ACTIVO=’S’ WHERE CODIGO >50; Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Caracterı́sticas funcionales de los DBMS Escalabilidad: Capacidad de mejorar con el incremento de los recursos invertidos. Portabilidad: Exportación e importación de datos de una plataforma a otra Rendimiento: Recuperación, actualización, concurrencia, etc de una manera eficiente Universalidad: Múltiples tipos de datos (multimedia) Disponibilidad: 7x24 Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Usuarios de la BD DBA: Es el administrador de la base de datos. Sus funciones incluyen: Definición del esquema Esquema y modificación de la organización fı́sica Concesión de la autorización para el acceso a los datos Especificación de las restricciones de integridad Programadores de aplicaciones Usuarios sofisticados Usuarios Especializados Usuarios Normales Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS) Estructura del sistema completo Carlos A. Olarte ([email protected]) El Sistema Gestor de Base de Datos (DBMS)