1 / 36

Introducción a las Bases de Datos

Dpto. Informática IES Juan de la Cierva. Introducción a las Bases de Datos. Í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

odelia
Download Presentation

Introducción a las Bases de Datos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 datoshan 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 denominaSGBD 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 formularioa 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. 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

  13. 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

  14. 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

  15. 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

  16. Modelos de datos (cont.) Modelo relacional Se utilizan colecciones de tablaspara 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 registrosen 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.

  17. 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 entidadesy de las relacionesentre 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

  18. 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.

  19. 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.

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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.

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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 dedesarrollo 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

  31. Productos del mercado

  32. Bibliografía • Para ampliar información se recomienda consultar las siguientes fuentes: • Fundamentos de Bases de Datos. Silberschatz, Korth, SundarshanEd. McGraw-Hill • Sistemas de Bases de Datos. Conceptos fundamentalesElmasri, NavatheEd. Addison-Wesley • es.wikipedia.com/bases_de_datos

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

More Related