Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Componentes de Bases de Datos Introducción a Bases de Datos M. Andrea Rodrı́guez-Tastets Universidad de Concepción,Chile www.inf.udec.cl\ ∼andrea [email protected] Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura II Semestre - 2014 Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Sistemas de Bases de Datos Andrea Rodrı́guez Componentes de Bases de Datos Sistemas de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Evolución de los Sistemas de Bases de Datos Clasificacion de BD Clasificacion de BD Bases de Datos Andrea Rodrı́guez Objetivos de la Unidad Dar a conocer las caracterı́sticas, ventajas, arquitecturas y clasificación de bases de datos ¿Qué se debe saber al término de la Unidad? I ¿ Qué es una base de datos, un sistema gestor de base de datos, persistencia y consistencia de datos? I ¿ Cuál es la ventaja del uso de Bases de Datos? I ¿Cómo se relacionan las bases de datos a otras áreas de la computación e informática? I ¿ Cuáles son los componentes de un motor de bases de datos? Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Enfoque de Bases de Datos I Una colección grande de datos coherente y relacionados. I Datos son hechos registrables y con significado implı́cito. I Una base de datos representa algún aspecto del mundo real. I Datos con una redundancia controlada. I Datos compartidos por usuarios y aplicaciones. I Soporte de vistas de los datos. I Datos cuyo almacenamiento es independiente y cuya descripción (metadato) se almacena junto a los datos. Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Componentes Usuarios/programadores SISTEMA DE BASE DE DATOS Sistemas de Bases de Datos Componentes de Bases de Datos Programas de aplicación/consultas Ventajas y Desventajas del Uso de Base de Datos Software de SGBD Software para procesar consultas/programas Ventajas Desventajas Funcionales del SGBD Software para acceder a datos almacenados Lenguajes de los SGBD Conceptos y Arquitectura Definición de base de datos almacenada (metadatos) Base de datos almacenada Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Resumen Ventajas Referidas a Ventajas Independencia de estos respecto a los tratamientos y viceversa Manejo de consistencia de los datos Persistencia de los datos Los datos Mejor disponibilidad de los mismos Manejo de tolerancia a fallas y seguridad Mayor eficiencia en la entrada, codificación y recuperación Mayor coherencia Control de Redundancia Mayor valor informativo Los resultados Capacidad de realizar inferencias Mejor y más documentación normalizada de información Accesso más rápido y sencillo de los usuarios finales Más facilidades para compartir los datos por el conjunto de usuarios finales Los usuarios Mayor flexibilidad para atender a demandas cambiantes Restricción de acceso no autorizados Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Resumen Desventajas Referidas a La implementación Los usuarios Desventajas Costo de equipos Necesidad de estandarización Puesta en marcha larga y difı́cil Rentabilidad a mediano plazo Personal especializado Desfase entre teorı́a y práctica Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Funciones de un DBMS (SGBD) I I I Almacenamiento Persistente: DBMS permite el almacenamiento de gran volumen de datos independiente del tipo de proceso en que los datos se ocupen. Esto va más allá de sistemas de archivos en cuanto a flexibilidad, ya que provee de estructuras de datos que apoyan el acceso eficiente a gran volumen de datos. Interface de Programación: Permite al usuario a programa el acceso y modificación datos con un poderoso de lenguaje de consulta. Esto es hecho en una forma mucho más flexible que con sistemas de manejo de archivos. Manejo de Transacciones: Soporta el acceso concurrente a los datos. Para evitar situaciones indeseables por la consecuencia de accesos simultáneos, los DBMS soportan aislación, atomicidad y durabilidad. Andrea Rodrı́guez Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Components del SGBD (DBMS) user/application queries updates metadata estadistics Execution engine index,file,and record requests Index/file/ record manager page commands Buffer manager read/write pages Storage manager Andrea Rodrı́guez transaction comand Query compiler query plan Bases de Datos Database Administrator Sistemas de Bases de Datos Transaction manager DDL compiler Logging and recovery Concurrenc y control log pages data metadata indexes Weak Buffer Componentes de Bases de Datos metadata Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Lock tables Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Storage Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Lenguajes I Las distintas funciones que cumple un SGBD, hace necesario contar con diferentes lenguajes y procedimientos que permitan la comunicación con la base de datos. I Por tipo de función, tendremos lenguajes de definición (LDD o DDL) y lenguajes de manipulación (LMD o DML). I Por tipo de usuarios tendremos lenguajes para informáticos y lenguajes para no informáticos o usuarios finales. Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Lenguajes: SQL I SQL (Structured Query Language) es DDL y DML. I Presente en los SGBD Relacionales I No necesariamente es un lenguaje para usuarios finales I Lenguaje autocontenido (puede por sı́ solo actuar con la BD) I Lenguaje no procedural (no especifica cómo actuar con la BD en detalle) I Lenguaje que puede actuar como huésped de un lenguaje anfitrión (por ejemplo PL/SQL de Oracle es el anfitrión y SQL actúa como huésped) Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Modelo de Datos I Los modelos de datos de alto nivel o conceptuales son cercanos a la forma en que los usuarios perciben los datos I Los modelos de bajo nivel o fı́sicos describen en detalle cómo se almacenan los datos I Los modelos de datos de representaión o implementación son un nivel intermedio entre el conceptual y el fı́sico. Ejemplo de estos modelos son el modelo relacional, orientado al objeto, de red y el jerárquico Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Esquemas, instancias y estados de la base de datos (1) I I Un esquema de base de datos es la descripción de ella. La representación de un esquema se denomina diagrama del esquema. Ejemplo de unos esquemas son los siguientes: ALUMNO Nombre Código alumno Año Especialidad En un esquema sólo se puede describir las entidades que participan con sus atributos y ciertos tipos de restricciones. Al esquema de base de datos se le suele llamar la intensión de la base de datos. Los datos que están en una base de datos en un momento constituyen el estado de la base de datos o instántanea. También se le denomina conjunto actual de ocurrencias o instancias (registros) de la base de datos. Al conjunto de ocurrencias se le suele llamar extensión de la base de datos. Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Arquitectura (1) Bases de Datos Andrea Rodrı́guez I I Uno de los principales objetivos de las bases de datos es conseguir la independencia entre las estructuras lógica y fı́sica de los datos, que tiene como consecuencia la independencia entre datos y aplicaciones. Ası́, los cambios en la estructura de los datos tengan una repercusión mı́nima en los programas de aplicación y viceversa. Este concepto de independencia implica la separación entre el almacenamiento y la organización lógica de los datos, con lo que se consigue: I I I Los datos se presentarán de formas distintas, según las necesidades de los usuarios. El almacenamiento de los datos, su estructura lógica y los programas de aplicación serán independientes unos de otros. En los SI/TI (Sistemas Informáticos) existen 2 estructuras: la lógica (vista del usuario) y la fı́sica (forma en que se encuentran los datos en el almacenamiento). Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Arquitectura (2) I I En las bases de datos aparece un nuevo nivel de abstracción llamado estructura lógica global o esquema. Esta estructura intermedia es una representación global de los datos independiente de equipos y los usuarios (visión de la empresa). Los otros dos niveles corresponden al nivel de máquina o interno y al nivel de usuario o externo. Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Evolución I I I Los primeros sistema comerciales aparecen a fines de los 60. Los primeros sistemas evolucionaron de sistemas de archivos que permitı́an el almacenamiento de grandes volúmenes de datos. Las primeras grandes aplicaciones fueron aquellas que estaban compuestas de muchos ı́temes pequeños y donde muchas consultas o modificaciones se realizaban: sistemas reserva de aerolı́neas, sistemas de bancos, registros corporativos. El problema con los primeros sistemas es que no soportaban lenguajes de consulta de alto nivel. Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Sistemas de Bases de Datos Modelo Relacional I El famoso paper escrito por Ted Codd en 1970 cambia radicalmente los sistemas de bases de datos. I Cood propone que los datos sean organizados lógicamente en tablas llamadas relaciones, lo que es independiente de la estructura fı́sica en que se almacenen los datos. I En 1990, los sistemas de base de datos relacional eran la norma, aunque aunque que el campo de base de datos sigue evolucionando y nuevos enfoques se han desarrollado. Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Tipos de Bases de Datos Mathematical Logic Logic Programming Knowledge Representation Ventajas y Desventajas del Uso de Base de Datos Relational Semantic OO Programming Multidimensional Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Deductive Statistical Databases Sistemas de Bases de Datos Componentes de Bases de Datos Hierarchical Network Graph Theory Graph Conceptos y Arquitectura Object oriented Modelo de datos, esquemas e instancias Arquitecturas: Introducción Semistructured XML Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Clasificación I Basada en el modelo de datos I I I I I I I Basada en el número de usuarios: I I I Relacional Orientada al objeto Objeto Relacional Grafo - redes Jerárquicos XML/semiestructurados Monousario Multiusuario Basada en el número de sitios: I I Centralizado Distribuido Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD Bases de Datos Andrea Rodrı́guez Clasificación I Basada en el modelo de datos I I I I I I I Basada en el número de usuarios: I I I Relacional Orientada al objeto Objeto Relacional Grafo - redes Jerárquicos XML/semiestructurados Monousario Multiusuario Basada en el número de sitios: I I Centralizado Distribuido Sistemas de Bases de Datos Componentes de Bases de Datos Ventajas y Desventajas del Uso de Base de Datos Ventajas Desventajas Funcionales del SGBD Lenguajes de los SGBD Conceptos y Arquitectura Modelo de datos, esquemas e instancias Arquitecturas: Introducción Evolución de los Sistemas de Bases de Datos Clasificacion de BD