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

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

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

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

Introducción a las

Bases de Datos

Dpto. Informática IES Juan de la Cierva

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

Í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

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

IntroducciónLas 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

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

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

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

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

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

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.

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

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

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

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

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

Ficheros vs. BBDDAntiguamente, 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.

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

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

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

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

Page 12: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.
Page 13: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.

Abstracción de datosUna 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

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

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

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

Ejemplares y esquemasLas 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

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

Modelos de datosSe 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

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

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.

Modelos de datos (cont.)

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

Modelos de datos (cont.)

Modelo entidad-relaciónSe 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

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

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.

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

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.

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

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

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

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

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

Lenguajes de BDAl 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

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

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

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

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.

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

Diccionario de DatosTambié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

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

Gestor de almacenamientoEs 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

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

Gestor de almacenamientoEstá 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

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

Procesador de consultasAyuda 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

Page 30: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.
Page 31: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.

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

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

Los usuarios finalesExisten 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

Page 33: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.
Page 34: Introducción a las Bases de Datos Dpto. Informática IES Juan de la Cierva.

Productos del mercado

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

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

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

Glosario de términos

• DBMS• Concurrencia• COBOL• RAID• OLAP• Minería de datos• Data Warehouse• Integridad• Atomicidad• XML