El Sistema de Gestión de la Base de Datos El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 1 Índice 1. El SGBD como Interfaz entre el Usuario y la BD 2. Concepto y Funciones del SGBD 2.1. Lenguajes de los SGBD 3. Interacción del Usuario con la BD 4. Funcionamiento del SGBD: Interacción con el S.O. 5. La Arquitectura ANSI/X3/SPARC 6. La Arquitectura y la Independencia Físico/Lógica 7. Estructura General de un SGBD El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 2 1 Bibliografía Complementaria Silbersachatz, A. et al. “Database System Concepts” (6ª edición), Mc Graw-Hill, 2010. Elmasri, R. y Navathe, S.B. “Fundamentals of Database Systems” (6ª edición). Addison-Wesley, 2010. (Traducción al castellano: “Fundamentos de Sistemas de Bases de Datos”. 5ª edición. Addison-Wesley, 2007) El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 3 1. El SGBD como interfaz entre el Usuario y la BD SGBD: actúa como interfaz entre la BD y los distintos niveles de gestión de la organización Integra los distintos subsistemas, atendiendo a las necesidades de los usuarios en los tres niveles NIVEL NIVELESTRATEGICO ESTRATEGICO Elaboración Elaboraciónde deplanes planes Objetivos generales Objetivos generales S G B D NIVEL NIVELTACTICO TACTICO Control Controlde degestión gestión Objetivos Objetivosespecíficos específicos Base común de Datos NIVEL NIVELOPERACIONAL OPERACIONAL Tareas Tareasadministrativas administrativas Ordenes y Planes Información El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 4 2 1. El SGBD como interfaz entre el Usuario y la BD Usuarios de una BD a) Usuarios Informáticos Diseñadores (lógicos/físicos) Administradores Analistas y programadores b) Usuarios Finales El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 5 2. Concepto y Funciones de SGBD Sistema de Gestión de Base de Datos (SGBD) Conjunto coordinado de programas, procedimientos, lenguajes, etc. que suministra a los distintos tipos de usuarios los medios necesarios para describir y manipular los datos almacenados en la base, garantizando su seguridad. Operaciones que debe realizar un SGBD: A) SOBRE EL CONJUNTO DE LA BASE • Creación • Reestructuración • Consulta a la totalidad B) SOBRE REGISTROS CONCRETOS • Inserción • Borrado • Modificación • Consulta selectiva El Sistema de Gestión de la Base de Datos www.kybele.urjc.es Actualización 6 3 2. Concepto y Funciones de SGBD Funciones esenciales de un SGBD: • Función de definición o descripción • Función de manipulación • Función de Control Otras facilidades: • Procedimientos para el administrador • Reorganizaciones • Copias de seguridad • Cargas de ficheros • Estadísticas • Generadores de listados, etc. • Interfaces con monitores de transacciones El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 7 2. Concepto y Funciones de SGBD DESCRIPCION Permite describir: - Los elementos de datos con - Su estructura - Sus interrelaciones - Sus validaciones A tres niveles: - Externo - Lógico Global - Interno Mediante un LDD MANIPULACION Permite: - Buscar - Añadir datos de la base - Suprimir - Modificar Mediante un LMD Lo cual supone: - Definir un criterio de selección (responsabilidad del usuario) - Definir la estructura externa a recuperar (responsabilidad del usuario) - Acceder a la estructura física (responsabilidad del sistema) CONTROL - Reúne las interfaces de los usuarios - Suministra procedimientos para el administrador El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 8 4 2. Concepto y Funciones de SGBD 2.1. Lenguajes de los SGBD Caracterización de los lenguajes de datos Huésped Autocontenido Muy Procedimental Poco procedimental Diferido (por lotes) Conversacional (interactivo) Registro a registro (navegacional) Conjunto de registros (especificación) El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 9 2. Concepto y Funciones de SGBD 2.1. Lenguajes de los SGBD Tipología de los lenguajes de los SGBD Aplicaciones formalizables Por tipos de aplicaciones Aplicaciones no formalizables Informáticos Por tipos de usuarios Finales Definición Por tipo de función Manipulación El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 10 5 2. Concepto y Funciones de SGBD 2.1. Lenguajes de los SGBD Procesos formalizables y muy repetitivos: Mediante programas Tratamiento por lotes y periodicidad fija (emisión mensual de nóminas) O tratamiento interactivo (consultas). Procesos dificilmente formalizables, o poco repetitivos: No suele ser conveniente escribir programas Es más conveniente que los resuelva el usuario final con los procedimientos que le proporcione el SGBD (lenguajes de usuario final, menús, etc.). Usuarios informáticos: Requieren medios potentes y flexibles Utilizan lenguajes anfitriones y lenguajes huéspedes. Usuarios finales: Medios simples para comunicarse con la BD (lenguajes autocontenidos de sintaxis sencilla, menús, ...). El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 11 2. Concepto y Funciones de SGBD 2.1. Lenguajes de los SGBD Lenguaje de Definición de Datos (LDD) ó Data Definition Language (DDL) Suelen ser autocontenidos y no necesitan apoyarse en ningún lenguaje de programación. Lenguaje de Manipulación de Datos (LMD) ó Data Manipulation Language (DML) Deben permitir al usuario referirse a un conjunto de datos que cumplan una cierta condición (criterio de selección). Un mismo LMD pede actuar como huésped y como autocontenido. La mayoría permiten el uso en diferido y en conversacional. El programador precisa de un LMD: embebido y bastante procedimental. El usuario no informático precisa LMD: autocontenidos, muy procedimentales e interactivos. El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 12 6 2. Concepto y Funciones de SGBD 2.1. Lenguajes de los SGBD Un lenguaje huésped es, en general: •Procedimental •Se explota en diferido •Navegacional Ejemplo: DL/1 (IMS de IBM): huésped, muy procedimental, diferido y navegacional Un lenguaje autocontenido es, en general: •Declarativo •Conversacional •Recupera conjuntos de registros Ejemplo: SQL: huésped y autocontenido, poco procedimental, recupera conjuntos de registros, actúa en diferido y en conversacional. El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 13 3. Interacción del Usuario con la BD Funciones Usuarios N O I N F O R M A T I C O S A D M I N I S T R A D O R I N F O R M A T I C O F O R M A L B I L Z E A N O L I Z A B L E F O R M A DESCRIPCION MANIPULACION INTERNA LOGICA GLOBAL EXTERNA LENGUAJE DE DESCRIPCION DE DATOS INTERNOS LENGUAJE DE DESCRIPCION DE DATOS GLOBALES LENGUAJE DE DESCRIPCION DE VISTAS EXTERNAS PROCEDIMIENTOS: - CREACION - OPTIMIZACION - REORGANIZACION - RECUPERACION - COPIAS SEGURIDAD .............. LLAMADA A UNA VISTA DEFINIDA POR EL ADMINISTRADOR - LMD (EMBEBIDO) - GENERADOR DE INFORMES - AYUDAS - L4G ...... VISTA EXTERNA DESCRITA EN EL PROPIO PROCEDIMIETO - USO DE APLICACIONES - L4G - LENGUAJES PARAMETRICOS PAQUETES FACILIDADES INCLUIDAS EN LOS LENGUAJES O EN LOS PAQUETES - LENGUAJES AUTOCONTENIDOS - PAQUETES El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 14 7 4. Funcionamiento del SGBD: Interacción con el S.O. Comparación entre el acceso a un fichero y a una BD PROGRAMA PROGRAMADE DE APLICACION APLICACION SGBD SGBD Base de Datos Fichero Subsistema de gestión de datos (métodos de acceso) S.O. El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 15 4. Funcionamiento del SGBD: Interacción con el S.O. Interacción SGBD/SO/PA en un entorno concurrente 3 Estructuras lógica global e interna SISTEMA DE GESTION DE LA BASE DE DATOS 4 5 Vista externa VE1 . VE2 . SISTEMA 9 12 OPERATIVO 6 8 7 DATOS Area de Comunicación AC1 Area de trabajo de usuario ATU1 2 1 10 11 Nombre de la Vista externa VE1 Programa de Aplicación Unidad de ejecución 1(UE1) ALMACENAMIENTO INTERMEDIO BASE DE DATOS El Sistema de Gestión de la Base de Datos ACn VEn ATUn Programa de Aplicación UEn www.kybele.urjc.es 16 8 5. La Arquitectura ANSI/X3/SPARC ISO/IEC ISO/IEC AENOR AENOR JTC1 JTC1 CTN71 CTN71 SC32 SC32 SC32 SC32 WG3 WG3 WG4 WG4 El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 17 5. La Arquitectura ANSI/X3/SPARC USA ANSI ANSI F AFNOR AFNOR E AENOR AENOR GB JTC1 JTC1 X3 X3 SPARC SPARC BSI BSI II SS O O SSC SSC DBMS (SGBD) El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 18 9 5. La Arquitectura ANSI/X3/SPARC ESQUEMA EXTERNO 1 NIVEL EXTERNO ESQUEMA EXTERNO n Correspondencia Externa/Conceptual NIVEL CONCEPTUAL ESQUEMA CONCEPTUAL Correspondencia Conceptual/Interna ESQUEMA INTERNO NIVEL INTERNO DATOS ALMACENADOS El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 19 6. La Arquitectura y la Independencia Físico/Lógica Uno de los principales objetivos de las BD es: Independencia entre las estructura físicas y lógicas de los datos Independencia entre datos y aplicaciones El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 20 10 6. La Arquitectura y la Independencia Físico/Lógica Con la independencia físico/lógica se consigue: Que los mismos datos se presenten de distintas formas según las necesidades del usuario. Que el almacenamiento de los datos, su estructura lógica y los programas de aplicación sean independientes. El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 21 6. La Arquitectura y la Independencia Físico/Lógica Dentro del concepto de independencia físico/lógica podemos distinguir entre: Independencia de descripción: que permite separar la definición de los datos a nivel físico y a nivel lógico. Independencia de manipulación: que hace referencia a la de los programas de aplicación con respecto a los caminos de acceso y al soporte físico de almacenamiento. En la independencia de descripción es fundamental la arquitectura del SGBD. En la independencia de manipulación influye también el modelo de datos. El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 22 11 6. La Arquitectura y la Independencia Físico/Lógica Independencia físico/lógica en una arquitectura a dos niveles NIVEL USUARIO X NIVEL SISTEMA EE1 EE1 EI EI EEn EEn El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 23 6. La Arquitectura y la Independencia Físico/Lógica Independencia físico/lógica en una arquitectura a tres niveles NIVEL USUARIO NIVEL EMPRESA X1 NIVEL MAQUINA X2 EE1 EE1 EC EC EI EI EEn EEn Independencia lógica El Sistema de Gestión de la Base de Datos Independencia física www.kybele.urjc.es 24 12 7. Estructura General de un SGBD FACILIDADES DE USUARIO GENERADORES DE APLICACIONES (L4G) DICCIONARIO DE RECURSOS DE LA INFORMACION EXPORTADOR/ NUCLEO DEL SGBD GENERADORES IMPORTADOR SISTEMA OPERATIVO DE INFORMES DATOS PRECOMPILADORES DE LENGUAJES UTILIDADES DEL SGBD LENGUAJE DE SGBD AYUDAS AL DISEÑO (CASE) (Catálogo) APLICACIONES DESARROLLADAS El Sistema de Gestión de la Base de Datos www.kybele.urjc.es 25 13