Introducción a las Bases de Datos Fuente http://www-db.stanford.edu/~ullman/fcdb.html Escuela de Ingeniería de Sistemas y Computación Bases de Datos Qué es una base de datos Colección información Permamente período de tiempo Base de datos: colección de datos gestionados por un SGBD Permite usuario especificar nuevos esquemas bd: LMD Recuperar datos ( consultar) Actualizar datos: LMD Qué es una base de datos Soportar almacenamiento de grandes cantidades de datos Seguridad: accidentes y acceso no autorizado Acceso y actualización eficiente mediante lenguaje Control de acceso a datos múltiples usuarios (concurrencia) BD vs. Archivos SGBD comerciales – 1960 Evolución sistema de archivos Archivos Almacenamiento de datos en el tiempo Redundancia Inconsistencia Acceso poco eficiente Integridad, Concurrencia, Seguridad Lenguaje de consulta no soportado Escuela de Ingeniería de Sistemas y Computación Bases de datos BD vs. Archivos Archivos Definición datos con programas Acceso y manipulación datos dependiente programas Bases de datos Definición integrada Almacenamiento datos y descripción Datos compartidos Escuela de Ingeniería de Sistemas y Computación Bases de datos Aplicaciones Clásicas Sistema de Reservaciones en Aerolíneas Pasajeros, vuelos, itinerarios, sillas, precios tiquetes, disponibilidad Sistemas Bancarios Clientes, cuentas, préstamos, balances de cuentas, retiros, consignaciones Registros corporativos Ventas, cuentas, empleados, descuentos, ascensos, despidos Sistemas de Gestión de Bases de Datos SGBD Aplicación que permite usuario Definir Crear Mantener Acceder Controlar una base de datos Escuela de Ingeniería de Sistemas y Computación Bases de datos Arquitectura de un SGBD Lógica Perspectiva de usuario Basada Arquitectura ANSI/SPARC Tres niveles de abstracción • Físico • Conceptual • Externo Escuela de Ingeniería de Sistemas y Computación Bases de datos SGBD: Arquitectura Lógica Tomada de www.dbmaker.com.tw/.../tutorial/tutorial-2.gif Arquitectura de un SGBD Física Componentes de Soft de gestión de datos Back-end • Gestión física • Soporte niveles Front-end • Aplicación soportada en SGBD • Comunicación usuario Escuela de Ingeniería de Sistemas y Computación Bases de datos Arquitectura Física SGBD Funcionalidades SGBD Almacenamiento y acceso a datos Actualización de datos Descripción datos: catálogo Gestión de transacciones Concurrencia Seguridad Recuperación Tipos de Aplicaciones de BD Actuales Convencionales: OLTP Multimedia GIS Data Warehouses Bases de datos en tiempo real Soporte WEB (Motores de Búsqueda, consultas Amazon, eBay, etc.) CONCEPTOS BASICOS Datos Datos Base de datos Metadatos - catálogo Principio de Independencia Vistas Modelo de datos Ambiente de un SGBD Ejemplo simple de un catálogo Tipos de Usuario Administrador de bd Autoriza acceso Monitorea bd Controla recursos soft y hard Monitorea desempeño Diseñador de bd Define contenido, estructura, restricciones, transacciones Interactúa con usuarios Usuarios Usuario final Consultan y recuperan datos Generan reportes Actualizan contenido de bd MODELOS DE DATOS EVOLUCIÓN Evolución Modelos de datos para describir estructura de datos en bd Basados en árboles: Modelo Jerárquico Basados en grafos: Modelo de Red • Estandarizado en los 60’s – CODASYL (Committee on Data Systems and Languages) No soportaban lenguajes de consulta de alto nivel. Evolución Sistemas de Bases de Datos Relacionales Propuesto por Codd en 1970 Datos organizados (usuario) en tablas: relaciones Usuario: no conocimiento estructuras de almacenamiento Expresión de consultas: lenguaje de alto nivel Incremento eficiencia Arquitectura ANSI/SPARC Arquitectura ANSI/SPARC Componentes de un SGBD Tomada de http://infolab.stanford.edu/~ullman/fcdb/ch1.pdf Funcionalidades Gestión de almacenamiento secundario. Persistencia. Control de concurrencia. Protección de datos. Interfaces humano-máquina. Distribución. Compilación y optimización. SGBD SGBD es el mediador usuario-dispositivo Usuario concentrado en la representación lógica de datos. (Separación lógico-física. Principio de Independencia) Prog 1 Prog 2 Prog 3 SGBD Query Processor Transaction Manager ... BD Independencia de Datos Capacidad de cambiar esquema bd sin tener que hacerlo en el siguiente nivel más alto. View Schema Independencia lógica de datos Logic Schema Independencia física de datos Transaction Manager