La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a las Bases de Datos

Presentaciones similares


Presentación del tema: "Introducción a las Bases de Datos"— Transcripción de la presentación:

1 Introducción a las Bases de Datos
Dpto. Informática IES Juan de la Cierva Introducción a las Bases de Datos

2 Índice Introducción Sistemas de Gestión de Bases de Datos
Perspectiva histórica Ficheros vs. BBDD Abstracción de datos Ejemplares y Esquemas Modelo de datos Componentes de los SGBD Lenguajes de Bases de Datos Diccionario de datos Gestor de almacenamiento Procesador de consultas El Administrador de la Base de datos Los usuarios finales Producto del mercado Bibliografía y Documentación

3 Introducción Las bases de datos han pasado en unas décadas de ser una aplicación informática especializada a estar presentes en nuestra vida cotidiana. La posesión y el uso de una tarjeta de crédito, la inscripción en un centro educativo, la consulta de información en un buscador de Internet, la reserva de un billete, etc. implican la existencia y el soporte de una base de datos Por otra parte, y tal y como lo fueron en origen, las bases de datos almacenan y gestionan el principal activo de la administración de cualquier empresa, los datos de clientes, proveedores, artículos, contabilidad, etc. Es por esto que en este curso dedicaremos este módulo de 220 horas lectivas y muchas más a conocer conceptos y adquirir destrezas en este campo de la Informática de Gestión

4 Sistema de Gestión de una Base de Datos (SGBD)
Se denomina SGBD a una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos Los datos suelen recibir el nombre de Base de Datos y contienen información relevante para la empresa El objetivo principal de un SGBD es proporcionar una forma de recuperar y almacenar la información práctica y eficiente Para ello debe: Establecer métodos para definir y manejar datos Manipular eficientemente gran cantidad de información Tener fiabilidad ante caídas, errores y accesos no permitidos Definir estrategias de respuesta ante accesos concurrentes Ser flexible a los cambios futuros

5 Perspectiva Histórica (cont.)
A mediados de los 60 y en los 70 se empezó a emplear masivamente el disco duro, cuya principal mejora era el acceso aleatorio o directo a cualquier sector de cualquier disco en milisegundos. Aparecen los ficheros de organización directa y secuencial indexada , y se sigue programando en COBOL, aunque comienzan a utilizarse los SGBD basados en estructuras jerárquicas y en red En 1970, Codd define el modelo de datos relacional, plenamente vigente en la actualidad, amparado en un respaldo teórico matemático que le llevó a conseguir el premio Turing de la ACM y a revolucionar el panorama de las Bases de Datos

6 Perspectiva Histórica (cont.)
En los años 80, IBM desarrolla el System R que supuso la primera implementación comercial del modelo relacional, y que seguido por Oracle, Ingres, y RDB consiguieron barrer las bases jerárquicas y en red del mercado.

7 Perspectiva Histórica (cont.)
Aparecen en esta época las Bases de Datos paralelas y distribuidas, así como un incipiente modelo orientado a objetos. En cuanto a los sistemas de almacenamiento, éstos se perfeccionan y miniaturizan progresivamente. Aparecen los discos RAID. En los primeros 90, el lenguaje SQL se va implantando de manera generalizada para la realización de consultas como herramienta estratégica ante la toma de decisión empresarial La mayoría de los productos comerciales introducen técnicas paralelas, OLAP y extensiones que soportan la orientación a objetos

8 Perspectiva Histórica (cont.)
Internet supone la aparición masiva de aplicaciones distribuidas a nivel mundial. Así mismo se produce la democratización del acceso vía formulario a multitud de aplicaciones residentes en servidores web. También se desarrollan productos para el análisis eficiente e inteligente de los grandes volúmenes de información registrados en el mundo: minería de datos, y las bases de datos deductivas

9 Ficheros vs. BBDD Antiguamente, se focalizaba la máxima atención y esfuerzo en el diseño de algoritmos que solucionaran problemas. El estudio de la estructura intrínseca de los datos quedaba relegado a un papel secundario. Desde esta perspectiva, los programadores, creaban principalmente algoritmos, y declaraban datos sobre la marcha, según hiciera falta en una determinada aplicación, y con una perspectiva muy parcial. Con el tiempo se vio que en realidad el principal activo de un sistema informático de gestión son los datos, ya que éstos atesoran información vital para el funcionamiento de la empresa. Los programas y los propios lenguajes en que están escritos, quedan obsoletos con relativa frecuencia, y deben ser sustituidos. En cambio los datos que manipulan deben ser mantenidos y protegidos.

10 Ficheros vs. BBDD (cont.)
Guardar la información en un sistema de archivos tiene una serie de inconvenientes graves: Los datos son redundantes: es posible que un mismo dato, por ej. la dirección de un cliente aparezca almacenado en un archivo del departamento de contabilidad, y en otro del departamento de marketing, con el consiguiente derroche de espacio Se producen inconsistencias: como consecuencia de lo anterior, es posible que una de las réplicas de un dato sea actualizada y las demás no Es dificultoso acceder a los datos: una petición de información no prevista inicialmente puede llevar a tener que generar un programa específico para rastrear entre distintos ficheros a la busca del dato requerido Los datos están dispersos y aislados: solo se relacionan directamente los que aparecen definidos en el mismo fichero Hay problemas de integridad: los valores almacenados deben cumplir ciertas restricciones en sus valores que deberán ser indicadas en todos los programas que los introduzcan o modifiquen

11 Ficheros vs. BBDD (cont.)
Hay problemas de atomicidad: una transacción (p. ej. Económica) es posible que se necesite modificar más de un dato en distinto archivo (p. ej. Transferir dinero de una cuenta a otra), pero si se produce un fallo en medio de la operación, el resultado final de la información almacenada puede ser inconsistente Anomalías en el acceso concurrente: para aumentar el rendimiento del sistema y obtener una respuesta más rápida, se permite que varios usuarios actualicen datos simultáneamente. Si no se establecen controles seguros, es posible llegar corromper la información Problemas de seguridad: no todos los usuarios de la base de datos deben poder acceder a toda la información La mayoría de los productos de SGBD que existen en el mercado solucionan todos estos problemas a través de un diseño y una visión integradora de la información

12

13 Abstracción de datos Una de las principales finalidades de los SGBD´s es ofrecer a los usuarios una visión abstracta de los datos. El sistema “oculta” ciertos detalles del modo en que se almacenan y mantienen los datos. La necesidad de eficiencia ha llevado a los diseñadores a usar estructuras de datos complejas para la representación de los datos en la base. Dado que muchos de los usuarios no tienen formación en informática, los desarrolladores ocultan esta complejidad a los usuarios mediante varios niveles de abstracción para simplificar su interacción con el sistema

14 Abstracción de datos (cont.)
Nivel interno o físico: define cómo se almacenan en realidad los datos al más bajo nivel de la organización de los ficheros Nivel conceptual ó lógico: describe qué datos se almacenan en la base y que relación existe entre ellos. Define toda la base en términos de una serie de estructuras relativamente simples, cuya implementación física puede ser compleja, pero queda oculta Nivel externo o de vistas: el nivel más elevado de abstracción sólo describe parte de la base de datos. El sistema puede proporcionar muchas vistas, en realidad una por cada perfil de usuario

15 Ejemplares y esquemas Las bases de datos van cambiando de contenido a lo largo del tiempo, conforme se insertan, se modifican y se eliminan datos. A la colección de datos que contiene la base en un momento dado se le denomina ejemplar. Es como una foto fija del contenido. Por otra parte, se denomina esquema al diseño general de la base. Un esquema, si está bien hecho, sufre pocos cambios a lo largo del tiempo o incluso ninguno. En realidad hay más de un esquema: Esquema físico: describe el diseño de la base de datos en el nivel físico: características de almacenamiento, transferencia, etc Esquema lógico: describe el diseño lógico de la BD Subesquemas: son los distintos esquemas parciales correspondientes a cada visión de usuario tipo en el nivel de vistas El esquema lógico es el más importante de los tres, pues debe aislar el diseño del nivel físico, y debe poder permitir la definición de múltiples subesquemas

16 Modelos de datos Se denomina modelo de datos a una colección de herramientas conceptuales para describir datos, relaciones, semántica y restricciones de consistencia. Ofrecen un modo de datos ofrecen un modo de describir el diseño de las bases de datos en los niveles físico, lógico y de vistas. Existen diferentes modelos, de los cuales profundizaremos en este módulo en los dos primeros

17 Modelos de datos (cont.)
Modelo relacional Se utilizan colecciones de tablas para representar datos y relaciones. Cada tabla está formada por varias columnas o atributos, y cada columna tiene un nombre único. Las filas corresponden a los registros en el sistema tradicional de ficheros, y todas son semejantes. Es el modelo de datos más ampliamente usado, y la gran mayoría de los SGBD´s actualmente implantados se basan en este modelo.

18 Modelos de datos (cont.)
Modelo entidad-relación Se basa en una interpretación del mundo real que consiste en una colección de objetos básicos, denominados entidades y de las relaciones entre ellos. Una entidad es una “cosa” del mundo real que es distinguible de otros objetos Se usa mucho en el diseño conceptual de las bases de datos, y lo estudiaremos más adelante

19 Modelos de datos (cont.)
Modelo de datos orientado a objetos Se puede considerar una extensión del modelo entidad-relación que incluye además tipos de datos más complejos y conceptos propios de la orientación a objetos como: Encapsulación Herencia Polimorfismo Modelo de datos semiestructurados Permite especificar datos, en los que elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos. El lenguaje XML se emplea mucho en este tipo de modelado.

20 Modelos de datos (cont.)
Modelo de datos jerárquico Modela relaciones entre datos de tipo jerárquico, en forma de árbol estructurados mediante punteros, y no distingue entre el nivel lógico y el físico. Su implementación más exitosa fue IMS de IBM. Es un modelo obsoleto, aunque sigue funcionando en algunos sistemas de la administración pública.

21 Modelos de datos (cont.)
Modelo de datos en red Fue históricamente el primer modelo en formularse en los 60. Modela relaciones entre datos más complejas que el modelo jerárquico, al cual abarca, también a través de punteros, con un mayor grado de dificultad a la hora de realizar inserciones y borrados. Cualquier modificación en el esquema de datos era compleja. Al igual que el modelo anterior está obsoleto

22 Componentes de los SGBD´s
El funcionamiento de un SGBD es bastante complejo y puede variar de un sistema a otro, y sobre todo debido a la magnitud de la aplicación. Sin embargo, hay una serie de elementos tanto Software como humanos que suelen estar siempre presentes: Lenguajes de la Base de Datos Diccionario de datos Gestor de Almacenamiento Procesador de consultas El Administrador de la Base de datos Los usuarios finales

23 Lenguajes de BD Al menos se deben proporcionar dos:
Lenguaje de manipulación de datos Lenguaje de descripción de datos Lenguaje de manipulación de datos (LMD): permite a los usuarios tener acceso a los datos organizados mediante el modelo de datos correspondiente Las operaciones a realizar con ellos son: Consulta: obtener información Inserción: añadir datos a la base Borrado: eliminar datos de la base Modificación: actualizar contenidos de la base

24 Lenguajes de BD (cont.) Hay dos tipos de LMD:
Procedimentales: necesitan que el usuario especifique qué datos se necesitan y cómo se obtienen Declarativos: sólo es necesario que el usuario especifique qué datos se necesitan sin que haga falta especificar cómo obtener esos datos

25 Lenguajes de BD (cont.) Lenguaje de definición de datos (LDD)
Se utilizan para especificar los esquemas de la base de datos, y otras propiedades de los datos, como son las restricciones de consistencia: Relativas al dominio: en función del conjunto de los valores posibles De integridad referencial: un valor debe coincidir en varias relaciones y si desaparece de una lo debe hacer de las demás Autorizaciones: operaciones que con ese dato pueden y no pueden realizar los distintos tipos de usuarios En este módulo utilizaremos el lenguaje SQL que es al mismo tiempo un LMD de tipo declarativo, y un LDD, el más utilizado en la actualidad. Por otra parte, decir que el LDD genera una salida en el diccionario de datos, que es otro de los componentes de un SGBD a estudiar.

26 Diccionario de Datos También denominado metabase, está compuesto por una serie de archivos que contienen atributos acerca de todos los datos almacenados en la base. Guarda tanto las definiciones provenientes del LDD como algunas provenientes del LMD. En él se encuentra tanto el esquema lógico, como el físico y los subesquemas Además, encontraremos información sobre: Privilegios de usuarios Reglas o restricciones sobre los datos Otras informaciones que garanticen la integridad de los datos

27 Gestor de almacenamiento
Es el módulo que proporciona la interfaz entre los datos de bajo nivel almacenados en la base y los programas de aplicación y las consultas remitidas al sistema. Los datos se almacenan en disco mediante el sistema de archivos convencional que proporciona el sistema operativo. El gestor traduce las instrucciones del LMD a comandos de bajo nivel del sistema operativo. El Gestor de almacenamiento implementa para su función varias estructuras de datos: Archivos de datos: que almacenan la base de datos en sí misma Diccionario de datos: almacena metadatos sobre la propia base Índices: proporcionan acceso rápido a los elementos de la base

28 Gestor de almacenamiento
Está compuesto a su vez de: Gestor de autorizaciones e integridad: comprueba todas las restricciones de seguridad Gestor de transacciones: garantiza que la BD quede en un estado consistente a pesar de los fallos y la ejecución concurrente de transacciones Gestor de archivos: gestiona la asignación de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información Gestor de la memoria intermedia: es el responsable de traer los datos a memoria principal y decidir los datos a guardar en la caché. Es un módulo fundamental, ya que el volumen de datos manejados por la BD suele ser mucho mayor que el tamaño de la memoria principal

29 Procesador de consultas
Ayuda al SGBD a simplificar y facilitar el acceso a los datos. Las vistas de alto nivel facilitan al usuario no tener que reparar en detalles de la implementación física, sin embargo el procesamiento de actualizaciones y consultas de manera rápida y eficiente es crítico para el sistema. Por ello, este módulo debe saltar de manera óptima el desnivel que hay entre la vista de usuario y la realidad física Entre sus componentes se encuentran: Intérprete del LDD: interpreta las instrucciones del LDD y registra las definiciones en el diccionario de datos Compilador del LMD: traduce las instrucciones del LMD en un lenguaje de consultas a instrucciones de bajo nivel que entienda el motor de evaluación de consultas. También realiza una optimización de consultas, evaluando y eligiendo entre varias alternativas la de menor coste en tiempo y espacio Motor de evaluación de consultas: ejecuta las instrucciones de bajo nivel generadas por el compilador del LMD

30

31 El Administrador de la BD
La persona que controla y gestiona el SGBD desde una perspectiva global y con los máximos privilegios y responsabilidad sobre ella recibe el nombre de Administrador de la Base de Datos. Entre sus funciones destacan: La definición del esquema original de la base La definición de la estructura y el método de acceso La modificación del esquema y la organización física para mejorar el rendimiento La concesión de autorizaciones para el acceso a los datos El mantenimiento rutinario, que implica: Realizar copias de seguridad periódicas Asegurarse de que se dispone de suficiente espacio de almacenamiento Supervisar los trabajos que se ejecutan en la base y asegurarse de que el rendimiento no se degrade

32 Los usuarios finales Existen tres tipos diferentes de usuarios de los SGBD´s (aparte del propio Administrador) según la forma en que interactúan con el sistema: Usuarios normales: que utilizan un programa de aplicación creado expresamente, usualmente con formularios, que facilitan la interacción local o remota a la base. No son en absoluto conscientes de la complejidad del sistema subyacente. Serían meros operadores de consola Programadores de aplicaciones: son los informáticos que escriben programas de aplicación para la base. Deben conocer su estructura y desarrollar SW a medida para los operadores. Pueden usar lenguajes de programación tradicionales o herramientas de desarrollo rápido de aplicaciones (DRA) Usuarios especializados: no necesitan un programa para interactuar con la base, porque tienen conocimientos avanzados sobre el LMD, usualmente SQL

33

34 Productos del mercado

35 Bibliografía Para ampliar información se recomienda consultar las siguientes fuentes: Fundamentos de Bases de Datos. Silberschatz, Korth, Sundarshan Ed. McGraw-Hill Sistemas de Bases de Datos. Conceptos fundamentales Elmasri, Navathe Ed. Addison-Wesley es.wikipedia.com/bases_de_datos

36 Glosario de términos DBMS Concurrencia COBOL RAID OLAP
Minería de datos Data Warehouse Integridad Atomicidad XML


Descargar ppt "Introducción a las Bases de Datos"

Presentaciones similares


Anuncios Google