Introduccion a base de datos Ing. Marco Zarate
Aplicaciones de los Sistemas de BD Banca Líneas aéreas Universidades Transacciones de Tarjetas de credito Telecomunicaciones Finanzas Ventas Producción de RRHH
Sistemas de BD frente a File System Redundancia e inconsistencia Dificultad en el acceso a los datos Aislamiento de datos Problemas de integridad Atomicidad Anomalías en el acceso concurrente Problemas en la seguridad
Visión de los datos DBMS – SGBD: Colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. Objetivo: proporcionar una forma de almacenar y recuperar la información de manera práctica y eficiente.
Abstracción de Datos Nivel Físico Nivel Lógico Nivel de Vistas Vista 1
Abstracción de datos (2) struct cliente { Int Id; String Nombre: String calle; String ciudad } 1000101110100100101100101101010001111010101
Ejemplares y Esquemas Esquema: El diseño completo de la DB Ejemplar: La colección completa de datos en un momento dado Declaración -> esquema Valor -> ejemplar Esquema físico – esquema lógico- subesquema
Modelo de los datos Modelos lógicos basados en objetos Modelos lógicos basados en registros Modelos físicos
Entidad Relación Entidades Relaciones Atributos Id
Modelo Relacional Id Nombre Apellidos Calle Ciudad 1 Marco Zarate Zorrilla Uyuni 1181 Cochabamba 2 Mariela Vera Coronado Martin Cardenas 77 Sucre NroCuenta Saldo C-1 100 C-2 200 NroCuenta Cliente C-1 1 C-2 2
Orientado a objetos ~ ER + encapsulación, métodos Modelo de datos relacional orientado a objetos Otros: Modelos de datos de red Modelo jerárquico
Lenguajes de Bases de Datos Lenguaje de definición de datos Lenguaje de manipulación de datos SQL (Structured Query Language )
Lenguaje de Definición de Datos LLD Diccionario de datos Metadatos Restricciones de consistencia Saldo < 10 Create table cuenta ( numero char(10), Saldo integer )
Lenguaje de Manipulacion de Datos LMD Recuperación Inserción Borrado Modificación LMDs procedimentales (que y como) LMDs declarativos (no procedimentales) (que) SQL es no procedimental
Acceso a la BD desde apps Son programas que se usan para interaccionar con BD LMD deben ser ejecutadas desde el cliente ODBC (Open Data Base Conectivity) JDBC (Java Data Base Conectivity)
Usuarios y Adminsitratores Usuarios e interfaces de usuario Normales Programadores de aplicaciones Usuarios sofisticados Usuarios especializados Administradores de la BD (ABD – DBA) Definición del esquema Concesión de autorización Mantenimiento Rutinario Backups, Espacio Libre, Rendimiento
Gestión de Transacciones Atomicidad Consistencia Durabilidad Transacción: colección de operaciones Recuperación antes fallos Control de concurrecia
Estructura de SGBD – DBMS Gestor de almacenamiento Procesador de Consultas
Gestor de Almacenamiento Gestor de autorización e integridad Gestor de transacciones Gestor de archivos Gestor de memoria intermedia Archivos de datos Diccionario de datos Índices
Procesador de Consultas Interprete del LDD Interprete del LMD Motor de evaluación de consultas
Arquitectura de las aplicaciones Cliente / Servidor Tres Capas N-Capas
Historia Tarjetas perforadas Hollerith 1950 – 1960 1960 – 1970 1980 Cintas 1960 – 1970 Discos fijos (bases de datos de red y jerárquicas) Articulo de Codd (1970) – Modelo relacional 1980 Modelo relacional no se uso al principio System R de IBM
Historia (2) 1990 SQL Finales 1990 WWW 24x7