taller de bd
Upcoming SlideShare
Loading in...5
×
 

taller de bd

on

  • 1,807 views

Introducccion

Introducccion

Statistics

Views

Total Views
1,807
Views on SlideShare
1,807
Embed Views
0

Actions

Likes
0
Downloads
35
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    taller de bd taller de bd Presentation Transcript

    • Tecnología de Bases de Datos Apreciación Global Una apreciación global de los problemas, técnicas y terminología usados en tecnología de bases de datos 1
    • ¿Qué es un sistema de Base de Datos? V Una colección muy grande, integrada de datos. V Modelos ( = representa) una empresa del mundo real. W Entidades (como ser, estudiantes, cursos), y sus W Relaciones (como ser, Nastasja toma CS564) V Un Sistema de manejo de Base de Datos (DBMS) es un paquete computacional diseñado para almacenar y administrar sistemas de bases de datos. 2
    • ¿Porqué usar un DBMS? V Independencia de datos y acceso eficiente. V Tiempo reducido para el desarrollo de aplicaciones. V Integridad de datos y Seguridad. V Administración uniforme de datos. V Acceso concurrente, recuperación de caídas del sistema. 1
    • ¿Porqué estudiar Bases de Datos? V Cambio de computación a información W en el ‘extremo inferior’: esfuerzo para organizar datos como para un sitio de internet (actualmente un desorden!) W en el ‘extremo superior’: aplicaciones científicas V Los juegos de datos aumentan en diversidad y en volumen. W Bibliotecas digitales, video interactivo, proyecto de Genoma Humano, proyecto EOS W ... la necesidad de DBMS está explotando V DBMS comprende la mayor parte de Ciencias de Informática W OS, idiomas, teoría, “A”I, multimedia, lógica 1
    • Modelos de Datos V Un modelo es una colección de conceptos para describir datos. V Un esquema de base de datos es una descripción de una colección particular de datos, usando el modelo de datos dado. V El modelo relacional de datos es el modelo de uso mas difundido hoy en día. W Concepto principal: relación, básicamente una tabla con filas y columnas. W Toda relación tiene un esquema, que describe las columnas, o campos. 5
    • Modelos de Datos V Un modelo de datos es un lenguaje formal que nos permite definir el tipo de información y de procesamiento de la información que ocurre en una aplicación de base de datos. Soporta: W Definición de estructuras de datos para almacenamiento. W Definición de reglas que los datos almacenados deben obedecer. W Definición de operaciones en los datos, de tal manera que los cambios en el mundo real se puedan contabilizar. Julio de 2009 6
    • Diseño de Base de Datos V El diseño de Bases de Datos tradicionalmente se concentra en el primero de los puntos anteriormente mencionados: el diseño de estructuras de almacenamiento. Razón: reglas y operaciones se definen en términos de la estructura elegida. V ¡El diseño de reglas y operaciones es importante también! Y afectará la elección de estructura de datos también. 1
    • Diseño de Bases de Datos V Es un proceso difícil, con tendencia a errores: los errores cometidos temprano en el diseño se pagan en etapas posteriores. V Fases a acomodar separación de preocupaciones: 8
    • Niveles de Abstracción V Varias vistas, el único esquema conceptual (lógico) y esquema Vista 1 Vista 2 Vista 3 físico. W Las vistas describen cómo Esquema Conceptual el usuario ve a los datos. Esquema Físico W El esquema conceptual define la estructura integrada, lógica Base de W El esquema físico describe datos los archivos e índices usados.  Los esquemas se definen usando DDL; los datos se modifican/inspeccionan usando DML. 9
    • El modelo de datos relacional V Informalmente: W relación: una tabla con filas y columnas; definida por un esquema de relación. W Cada columna tiene un encabezado, denominado atributo W una fila se denomina tupla; representa un hecho en el mundo real que se desea registrar W Como el mundo real cambia en el tiempo, se desea agregar hechos (insertar tuplas), retirar hechos (eliminar tuplas), o cambiar hechos (actualizar tuplas).  ¡Varios ejemplos mas tarde! 1
    • Ejemplo de Base de Datos del Curso V Esquema externo (Vista del Rector): W Info_Curso ( cid:string, matriculación:integer ) V Esquema conceptual: W Estudiante ( eid:string, nombre:string, login:string, edad:integer, pgn:real ) W Curso ( cid: string, cnombre:string, créditos:integer ) W Matriculado ( eid:string, cid:string, nota:string ) V Esquema físico: W Relaciones almacenadas como archivos sin orden W Indice en la primera columna de Estudiante 11
    • Independencia de Datos V Aplicaciones aisladas de cómo se estructuran y almacenan los datos. V Independencia de Datos lógicos:* Protección de cambios en la estructura lógica de datos. V Independencia Física de Datos:* Protección de cambios en la estructura física de los datos.  ¡Uno de los beneficios mas importantes de usar un DBMS * Dos nociones de encapsulamiento que existen desde hace tiempo 12
    • Control de Concurrencia V La ejecución concurrente de programas de usuarios es esencial para un buen desempeño DBMS: ¡podemos esperar varios usuarios simultáneos! W Debido a que los accesos al disco son frecuentes, y relativamente lentos, es importante mantener al CPU zumbando al trabajar con varios programas de usuarios de forma concurrente. V Acciones entrelazadas de diferentes programas de usuarios pueden llevar a la inconsistencia: como por ej., un cheque del banco es anulado mientras que el balance de cuenta está siendo calculado. V El DBMS garantiza que tales problemas no ocurran: los usuarios pueden pretender que están usando un sistema de un solo usuario. 13
    • Ejecución de Programas de Bases de Datos V El concepto clave es transacción, lo que significa una secuencia atómica de acciones de bases de datos (lee/escribe). V Cada transacción, completamente ejecutada, debe dejar la base de datos en un estado consistente si la base de datos es consistente cuando comienza la transacción. W Los usuarios pueden especificar algunas restricciones de integridad simples en los datos, y el DBMS pondrá en vigor estas restricciones. W Más allá de esto, el DBMS no entiende en realidad la semántica de los datos (es decir, por ej., no entiende cómo se calcula el interés en una cuenta bancaria). W ¡Así, se asegura de que el hecho de que una transacción (corre exclusivamente) preserve consistencia sea la responsabilidad final del usuario! 14
    • Transacciones Concurrentes V El DBMS asegura que la ejecución de un juego de transacciones concurrentes {T1, ... , Tn} es equivalente a alguna ejecución en serie de las transacciones T1’ , …, Tn’. V Principio: ya que a los usuarios se les permite estar activos en forma simultánea, sus transacciones pueden ejecutarse en cualquier orden. El DBMS encontrará algún orden (silenciosamente): serialización. V El truco principal es un data lock: una prohibición temporal de leer (o escribir) algunos datos específicos, porque alguna otra transacción los está usando. 15
    • ¿Cómo se logra la Concurrencia? V Antes de leer/escribir un objeto, una transacción requiere un bloqueo en el objeto, y espera hasta que el DBMS le de el bloqueo. Todos los bloqueos obtenidos son soltados al finalizar la transacción. (Strict 2PL protocolo.) V Idea: Si una acción de Ti (digamos, escribiendo X) afecta Tk (que talvez lee X), uno de ellos, digamos Ti, obtendrá el bloqueo en X primero Tk tiene que esperar hasta que Ti se complete; esto ordena efectivamente las transacciones. V Que si Tk ya tiene un bloqueo en Y y Ti luego solicita un bloqueo en Y? (Deadlock!) Ti o Tk es abortada y 16 recomenzada!
    • Atomicidad de Transacciones V El DBMS garantiza atomicidad (propiedad total o nada) aún si el sistema se cae en plena transacción. V Idea: Mantener un registro (historial) de todas las transacciones ejecutadas por el DBMS mientras que ejecuta un juego de transacciones: W Antes de realizar un cambio a la base de datos, el ingreso del registro correspondiente es forzado hacia una ubicación segura. (protocolo WAL*; el soporte del SO para esto es a menudo inadecuado.) W Después de una caida, los efectos de transacciones parcialmente ejecutadas son deshechos usando el registro. (Gracias a WAL, si el ingreso de registro no ha sido salvado antes de la caída, ¡los cambios correspondientes no se han aplicado a la base de datos!) * Write-Ahead Logging 17
    • El Registro de la Base de Datos V Las siguientes acciones se graban en el registro: W Ti escribe un objeto: el valor antiguo y el valor nuevo. T La tupla del registro debe grabarse al disco antes que la página cambiada! (atomicidad!) W Ti compromete/aborta: una tupla de registro indicando esta acción. T Se asegura de que todos las tuplas de registros de la transacción sean escritos en el registro antes de perpetrar (durabilidad!). V Las tuplas de registros se ordenan, se ligan entre si por medio de un identificador de transacción, de modo que es fácil deshacer una transacción específica (por ej. resolver un bloqueo). 18
    • El Registro de la Base de Datos V El registro es a menudo duplicado y archivado en almacenamiento ‘estable’. V Todas las actividades relacionadas al registro (y de hecho, todas las actividades relacionadas con la concurrencia tales como bloqueo/desbloqueo, que tienen que ver con deadlocks, etc.) tienen un manejo transparente por el DBMS. Los usuarios finales ni se dan cuenta … 19
    • Las Bases de Datos Alegra la Vida de Estas Personas … V Usuarios finales y vendedores de DBMS V Programadores de aplicaciones de bases de datos W Como ser, webmasters inteligentes V Administradores de bases de datos (DBA) W Diseña esquemas lógicos/físicos W Maneja la seguridad y autorizaciones W Asegura la disponibilidad de datos, recuperación de efectivo W Ejecuta ajustes de la base de datos a medida que evolucionan los requerimientos  ¡Debe entender cómo funciona un DBMS! 20
    • Estas capas Arquitectura DBMS deben considerar control de concurrencia y V Un DBMS típico tiene una recuperación arquitectura por capas. Optimización de consultas V La figura no muestra los y Ejecución componentes de control de concurrencia y de Operadores relacionales recuperación. Archivos y Métodos de Acceso V Esta es una de las muchas arquitecturas posibles, cada Manejo de buffers sistema tiene sus propias Manejo de Espacio de Disco variaciones. DB 21
    • Resumen V El DBMS se usa para mantener y consultar grandes juegos de datos. V Los beneficios incluyen recuperación de caídas del sistema, acceso concurrente, desarrollo de aplicaciones veloz, integridad y seguridad de datos. V Los niveles de abstracción dan independencia de datos. V Típicamente, un DBMS tiene una arquitectura por capas. V Los DBAs tienen trabajos de responsabilidad y son bien pagados! V DBMS R&D es uno de las áreas, más amplias e interesantes en CS. 22