El Sistema de Gestión de Bases de Datos TEMA II © Grupo de Bases de Datos Avanzadas – Univ. Carlos III de Madrid El Sistema de Gestión de Bases de Datos Índice TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid II 1 El SGBD como interfaz entre el usuario II.1. y la BD II.2. Concepto y principales funciones de un SGDB II.3. Lenguajes de los SGBD II.4. Interacción del usuario con el SGBD II.5. Funcionamiento del SGBD II.6. Arquitectura ANSI/X3/SPARC FBD3 II.2 1 1. El SGBD como interfaz entre el usuario y la BD El Sistema de Gestión de Bases de Datos NIVEL ESTRATÉGICO . Elaboración de planes . Objetivos generales SGBD NIVEL TÁCTICO . Control de gestión . Objetivos específicos Base de Datos NIVEL OPERACIONAL . Tareas administrativas Ordenes y Planes Información Imagen tomada de [1] TEMA II FBD3 II.3 El Sistema de Gestión de Bases de Datos 1. El SGBD como interfaz entre el usuario y la BD © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid TIPOS DE USUARIOS DE UNA BD USUARIOS INFORMÁTICOS Diseñadores Administradores Analistas y Programadores USUARIOS FINALES TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid NIVELES DE GESTIÓN DE LAS ORGANIZACIONES FBD3 II.4 2 El Sistema de Gestión de Bases de Datos 2. Concepto y Principales Funciones de un 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 integridad, confidencialidad y disponibilidad” SISTEMA DE BD = BD + SGBD + ... TEMA II FBD3 II.5 El Sistema de Gestión de Bases de Datos 2. Concepto y Principales Funciones de un SGBD • Creación • Reestructuración • Consulta a la totalidad Sobre registros concretos • • • • Inserción Borrado Modificación Consulta selectiva Actualización © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Las operaciones habituales sobre una base de datos son: Sobre el conjunto de la base TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Definición de SGBD FBD3 II.6 3 El Sistema de Gestión de Bases de Datos 2. Concepto y Principales Funciones de un SGBD © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Funciones de un SGBD Función de DEFINICIÓN o DESCRIPCIÓN DESCRIBE • • • • los elementos de datos estructura interrelaciones reglas de integridad PARA LOS TRES NIVELES • lógico • lógico global • físico LDD (Lenguaje de Definición de Datos) TEMA II FBD3 II.7 El Sistema de Gestión de Bases de Datos 2. Concepto y Principales Funciones de un SGBD © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Funciones de un SGBD Función de MANIPULACIÓN OPERACIONES SOBRE LOS DATOS DE LA BASE • recuperar LMD • añadir (Lenguaje de Manipulación de • suprimir Datos)) • modificar ES NECESARIO • definir la estructura lógica a manipular • definir el criterio de selección • acceder a la estructura física TEMA II FBD3 II.8 4 El Sistema de Gestión de Bases de Datos 2. Concepto y Principales Funciones de un SGBD © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Funciones de un SGBD Función de UTILIZACIÓN o CONTROL AGRUPA TODAS LAS INTERFACES DE LOS USUARIOS • lenguajes huéspedes • lenguajes parametrizados • lenguajes conversacionales • procedimientos para el administrador •… TEMA II FBD3 II.9 El Sistema de Gestión de Bases de Datos 3. Lenguajes de los SGBD • LDD (Lenguaje de Definición de Datos): para la definición de las estructuras de datos a todos los niveles (externo, lógico-global, interno). • LMD (Lenguaje de Manipulación de Datos): permite la ejecución de operaciones de recuperación y actualización t li ió sobre b un conjunto j t d de registros i t (identificado (id tifi d a través de un criterio de selección), indicando las estructuras externas sobre las que se actúa. • Procedimientos de administración: © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Un SGBD debe disponer de lenguajes y procedimientos que posibiliten la interacción con la base de datos. copias de seguridad, estadísticas, carga de ficheros, ... TEMA II FBD3 II.10 5 El Sistema de Gestión de Bases de Datos 3. Lenguajes de los SGBD 1. Según su independencia Huésped Autocontenido 2. Según su control Procedimental No procedimental 3. Según su uso Diferido Interactivo Registro a registro (navegacional) Conjunto de registros (especificación) 4. Según su unidad de operación TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid CLASIFICACIÓN DE LOS LENGUAJES DE DATOS FBD3 II.11 El Sistema de Gestión de Bases de Datos 3. Lenguajes de los SGBD © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid ··················· SENTENCIAS DECLARATIVAS ................... ................... * LLAMADA A LA VISTA DE USUARIO ( o a la tabla))* EXEC SQL DECLARE PERSONAS.... ................... declaración de otras áreas de E/S declaración de áreas para la comunicación de mensajes ................... ................... SENTENCIAS DE PROCESO .................. .................. * LLAMADA A LA SENTENCIA DEL LMD LMD* EXEC SQL SELECT nombre, apellido; FROM personas; WHERE fecha_nac = “28/11/65” .................. Estructura simplificada de un programa escrito en un lenguaje anfitrión (p.e C) que llama a un lenguaje de datos (p.e SQL) TEMA II FBD3 II.12 6 El Sistema de Gestión de Bases de Datos 3. Lenguajes de los SGBD SELECT nombre, apellido FROM personas WHERE fecha_nac = ‘ 28/11/65’ TEMA II FBD3 II.13 El Sistema de Gestión de Bases de Datos 4. Interacción del usuario con el SGBD • Administrador-Diseñador: herramientas para la definición de datos (niveles externo, lógico global, físico) + procedimientos de administración. • Informático: lenguajes huésped o autocontenidos (en principio no les incumbe la descripción física ni la descripción lógica global). • No informático: procedimientos (necesidades formalizables) o lenguajes autocontenidos interactivos (no formalizables). © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Todos los usuarios disponen de medios, incluidos en el SGBD, que les facilitan la interacción con la Base de Datos. TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Ejemplo de sentencia en un lenguaje autocontenido - SQL - FBD3 II.14 7 4. Interacción del usuario con el SGBD El Sistema de Gestión de Bases de Datos ADMINISTRADOR USUARIOS DESCRIPCIÓN LÓGICA GLOBAL INTERNA LENGUAJE DE DESCRIPCIÓN DE DATOS INTERNOS LENGUAJE DE DESCRIPCIÓN DE DATOS GLOBALES INFORMÁTICO MANIPULACIÓN EXTERNA LENGUAJE DE DESCRIPCIÓN DE VISTAS EXTERNAS FORMALIZA BLE LLAMADA A UNA VISTA DEFINIDA POR EL ADMINISTRADOR VISTA EXTERNA DESCRITA POR EL PROPIO PROCEDIMIENTO NO FORMALI ZABLE NO INFORMÁTICO © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid FUNCIONES FACILIDADES INCLUIDAS EN LOS LENGUAJES O EN LOS PAQUETES PROCEDIMIENTOS: - CREACIÓN - OPTIMIZACIÓN - REORGANIZACIÓN - RECUPERACIÓN - COPIAS DE SEGURIDAD -… - LMD (EMBEBIDO) - GENERADOR DE INFORMES - AYUDAS - L4G … - USO DE APLICACIONES - L4G - LENGUAJES PARAMÉTRICOS - PAQUETES - LENGUAJES AUTOCONTENIDOS - PAQUETES TEMA II FBD3 II.15 5. Funcionamiento del SGBD El Sistema de Gestión de Bases de Datos © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid 2 3 METODOS DE ACCESO DEL S.O. 4 1 FICHEROS DE DATOS 7 6 5 Imagen tomada de [1] Interfaz entre aplicaciones y datos en el caso de los ficheros. TEMA II FBD3 II.16 8 5. Funcionamiento del SGBD El Sistema de Gestión de Bases de Datos © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid 3 2 SGBD METODOS DE ACCESO DEL SO 1 4 DATOS 7 LENGUAJES DE USUARIO FINAL 5 6 Imagen tomada de [1] Interfaz entre aplicaciones y datos en una BD. (Lenguaje autocontenido y no procedimental) TEMA II FBD3 II.17 5. Funcionamiento del SGBD El Sistema de Gestión de Bases de Datos LMD SGBD Base de Datos Subsistema de gestión de datos (método de acceso) Fichero S.O. Imagen tomada de [1] © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid LP + S S.O O PROGRAMA DE APLICACIÓN Comparación entre la forma de acceso a un fichero y a una base de datos. TEMA II FBD3 II.18 9 5. Funcionamiento del SGBD El Sistema de Gestión de Bases de Datos SGBD 3 4 5 SISTEMA OPERATIVO estructura externa VE1 9 Area de Comunicación AC1 VE2 . . Area de trabajo de usuario ATU1 12 6 8 7 DATOS © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid estructuras lógica global e interna ALMACENAMIENTO INTERMEDIO 1 2 Nombre de la vista externa VE1 10 11 Programa de Aplicación Unidad de ejecución 1 (UE 1) VE n AC n ATU n Programa de Aplicación Unidad de ejecución n (UE n) BASE DE DATOS Imagen tomada de [1] Relaciones entre el SGBD y los programas de aplicación en un entorno concurrente TEMA II El Sistema de Gestión de Bases de Datos FBD3 II.19 6. Arquitectura ANSI/X3/SPARC ISO/IEC, International Organization for Standarization International Electrotechnical Commission. Agrupa a organismos oficiales de estandarización de distintos países. Codasyl, Conference On Data System Languages. No es un grupo oficial de estandarización, pero sus especificaciones han sido aplicadas a diversos SGBDs comerciales. ANSI/X3/SPARC. ANSI/X3/SPARC Grupo G po de estudio est dio del Standard Standa d Planning and Requeriments Committee, incluido en el American National Standards Institute. Introduce el tercer nivel, el conceptual, entre los niveles lógico y físico. TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Existen distintos organismos de estandarización: FBD3 II.20 10 El Sistema de Gestión de Bases de Datos 6. Arquitectura ANSI/X3/SPARC Independencia frente a proveedores Independizar los SGBDs comerciales del diseño de la base de datos. Si se cambia de producto no debe ser necesario modificar el diseño de la base de datos ni rescribir las aplicaciones que acceden a ella. Ofrecer la posibilidad de adquirir distintos componentes del SGBD a diferentes suministradores suministradores. Cualquier proceso de normalización es siempre muy complejo TEMA II FBD3 II.21 El Sistema de Gestión de Bases de Datos 6. Arquitectura ANSI/X3/SPARC Arquitectura a tres niveles, entre los que se encuentra el nivel conceptual. El nivel conceptual lo compone un esquema conceptual que constituye una descripción global de los datos, a partir de la cual se elaboran los esquemas externos dirigidos a las diferentes aplicaciones que se apoyan en la base de datos. © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Arquitectura ANSI/X3/SPARC TEMA II © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid Objetivos de la definición de estándares FBD3 II.22 11 6. Arquitectura ANSI/X3/SPARC El Sistema de Gestión de Bases de Datos 1 DEFINICIÓN ADMINISTRADOR DE LA BD 3 13 3 2 PROCESADOR DEL ESQUEMA INTERNO 14 MANIPULACIÓN ADMINISTRADOR DE APLICACIONES PROCESADOR DEL ESQUEMA CONCEPTUAL META DATOS 34 38 TRANSFORMADOR CONCEPTUAL/ INTERNO 30 DATOS 5 36 TRANSFORMADOR INTERNO/ ALMACENADO 21 4 PROCESADOR DEL ESQUEMA EXTERNO TRANSFORMADOR EXTERNO/ CONCEPTUAL 31 12 © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid ADMINISTRADOR DE LA EMPRESA USUARIO Imagen tomada de [1] TEMA II El Sistema de Gestión de Bases de Datos FBD3 II.23 Bibliografía Tema I © Grupo de Basses de Datos Avanzadas – Univ. Carloos III de Madrid 1. Miguel, g , A. De,, Piattini,, M. Fundamentos y modelos de Bases de Datos, Ed. Rama 1999 2. Miguel, A. De, Piattini, M. y Marcos, E. Diseño de Bases de Datos Relacionales, Ed. Rama 1999 3. Miguel, A. De, Martínez, P., Castro, E., Cavero, J.M., Cuadra, D., Iglesias, A.M. y Nieto, C. Diseño de Bases de Datos. Problemas Resueltos, Ed. Rama, 2001 4. Oszu, M.T. y Valduriez, P., Principles of Distributed database systems, 2ª Edición, Prentice Hall, 1999 FBD3 II.24 12