La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

COMPENDIO DE BASES DE DATOS

Presentaciones similares


Presentación del tema: "COMPENDIO DE BASES DE DATOS"— Transcripción de la presentación:

1 COMPENDIO DE BASES DE DATOS
UNIVERSIDAD AUTONOMA DE LOS ANDES “UNIANDES” COMPENDIO DE BASES DE DATOS Ing. John Toasa Espinoza 2013

2 1. Sistemas de bases de datos
Contenidos 1.1 Bases de datos y sus usuarios 1.2 Conceptos y arquitectura del sistema de bases de datos 1.3 Estructura general del sistema de bases de datos Anexos Clasificación de los SGBD Tema 1. Sistemas de bases de datos

3 1. Sistemas de bases de datos
Bibliografía [EN 2002] Elmasri, R.; Navathe, S.B. Fundamentos de Sistemas de Bases de Datos. 3ª Edición. Addison-Wesley. (Cap. 1 y 2) [EN 1997] Elmasri, R.; Navathe, S.B.: Sistemas de bases de datos. Conceptos fundamentales. 2ª Edición. Addison-Wesley Iberoameric. (Cap. 1 y 2) [MPM 1999] De Miguel, A.; Piattini, M.; Marcos, E. Diseño de bases de datos relacionales. Ra-Ma. (Cap. 1 y 2) [MP 1993] De Miguel, A.; Piattini, M.: Concepción y diseño de bases de datos: del Modelo E/R al Modelo Relacional. Ra-Ma. [SKS 1998] Korth, H; Silberschatz, A., Sudarshan, S.:Fundamentos de bases de datos. 3ª Edición. McGraw-Hill. (Cap. 1) [SKS 2002] Silberschatz, A.; Korth, H.F.; Sudarshan, S. “Fundamentos de Bases de Datos”. 4ª edición. Madrid, McGraw-Hill, (Cap. 1) [CBS 1998] Connolly, T.; Begg C.; Strachan, A. Database Systems: A Practical Approach to Design, Implementation and Management. 2nd edition. Addison-Wesley. (Cap. 1 y 2) [CCM 2003] Celma, M.; Casamayor, JC.; Mota, L. “Bases de datos relacionales”. Pearson Educación, (Cap. 1, 2 y parte del 6) Tema 1. Sistemas de bases de datos

4 1.1 Bases de datos y sus usuarios
Base de Datos (BD) ”Conjunto de datos relacionados entre sí”  demasiado general Dato= algo conocido que quiere registrarse ¿Por qué esta transparencia no es una BD? Porque se tienen unas propiedades implícitas: Conjunto de datos persistentes lógicamente coherente, con significado implícito Representa aspectos del mundo real (minimundo, universo de discurso) Los cambios en el minimundo se “reflejan” en la BD Se DISEÑA, se CREA y se CARGA, para conseguir objetivos determinados Datos ALMACENADOS para “algo” Dirigida a un grupo de usuarios Datos INTERESANTES para “alguien” Tema 1. Sistemas de bases de datos

5 1.1 Bases de datos y sus usuarios
Un ejemplo de una base de datos personal EDITORIAL AUTOR PERSONA nombre ... Obelisco Alfaguara Planeta Alianza nombre apellidos ... Paulo Coelho Oscar Wilde Michael Ende id nombre teléfono 2 Julia Ibáñez 10 Eva Andrés ... 3 Cristina Prats 1 Ginés Soriano LIBRO isbn titulo apAutor nomEdit año Momo Ende Alfaguara 1982 El retrato de Dorian Gray Wilde Planeta 2003 El alquimista Coelho Obelisco 1996 La historia interminable 1998 El fantasma de Canterville Alianza Once minutos ... PRESTAMO idPer idLib fecha 10 23/9/03 3 1/10/03 2/3/03 1 10/8/02 ... Esto es un ejemplo de una base de datos personal, mediante la cual llevamos cuenta de los libros de que disponemos en casa y los préstamos de los mismos a amigos y familiares. Esta BD se organiza en 5 ficheros, cada uno almacena registros de datos del mismo tipo. DEFINIR esta BD consiste en especificar la estructura de los registros de cada fichero (sus elementos de datos o campos) y el tipo de datos de cada elemento de datos. CONSTRUIR es almacenar datos en los ficheros. Nótese que hay registros de diversos ficheros relacionados entre sí. MANIPULAR es consultar o modificar datos: consultas: “obtener los títulos de los libros prestados”; “obtener el autor de cierto libro”; “obtener todos los libros de cierto autor” modificaciones: “registrar el préstamo de un libro a cierta persona”; “cambiar el teléfono de cierta persona”; “eliminar la anotación de cierto préstamo, tras la devolución del libro por la persona” Tema 1. Sistemas de bases de datos

6 1.1 Bases de datos y sus usuarios
Sistema de Gestión de Base de Datos (SGBD - DBMS) ”Conjunto de programas que permite DEFINIR, CONSTRUIR y MANIPULAR bases de datos para diversas aplicaciones” Definir una BD es especificar... estructura de datos, tipos de datos y restricciones de los datos Construir una BD es... almacenar datos en algún medio de almacenamiento controlado por el SGBD Manipular la BD es... consultar datos introducir/modificar/eliminar datos, para reflejar cambios en el minimundo generar informes a partir de los datos almacenados Sistema de Base de Datos SBD = BD + SGBD + Software de Aplicación/Consultas Tema 1. Sistemas de bases de datos

7 Usuarios / Programadores
Entorno simplificado de un Sistema de Base de Datos Software para procesar Consultas / Programas Software para tener acceso a los datos almacenados SOFTWARE DEL SGBD Programas de Aplicación / Consultas SISTEMA DE BASE DE DATOS Usuarios / Programadores Definición de la BD (Metadatos) Base de Datos almacenada Tema 1. Sistemas de bases de datos

8 1.1 Bases de datos y sus usuarios
Características del enfoque de Bases de Datos (1) Naturaleza autodescriptiva Procesamiento de ficheros Los programas de aplicación acceden a datos específicos, cuya estructura se describe en el propio código Sistemas de bases de datos SGBD = Sistema software de propósito general BD = DATOS + METADATOS El Catálogo del Sistema ... Contiene metadatos: descripción de la estructura de la BD  El SGBD “sabrá” acceder a datos de cualquier aplicación Usado por el SGBD (a veces por usuarios) Una manera de mantener la información en un computador es almacenarla en ficheros del sistema operativo. Para permitir a los usuarios manipular la información, el sistema tiene un conjunto de programas de aplicación que manipulan los ficheros. Un sistema de procesamiento de ficheros típico se mantiene mediante un sistema operativo convencional. Tema 1. Sistemas de bases de datos

9 1.1 Bases de datos y sus usuarios
Características del enfoque de Bases de Datos (2) Separación entre programas y datos Procesamiento de ficheros Definición de datos forma parte de los programas de aplicación Cambios en la estructura de ficheros de la BD  modificación de programas que acceden a tales ficheros Sistemas de bases de datos Descripción de estructura y organización de ficheros almacenada en Catálogo, separada de los programas  Independencia entre programas y datos ( posible gracias a la abstracción de datos proporcionada por SGBD, que veremos más adelante ) Tema 1. Sistemas de bases de datos

10 1.1 Bases de datos y sus usuarios
Características del enfoque de Bases de Datos (y 3) Datos compartidos y procesamiento de transacciones multiusuario Acceso simultáneo a datos sin interferencias ni inconsistencias Control de concurrencia por el SGBD Múltiples vistas de los datos Cada usuario sólo interesado en ver la parte de la información que necesita  vista de la BD Vista = [ Subconjunto de ] BD [+ datos virtuales] SGBD proporciona mecanismos de definición de vistas SBD BIBLIOTECA BD Bibliotecario Lector Tema 1. Sistemas de bases de datos

11 BD + SGBD + Otro Software (aplicaciones/programas de acceso)
1.1 Bases de datos y sus usuarios Actores en un sistema de base de datos (1) Administrador de la base de datos (ABD) Responsable de administrar los recursos del SBD (nivel técnico): BD + SGBD + Otro Software (aplicaciones/programas de acceso) Las funciones del ABD incluyen: Definir/Modificar la estructura de la BD y restricciones de los datos Crear/Modificar estructuras de almacenamiento y métodos de acceso Conceder/Denegar permisos de acceso y controlar dicho acceso a datos (seguridad de la BD) Definir planes de copias de seguridad de los datos de la BD Garantizar el funcionamiento correcto del sistema y proporcionar servicio técnico al usuario (respuesta lenta del sistema...) Adquirir los recursos software y hardware necesarios Tema 1. Sistemas de bases de datos

12 1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (2) Diseñadores de la base de datos Antes de implementar la BD, interactúan con sus futuros usuarios Recogen y comprenden sus necesidades y objetivos --- Requisitos Identifican datos que almacenar en la base de datos Eligen estructuras para representar y almacenar los datos Construyen... Vista que satisface requisitos de cada grupo de usuarios Diseño final de BD que satisface necesidades de todos los usuarios (resultado de la integración de las diferentes vistas) Tema 1. Sistemas de bases de datos

13 1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (3) Usuarios finales Ocasionales o Sofisticados Acceso esporádico y distinto cada vez; usan lenguaje de consulta Paramétricos o Normales Accesos constantes, repetitivos Usan “transacciones programadas” para ellos Avanzados o Especializados Implementan sus propias aplicaciones especializadas para cumplir sus complejos requisitos Ingenieros, científicos, analistas de empresa, ... Autónomos Usan BD personales, a través de aplicación/paquete comercial específico Tema 1. Sistemas de bases de datos

14 1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (4) Ingenieros de software (Analistas de sistemas y Programadores de aplicaciones) Conocen perfectamente capacidades y recursos del SGBD Analistas Determinan necesidades de procesamiento de los usuarios finales (especialmente los paramétricos) Especifican conjuntos de operaciones que satisfacen esas necesidades Programadores Implementan estas especificaciones  Programas de aplicación Prueba, depuración, documentación y mantenimiento de programas Tema 1. Sistemas de bases de datos

15 1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos (5) Los siguientes son los encargados del diseño, creación y operación del software y entorno del sistema No están interesados en el contenido de la base de datos Diseñadores e Implementadores del SGBD Diseñan e Implementan los Módulos e Interfaces del SGBD Operadores y Personal de mantenimiento del Entorno hardware y software del sistema de BD Tema 1. Sistemas de bases de datos

16 1.1 Bases de datos y sus usuarios
Actores en un sistema de base de datos ( y 6) Desarrolladores de herramientas Diseñan e Implementan paquetes software que: Facilitan diseño y uso de los SBD, y Permiten aumentar el rendimiento de los SBD Herramientas para Diseño de BD, de aplicaciones de BD, de interfaces de usuario... Creación de prototipos de aplicaciones de BD Realizar simulaciones y generar datos de prueba Supervisión de rendimiento del sistema ... Tema 1. Sistemas de bases de datos

17 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (1) Disminución y control de la redundancia de datos Procesamiento de ficheros  varias copias de la misma información Problemas debidos a la redundancia de datos Duplicación del trabajo Desperdicio de espacio de almacenamiento Obligación de evitar las inconsistencias de datos Evitar inconsistencias en los datos Sólo si existe redundancia y se modifica un dato, actualizando algunas copias Soluciones: Eliminación de Redundancia, Redundancia Controlada y Propagación de Actualizaciones Automática Tema 1. Sistemas de bases de datos

18 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (2) Mantener la integridad Asegurar que la información es correcta=refleja fielmente el minimundo ¿Cuándo se viola la integridad (no existe)? Si existe inconsistencia Si existe información imposible fecha = 40 / MAYO / 1972 Si existe información que no se ajusta a la realidad, es decir falsa o errónea Nº de teléfono de la policía = 063 ¿Cómo se evitan estas situaciones? Si los datos cumplen las Restricciones de Integridad ( RI ) Restricciones sobre tipos de datos « el nombre de una persona es una cadena de hasta 30 caracteres » Restricciones semánticas « todo libro tiene una editorial » « cada libro tiene un título diferente del resto » « ningún libro puede prestarse a más de una persona al mismo tiempo » Tema 1. Sistemas de bases de datos

19 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (3) Mantener la integridad (cont.) Las RI son identificadas durante el diseño de la BD Control de la Integridad: fundamental en SBD Multiusuario Verificación de Restricciones de Integridad en cada actualización de datos Automática por el SGBD fecha = 40 / MAYO / 1972 Mediante programas específicos  El SGBD debe permitir - Definir (crear) las RI, - Crear y ejecutar los programas de verificación A veces se puede almacenar información falsa sin violar restricciones de integridad: título de libro = “El señor de los aniyos” Tema 1. Sistemas de bases de datos

20 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (4) Aplicación de restricciones de seguridad ( RS ) No todos los usuarios deberían poder acceder a toda la BD Objetivo: control de acceso selectivo 1. Sólo usuarios autorizados 2. Sólo a ciertas partes de la base de datos 3. Sólo para realizar ciertas operaciones con los datos SGBD dispone de Subsistema de Seguridad y Autorización Cuentas de usuario protegidas con contraseña (ok objetivo 1) Restricciones de seguridad para cada cuenta (ok objetivos 2 y 3) SGBD fuerza el cumplimiento de las RS Otros controles de la seguridad serían: Sólo el ABD usa el software de administración y monitorización del SBD Un usuario paramétrico sólo accede a la BD a través del programa que usa ... Tema 1. Sistemas de bases de datos

21 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (5) Suministro de múltiples interfaces de usuario Usuarios con diferentes niveles de conocimientos técnicos El SGBD debe ofrecer interfaces para todos ellos: Interfaces controladas por menú y de formularios = GUI Acceso a bases de datos a través de la web Lenguajes de consulta usuarios ocasionales Interfaces de lenguajes de programación programadores de aplicaciones Formularios y comandos usuarios paramétricos Interfaces controladas por menú y de lenguaje natural usuarios autónomos GUI : Interfaces gráficas de usuario. Para especificarlas existen muchos lenguajes y entornos especializados. Tema 1. Sistemas de bases de datos

22 1.1 Bases de datos y sus usuarios
Ventajas del uso de un SGBD (6) Representación de relaciones complejas entre datos Datos relacionados entre sí de diversas maneras « El registro (Planeta, ...) del fichero EDITORIAL se relaciona con 2 registros del fichero LIBRO: (..., El retrato de Dorian Gray, ...) y (..., Once minutos, ...) » « Cada registro de PRESTAMO se relaciona con un registro de PERSONA y con un registro de LIBRO » « Cada registro de AUTOR se relaciona con varios registros de LIBRO » SGBD debe permitir ... Representar relaciones entre los datos Obtener y Actualizar datos relacionados « Obtener los títulos y editorial de los libros escritos por “Arthur Conan Doyle” » « Obtener nombres y teléfonos de personas con libros prestados más de cinco meses » Tema 1. Sistemas de bases de datos

23  1.1 Bases de datos y sus usuarios Ventajas del uso de un SGBD (y 7)
Respaldo y Recuperación Recuperación del sistema tras fallos del hardware o software Subsistema del SGBD encargado de respaldo y recuperación Programa de ACTUALIZACIÓN de datos BD KO !! Estado FINAL BD ok Estado INICIAL BD ok XOR Continuación y Finalización Correcta del programa Restauración de la BD “Deshacer” toda actualización de datos hecha por el programa SGBD Tema 1. Sistemas de bases de datos

24 Nuevas Necesidades de datos
1.1 Bases de datos y sus usuarios Otras ventajas del enfoque de bases de datos (1) Datos compartidos actualizados Datos disponibles para todos los usuarios El cambio de datos por un usuario es visto inmediatamente por el resto Subsistemas de control de concurrencia y recuperación del SGBD Flexibilidad SGBD permite cambios en la estructura de BD, sin afectar... Datos almacenados Programas de aplicación existentes Cambios en Requisitos Nuevas Necesidades de datos modificaciones en estructura de la BD Tema 1. Sistemas de bases de datos

25 Diseño e implementación inicial costosos
1.1 Bases de datos y sus usuarios Otras ventajas del enfoque de bases de datos (y 2) Rápida creación de nuevas aplicaciones Cumplimiento de reglas, normas o políticas de empresa ABD establece normas para usuarios de la base de datos Intercambio de información y cooperación entre departamentos, proyectos... Estándares para nombres y formatos de elementos de datos documentación, formularios, informes ... Diseño e implementación inicial costosos APL-1 APL-3 APL-2 Tema 1. Sistemas de bases de datos

26 1.1 Bases de datos y sus usuarios
Cuándo NO usar un SGBD Hay situaciones en las que emplear un SGBD puede generar costes innecesarios, evitables con el procesamiento de ficheros Costes adicionales debidos a... Gran inversión inicial en equipo, software y formación Generalidad ofrecida por el SGBD para definir y procesar datos Funciones de seguridad, control de concurrencia, recuperación, integridad Problemas adicionales si... Diseñadores o ABD no han diseñado la base de datos apropiadamente La implementación de las aplicaciones no es correcta Conviene utilizar procesamiento de ficheros si... BD y aplicaciones son simples, bien definidas y no se espera que cambien Requisitos de tiempo real que no se cumplirían por el coste extra del SGBD No se necesita acceso multiusuario a los datos Tema 1. Sistemas de bases de datos

27 1.2 Conceptos y arquitectura del sistema de bases de datos
Modelos de datos, esquemas e instancias Objetivo del enfoque de BD: Visión abstracta de datos Ocultar detalles de almacenamiento y mantenimiento Modelos de datos para conseguir abstracción Modelo de Datos: conjunto de conceptos Sirve para describir la estructura de la BD: Tipos de los datos Relaciones entre los datos Restricciones que deben cumplir los datos Incluye operaciones básicas para especificar lectura/modificación Tipos de modelos de datos Según conceptos que ofrecen para describir la estructura de la BD Tema 1. Sistemas de bases de datos

28 Modelo CONCEPTUAL de Datos
1.2 Conceptos y arquitectura del SBD Modelos de datos de alto nivel o conceptuales Modelo CONCEPTUAL de Datos Esquema Conceptual Mundo Real Conceptos cercanos a cómo el usuario percibe la realidad (minimundo) Realidad descrita como entidades que se relacionan entre sí Entidad: cosa | objeto | concepto del minimundo Atributo: propiedad interesante de alguna entidad Relación: asociación | vínculo | interacción entre entidades Modelo Entidad/Relación, MER (ERM, entity-relationship model) Modelos Orientados a Objetos (UML, Unified Modeling Language) Tema 1. Sistemas de bases de datos

29 Relacional, Red, Jerárquico
1.2 Conceptos y arquitectura del SBD Modelos de datos de representación o lógicos (1) Permiten describir la estructura lógica global: descripción de la implementación Conceptos entendibles por usuarios finales, pero no lejos de organización física de datos Ocultan detalles de implementación, pero conceptos implementables directamente en el sistema Los más utilizados en los SGBD comerciales actuales (ORACLE) Modelos basados en registros Relacional, Red, Jerárquico Modelos orientados a objetos Modelos lógicos próximos a los conceptuales Tema 1. Sistemas de bases de datos

30 1.2 Conceptos y arquitectura del SBD
Modelos de datos de representación o lógicos (y 2) MODELO RELACIONAL CUENTA número saldo ... 200 35 505 40 821 50 Cada cliente sólo puede tener una cuenta a su nombre. Una cuenta puede tener más de un cliente como titular. CLIENTE nombre dirección ciudad cuenta García, A Gran Vía, 6 Murcia 200 López, B Ronda Norte, 3 821 Azorín, C Paseo Nuevo, 9 Valencia 505 Pérez, C Plaza Mayor, 2 ... Tema 1. Sistemas de bases de datos

31 1.2 Conceptos y arquitectura del SBD
Modelos de datos de bajo nivel o físicos Conceptos que describen detalles de almacenamiento de los datos Dirigidos a usuarios especialistas en informática Describen la estructura física de la base de datos: - Formato y ordenamiento de registros en los ficheros de datos - Tamaños de página, de bloque,... - Caminos (o estructuras) de acceso a los datos (ficheros índices, etc.) ... Tema 1. Sistemas de bases de datos

32 1.2 Conceptos y arquitectura del SBD
Esquemas, instancias y estado de la base de datos Esquema = Descripción Especificado en el diseño de la BD y rara vez modificado Metainformación o metadatos Diagrama del Esquema de la BD Representación del esquema, en un modelo de datos Compuesto de esquemas de tipos de registro (elementos del esquema) LIBRO PRESTAMO ... Otra posible representación: LIBRO ( isbn, titulo, apAutor, nomEdit, año ) PRESTAMO ( idPer, idLib, fecha ) isbn titulo apAutor nomEdit año  Un diagrama de esquema sólo visualiza algunos aspectos del esquema, pero no muestra muchos otros: tipos de datos, relaciones entre elementos del esquema,... idPer idLib fecha Tema 1. Sistemas de bases de datos

33 1.2 Conceptos y arquitectura del SBD
Esquemas, instancias y estado de la base de datos Una base de datos es un conjunto de datos reales relacionados que cambian continuamente Estado de la base de datos Conjunto de datos que contiene la BD en un momento concreto Conjunto de instancias de los elementos del esquema de BD 1 esquema  N estados Estado Consistente (ok!!) Satisface estructura y restricciones especificadas en esquema SGBD asegura que todo estado de la BD sea consistente Nomenclatura: Esquema = Intensión ; Estado = Extensión No sólo el SGBD es el encargado de asegurar la consistencia de todo estado de la BD, pues el se debe contribuir mediante la programación de las comprobaciones que no puede controlar el SGBD automáticamente. Tema 1. Sistemas de bases de datos

34 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas de un SGBD Recuperación eficiente de datos  estructuras de datos complejas para representar la información en la BD Complejidad oculta a través de niveles de abstracción Arquitectura ANSI/X3/SPARC Ayuda a conseguir Separación entre programas y datos Múltiples vistas de usuario Nivel Externo (vistas) ... ... Nivel Conceptual Nivel Interno Tema 1. Sistemas de bases de datos

35 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (1) Nivel Interno Descrito mediante el Esquema Interno, el cual... Define la estructura física de almacenamiento de toda la BD Tipos de registros almacenados, Secuencia física de los registros, Estructuras de almacenamiento (hashing,...), Estructuras de acceso (indexación,...) etc. Escrito utilizando un Modelo de Datos Físico Muy cercano al nivel físico pero no trata con registros físicos (bloques, páginas, …) ni con unidades como cilindros o pistas. La vista interna está a un paso del nivel físico, ya que no trata con los registros físicos (bloques, páginas, etc.) ni con consideraciones específicas de unidades como cilindros o tamaños de pista. La vista interna efectivamente asume un espacio de direccionamiento lineal infinito; los detalles de cómo este espacio de direcciones es mapeado al espacio físico son altamente específicos del sistema y son omitidos deliberadamente de la arquitectura general. Tema 1. Sistemas de bases de datos

36 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (2) Nivel Conceptual o Lógico Descrito mediante el Esquema Conceptual o Lógico... Define la estructura lógica de toda la BD Entidades, Tipos de datos, Relaciones, Restricciones (integridad, seguridad,...) Oculta detalles físicos Escrito usando un Modelo de Datos Conceptual o Lógico Actualmente se considera el uso de dos esquemas en este nivel: Esquema Conceptual: organizativo, cercano al usuario Esquema Lógico: cercano al SGBD [Celma et al 2003, p. 216] En el estado actual de desarrollo de las técnicas de bases de datos no existe ningún modelo conceptual accesible desde un SGBD que permita definir el esquema conceptual; por este motivo, muchos autores prefieren distinguir dos esquemas en este nivel, en lugar de uno (el esquema conceptual de la propuesta de ANSI/SPARC): Esquema Conceptual: descripción del sistema de información desde un punto de vista organizativo independiente del SGBD que se utilice e incluso de que se usen o no técnicas de bases de datos. En este esquema se describe la información y las funciones de la organización desde un punto de vista no informático, empleando un modelo conceptual (modelo entidad-relación). Esquema Lógico: definición de la base de datos expresada en términos del modelo de datos en que se basa el SGBD elegido, sin entrar en detalles de su representación física (modelo relacional de datos). Tema 1. Sistemas de bases de datos

37 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (3) Nivel Externo o de Vistas Descrito mediante Esquemas Externos Cada Esquema Externo o Vista... Define la porción de la BD que interesa a un usuario Para el usuario, esa porción es la base de datos Pueden existir múltiples vistas del mismo esquema conceptual Varias vistas pueden solaparse entre sí Escrito usando Modelo de Datos Conceptual o Lógico Tema 1. Sistemas de bases de datos

38 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (4) SGBD comerciales no distinguen del todo los 3 niveles Algunos incluyen detalles físicos en el Esquema Conceptual (Lógico) Usan el mismo modelo de datos para especificar Esquemas Externos (vistas) y Esquema Conceptual (lógico) Los 3 niveles son descripciones de datos Los datos reales sólo están en el nivel físico Correspondencia entre esquemas  SGBD (el ABD) Externo  Conceptual Conceptual  Interno Correspondencia o Transformación: Las diferencias que pueden existir entre un esquema externo y el conceptual (similares a las que pueden existir entre el conceptual y el interno) son del siguiente tipo: Campos con diferentes tipos de datos Nombres de campos distintos Varios campos conceptuales pueden combinarse para formar un único campo externo (virtual) etc. El responsable de la definición y los cambios en los mappings es el ABD. Tema 1. Sistemas de bases de datos

39 1.2 Conceptos y arquitectura del SBD
Arquitectura de tres esquemas ANSI/X3/SPARC (y 5) Nivel Externo (Lenguaje de Programación “tipo Pascal”) tipo empleado = registro (no acceso al salario) n_empleado: cadena(6); n_depto: cadena(4); fin; Nivel Conceptual (Lenguaje de definición de datos, LDD) EMPLEADO ( NUMERO_EMPLEADO CARACTER(6) CLAVE PRINCIPAL, NUMERO_DEPARTAMENTO CARACTER(4) NO NULO, SALARIO NUMERICO(5) NO NULO ) Nivel Interno EMP_ALMACENADO LONGITUD=20 PREFIJO TIPO=BYTE(6), DESPLAZAMIENTO=0 EMP# TIPO=BYTE(6), DESPLAZAMIENTO=6, INDICE=IEMP DEPTO# TIPO=BYTE(4), DESPLAZAMIENTO=12 PAGA TIPO=PALABRA, DESPLAZAMIENTO=16 Ejemplo extraído de [Date95] (pág 29) En el nivel conceptual, la BD contiene información acerca de un tipo de entidad (tipo de registro conceptual) llamado EMPLEADO. Cada ocurrencia individual de EMPLEADO tiene un NUMERO_EMPLEADO (6 caracteres) cuyos valores son únicos, un NUMERO_DEPARTAMENTO (4 caracteres) y un SALARIO (decimal de 5 dígitos). En el nivel interno, los empleados son representados por un tipo de registro almacenado llamado EMP_ALMACENADO, de 20 bytes de largo. Contiene 4 campos almacenados: un prefijo de 6 bytes (que contiene probablemente información de control como flags o punteros), y tres campos de datos correspondientes a las tres propiedades de los empleados. Además, los registros están indexados sobre el campo EMP# mediante un índice llamado IEMP, cuya definición no ha sido mostrada. El usuario Pascal (programador de aplicaciones) tiene una vista externa de la base de datos en la cual cada empleado está representado por un registro Pascal que contiene dos campos (el salario no es de interés para este usuario y por tanto, ha sido omitido en la vista). El registro ha sido definido mediante una declaración de tipo “struct” de Pascal, y define registros externos y no registros almacenados. [Nota: este ejemplo de vista externa está extraido de [SKS98] (pág 4)] Hay que tener en cuenta que un usuario del nivel externo puede ser un programador de aplicaciones (que use C, Pascal, COBOL, PL/I, o un 4GL) o bien un usuario final con cualquier grado de sofisticación (que use un lenguaje de consultas, o bien un lenguaje de propósito especial guiado por forms o menús, adaptado a los requisitos del usuario y soportado por algún programa de aplicación online). Estos lenguajes contendrán (embebido) un sublenguaje de datos, que tiene que ver específicamente con objetos y operaciones de base de datos. Otra vista externa podría ser una en la que cada empleado estuviera representado por un objeto Java con varios atributos. El objeto sería definido mediante una clase Java. Por supuesto, ha de existir una definición del mapping entre cada dos esquemas adyacentes. Tema 1. Sistemas de bases de datos

40 1.2 Conceptos y arquitectura del SBD
Independencia de datos (1) « Capacidad de modificar el esquema de un nivel sin tener que cambiar el esquema del nivel inmediato superior » Independencia lógica de datos Capacidad de modificar el esquema conceptual... ampliar / reducir la BD modificar restricciones ... sin alterar esquemas externos programas de aplicación difícil de conseguir… En realidad sólo se verán afectados por los cambios en el esquema conceptual los programas de aplicación que acceden a las estructuras de datos o restricciones modificadas. El resto permanece inalterado. Tema 1. Sistemas de bases de datos

41 1.2 Conceptos y arquitectura del SBD
Independencia de datos (2) Independencia física de datos Capacidad de modificar el esquema interno... reestructurar alguna estructura de almacenamiento crear nuevas estructuras de acceso, etc.  mejorar rendimiento de la obtención/actualización ... sin alterar esquema conceptual programas de aplicación es más fácil de lograr Tema 1. Sistemas de bases de datos

42  gracias a la Arquitectura de Tres Niveles
1.2 Conceptos y arquitectura del SBD Independencia de datos (y 3) Pero... ¿cómo conseguir la independencia de datos? El Catálogo de SGBD incluye información sobre correspondencias entre esquemas  Modificación del esquema de un nivel implica... cambios en la correspondencia entre niveles, y el esquema del nivel superior no varía  gracias a la Arquitectura de Tres Niveles Mantenimiento de las correspondencias entre niveles... gasto extra en compilación / ejecución de programas menor eficiencia del SGBD Pocos SGBD implementan Arquit. de Tres Niveles completa OK !! Tema 1. Sistemas de bases de datos

43 1.2 Conceptos y arquitectura del SBD
Lenguajes e interfaces de bases de datos Lenguajes del SGBD (1) LDD: lenguaje de definición de datos Usado por ABD y diseñadores para especificar... Esquema Conceptual Esquema Interno si SGBD sin separación estricta de niveles conceptual e interno Correspondencias entre los anteriores Compilador de LDD: procesa sentencias escritas en LDD, para identificar descripciones de elementos del esquema y almacenarlas en el catálogo del SGBD Tema 1. Sistemas de bases de datos

44 1.2 Conceptos y arquitectura del SBD
Lenguajes e interfaces de bases de datos Lenguajes del SGBD (2) LDD: lenguaje de definición de datos (cont.) CREATE TABLE Libro ( isbn CHAR(10) PRIMARY KEY, titulo VARCHAR(60) NOT NULL UNIQUE, apAutor VARCHAR(15) NOT NULL, nomEdit VARCHAR(15) NOT NULL, año NUMERIC(4) ... ); Tema 1. Sistemas de bases de datos

45 1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (3) LDA: lenguaje de definición de almacenamiento En SGBD que distinguen entre niveles conceptual e interno, se usa... LDA para especificar Esquema Interno detalles de implementación de estructuras de almacenamiento y de acceso LDD para especificar el Esquema Conceptual entidades + relaciones + restricciones LDD o LDA para definir Correspondencias entre los anteriores Tema 1. Sistemas de bases de datos

46 1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (4) LDV: lenguaje de definición de vistas Para conseguir Arquitectura de Tres Esquemas “verdadera” Usado para especificar Esquemas Externos (o Vistas de usuario) Correspondencias entre Vistas y el Esquema Conceptual No obstante, la mayoría de SGBD utilizan LDD para definir vistas CREATE VIEW PrestamoLibro AS SELECT R.fecha, L.titulo, P.nombre FROM PRESTAMO R, LIBRO L, PERSONA P WHERE R.idLib = L.isbn AND R.idPer = P.id; Tema 1. Sistemas de bases de datos

47 1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (5) LMD: lenguaje de manipulación de datos Obtención, Inserción, Eliminación y Modificación de datos Dos tipos de DML: procedimental y declarativo LMD procedimental, o de bajo nivel Qué datos obtener/manipular y cómo obtenerlos/manipularlos Siempre debe estar empotrado en un LP Es un LMD orientado a registros: Obtiene un solo registro y lo procesa por separado » Necesita usar elementos del LP (ej. bucles) para... obtener registro a registro y procesarlos individualmente Tema 1. Sistemas de bases de datos

48 1.2 Conceptos y arquitectura del SBD
Lenguajes del SGBD (y 6) LMD declarativo, o de alto nivel Qué datos obtener para manipular y no cómo manipularlos Usado para realizar operaciones complejas de BD... - Interactivamente -- Lenguaje de Consulta - Incorporado en un LP anfitrión (host) -- LMD Empotrado Es un LMD orientado a conjuntos: Obtiene/Actualiza muchos registros con una única sentencia SELECT titulo, nomEdit, año FROM Libro WHERE apAutor = “Tolkien”; INSERT INTO Autor VALUES (“Jorge Luís”, “Borges”); DELETE FROM Prestamo WHERE idLib = ; UPDATE Persona SET telefono = WHERE id = 1; SGBD comerciales actuales ofrecen único lenguaje integrado, mezcla de LDD, LDA, LDV y LMD (como SQL) Tema 1. Sistemas de bases de datos

49 1.2 Conceptos y arquitectura del SBD
un apunte: acceso a BD desde programas de aplicación Programas escritos en un lenguaje (C++, Java, ...) anfitrión Dos modos de ejecutar instrucciones LMD desde el lenguaje anfitrión: Usar Interfaz de Programa de Aplicación (conjunto de procedimientos) ODBC, Open Data Base Connectivity (definido por Microsoft para C), JDBC, Java Data Base Connectivity Extender la sintaxis del lenguaje anfitrión para incorporar llamadas LMD dentro de los programas Instrucciones LMD precedidas de un carácter especial El preprocesador de LMD convertirá estas instrucciones en llamadas a procedimientos normales del lenguaje anfitrión Tema 1. Sistemas de bases de datos

50 1.2 Conceptos y arquitectura del SBD
Interfaces del SGBD Basadas en menús Basadas en formularios Gráficas De lenguaje natural Para usuarios paramétricos Para el ABD (órdenes privilegiadas) Crear/eliminar cuentas de usuario y establecer autorizaciones Establecer parámetros de ajuste del rendimiento del sistema Modificación de esquemas y correspondencias Acceso al catálogo Reorganizar estructura de almacenamiento de la BD Realizar/restaurar copias de seguridad ... Tema 1. Sistemas de bases de datos

51 1.3 Estructura general del sistema de bases de datos
Módulos componentes de un SGBD (1) Arquitectura de los paquetes software de SGBD Los actuales tienen un diseño modular, según una arquitectura cliente-servidor (dos capas) SGBD BD SERVIDOR Terminal Estación de trabajo PC USUARIOS CLIENTE Programas de aplicación Interfaces (GUI) de acceso a BD Red de larga distancia (WAN) Red de área local (LAN) Líneas telefónicas Dispositivos de comunicación por satélite Tema 1. Sistemas de bases de datos

52 Compilador de Consultas
1.3 Estructura general del sistema de bases de datos Módulos componentes de un SGBD (2) Compilador de Consultas Sentencias LMD interactivas Compilador de Consultas Análisis Sintáctico Optimización El compilador de consultas trata las consultas de alto nivel (escritas en LMD) que se introducen de forma interactiva, analiza su sintaxis y genera llamadas al procesador de consultas para que las ejecute. En el libro [EN97] este módulo aparece por separado, mientras que en [SKS98] aparece integrado en el “compilador de LMD. Puesto que en [SKS98] indica que es el “compilador de LMD” el que realiza la optimización de las sentencias, y debido a la ausencia de ‘pistas’ en el resto de la literatura, y teniendo en cuenta que el “procesador de consultas” (o “motor de evaluación”) parece que tan sólo se encarga de ejecutar las instrucciones de bajo nivel que le llegan, he pensado que tiene sentido pensar que tanto en el “compilador de consultas” interactivas como en el “compilador de LMD” embebido definidos en [EN97] deberá realizarse un proceso de optimización. Procesador de Consultas Tema 1. Sistemas de bases de datos

53 1.3 Estructura general del SBD
Módulos componentes de un SGBD (3) Precompilador y compilador de LMD Programa escrito en LP HOST + LMD embebido Precompilador de LMD Sentencias LMD Sentencias LP Compilador de LMD Compilador del LP HOST Código Objeto (del LMD) Código Objeto (del LP) El precompilador de LMD embebido extrae las sentencias en LMD de un programa escrito en un lenguaje host y las envía al compilador de LMD. El compilador de LMD las convierte en código objeto (instrucciones de bajo nivel que entiende el procesador de consultas) para el acceso a la BD. Además, el compilador de LMD intenta optimizar las sentencias: transformarlas en otras equivalentes, pero más eficientes (encontrando así una buena estrategia para ejecutar la consulta). El resto del programa se envía al compilador del lenguaje host. El código objeto de las sentencias LMD se enlaza (link) con el código objeto del resto del programa, formando una transacción programada cuyo código ejecutable incluye llamadas al procesador de consultas de la base de datos. Enlazador Transacción programada ejecutable Procesador de Consultas Tema 1. Sistemas de bases de datos

54 Definición de Esquema de BD escrito en LDD
1.3 Estructura general del SBD Módulos componentes de un SGBD (4) Compilador de LDD Procesa definiciones de esquemas escritas en LDD Almacena descripciones de los esquemas en el catálogo Otros módulos del SGBD necesitan conocer estos metadatos Definición de Esquema de BD escrito en LDD Compilador de LDD BD SO El compilador de LDD procesa las definiciones de esquema escritas en LDD, y almacena las descripciones de los esquemas (metadatos) en el catálogo del SGBD. Otros módulos del SGBD necesitan conocer la información contenida en el catálogo. Tema 1. Sistemas de bases de datos

55 Procesador de Consultas
1.3 Estructura general del SBD Módulos componentes de un SGBD (5) Procesador de Consultas Solicitudes de RECUPERACIÓN y ACTUALIZACIÓN Procesador de Consultas Gestor de Datos Almacenados BD SO El procesador de consultas en tiempo de ejecución se encarga de recibir solicitudes de recuperación o actualización (de bajo nivel, generadas por el compilador de LMD o el compilador de consultas o transacciones programadas), y las ejecuta sobre la base de datos. El acceso a los datos (a disco) se realiza mediante el gestor de datos almacenados. En el libro [EN97] lo denominan “Procesador de la base de datos en tiempo de ejecución”. Y en [SKS98] “Motor de evaluación de consultas”. Tema 1. Sistemas de bases de datos

56 1.3 Estructura general del SBD
Módulos componentes de un SGBD (6) Subsistemas de control de... Concurrencia y Recuperación - Gestor de transacciones Asegurar consistencia y coherencia de datos frente actualizaciones simultáneas de datos por múltiples usuarios Detectar fallos o caídas del sistema y Restaurar la BD a un estado consistente Integridad y Seguridad ¿Son correctas las actualizaciones de los datos? Detectar violación de Restricciones de Integridad y realizar acción de recuperación de la integridad de datos ¿Se cumplen las restricciones de seguridad de acceso? Comprobar las autorizaciones de acceso al SBD y a los datos Tema 1. Sistemas de bases de datos

57 Gestor de Datos Almacenados
1.3 Estructura general del SBD Módulos componentes de un SGBD (7) Gestor de datos almacenados y memoria intermedia Control de acceso a información almacenada (datos y metadatos) Puede emplear servicios básicos del SO para la transferencia de datos a bajo nivel: disco  memoria principal Maneja los buffers de memoria (almacenam. intermedio) Gestor de Datos Almacenados BD SO Tema 1. Sistemas de bases de datos

58 1.3 Estructura general del SBD
Módulos componentes de un SGBD (y 8) Estructuras de Datos Ficheros de datos en disco Catálogo: metadatos acerca de... Estructura de BD, Restricciones de Integridad y de Autorización, etc. Acceso Continuo por diferentes módulos del SGBD  Necesario buen diseño e implementación  eficiencia Estructuras de acceso (agilizan el acceso a los datos) Datos estadísticos sobre los datos en la BD Usados para optimización de consultas Suele considerarse contenidos en el catálogo BD SO Tema 1. Sistemas de bases de datos

59 SGBD = componente software más importante
1.3 Estructura general del SBD Utilidades del sistema de bases de datos SGBD = componente software más importante ¡ pero no es el único ! Carga de datos Intercambio de información entre BD de diferente tipo ( Oracle  Access ) Respaldo Reorganización de ficheros de la BD Para mejorar rendimiento del sistema Monitorización Vigilancia del funcionamiento del sistema y su rendimiento Datos estadísticos que el ABD usa para tomar decisiones de ajuste y mejora del sistema Control de Accesos de usuario Acceso al Diccionario de datos Otras utilidades ordenamiento, compresión de ficheros, etc... Tema 1. Sistemas de bases de datos

60 Anexo 1. CLASIFICACIÓN DE LOS SGBD
Según el Modelo de Datos en el que está basado Relacional, Red, Jerárquico, Orientado a Objetos, Objeto/Relacional, ... Según el nº de usuarios simultáneos Monousuario Multiusuario Según el nº de lugares en que se almacenan datos Centralizado Distribuido (SGBDD) SGBDD homogéneo: mismo software de SGBD en todos los sitios SGBDD heterogéneo (ej. Multi-Base de Datos o BD Federadas) Según su propósito de propósito General de propósito Específico: construido para un tipo concreto de aplicaciones Tema 1. Sistemas de bases de datos


Descargar ppt "COMPENDIO DE BASES DE DATOS"

Presentaciones similares


Anuncios Google