Está en la página 1de 21

Administracin de base de datos

Clase 1

Objetivos del curso


Entender y ejercitar los aspectos fsicos de un Sistema de Base de Datos, desde el diseo fsico (modelo interno) hasta las operaciones sobre la base de datos (transacciones), pasando por todas las labores del Manejador de Base de Datos (servicios).
Abreviacin DBMS = data base management system, software Manejador de Base de Datos.

Plan de Evaluacin
TEORIA Primer Parcial Segundo Parcial LABORATORIO Tareas Proyecto Fase I Taller 1 Proyecto Fase II Taller 2 PORCENTAJE 25% 25% FECHAS 31 mayo 07 julio

10% 14% 8% 10% 8%

19 mayo 09 junio 16 junio 23 junio 12 julio

Cronograma
Semana 1 Da 26 abril Contenido y Actividad Presentacin de la materia. Normas de trabajo. Cronograma. Fechas importantes. Introduccin y Conceptos. Laboratorio 1. Arquitectura DBMS Estructuras de Almacenamiento Secundario (repaso) Laboratorio 2. Estructuras DBMS Diseo Fsico. Evaluacin Operadores Relacionales (I) Laboratorio 3. Tipos de segmentos (I) Enunciado del Proyecto Evaluacin Operadores Relacionales (II). Optimizacin de Consultas (I) Laboratorio 4. Tipos de segmentos (II) Entrega Tarea (10%) Transacciones. Serializacin. Punto de Control Proyecto Primer Parcial (25%) 28 abril Semana 2 03 mayo 05 mayo Semana 3 10 mayo 12 mayo Semana 4 17 mayo 19 mayo Semana 5 24 mayo 26 mayo

Semana 6
31 mayo

Cronograma
Semana 6 Semana 7 07 junio 09 junio Semana 8 14 junio 16 junio Semana 9 Recuperacin Laboratorio 6. Transacciones y Concurrencia Taller (8%) Control de Concurrencia. Entrega Proyecto Fase I (14%) 02 junio Laboratorio 5. Optimizacin de Consultas

21 junio
23 junio Semana 10 28 junio 30 junio Semana 11 05 julio 07 julio Semana 12 12 julio 14 julio

Seguridad e Integridad
Laboratorio 7. Recuperacin y Seguridad Entrega Proyecto Fase II (10%) Transacciones (II) Laboratorio 8. Respaldo Feriado Segundo Parcial (25%) Taller (8%) Entrega de Actas de Notas

Normas del curso


1. Todas las asignaciones prcticas deben ser trabajadas en grupos de 02 estudiantes. 2. Debern entregar las asignaciones al inicio de la clase establecida en el cronograma. 3. Todas las entregas deber realizarlas en papel a menos que se indique otra cosa en el enunciado de la asignacin. 4. Las asignaciones elaboradas a mano no sern recibidas. 5. Puntualidad y Respeto 6. No se permite uso de celular ni otros equipos durante las clases o los exmenes. 7. Las copias y plagios en trabajos y exmenes sern calificados con cero para todos los involucrados

Tpicos del curso


Diseo Fsico. Estructuras de almacenamiento secundario. Optimizacin de Consultas. Transacciones. Control de Concurrencia. Recuperacin. Seguridad e Integridad.

Tpicos del curso

Diseo Fsico
El eje central de la fase de Diseo Fsico de una base de datos es tomar decisiones en cuanto a las organizaciones de archivo que se van a utilizar para almacenar los datos. Se trata en esta fase de seleccionar, de las organizaciones ofrecidas por el DBMS, las ms adecuadas para el uso que se le va a dar a cada conjunto de datos, de modo que se minimicen los tiempos de acceso a los datos. El diseo fsico es muy relevante cuando hay un gran volumen de datos a almacenar. Es una tarea que depende grandemente de lo que ofrezca el DBMS a utilizar. Lightstone, Teorey y Nadeau en su libro: Physical Database Design (Morgan Kaufmann 2007) dan lineamientos muy tiles para cuatro aspectos bien concretos en los cuales se pueden concentrar las decisiones de diseo fsico para lograr un buen rendimiento de las transacciones que operan sobre la base de datos. Estos aspectos son: el uso de ndices, el uso de vistas materializadas, el particionamiento y el clustering multidimensional y la desnormalizacin. La motivacin fundamental para invertir esfuerzos en esta etapa son las afirmaciones de algunos diseadores que han logrado mejorar la ejecucin de algunas consultas crticas para que su tiempo de ejecucin sea 50 veces ms rpido que la ejecucin ingenua, sin diseo fsico. En el laboratorio se ejercitan estos conceptos con un manejador de base de datos especfico, en este caso Oracle.

Tpicos del curso

Estructuras de Almacenamiento Secundario


Para poder tomar decisiones sobre las estructuras fsicas donde almacenar la base de datos es fundamental conocer sobre los medios de almacenamiento y las estructuras lgicas de almacenamiento secundario disponibles. El tratamiento de este tpico se divide en dos aspectos fundamentales:

1.

Generalidades sobre los medios de almacenamiento y cmo se almacenan los datos en un medio.
El estudio de las diferentes organizaciones de archivos en disco para almacenar los datos, de acuerdo a las operaciones que se deban hacer sobre los mismos.

2.

El tpico incluye: medios, estrategias, niveles de abstraccin y estructuras de almacenamiento.

Tpicos del curso

Estructuras de Almacenamiento Secundario


Estos temas se puede encontrar en los dos libros bsicos de texto, a saber: Navathe y Elmasri (2004, quinta edicin), captulos 13 (Disk Storage, Basic File Structures, and Hashing) y 14 (Indexing Structures for Files). Ramakhrishnan y Gehrke (2003, tercera edicin), Parte III: Storage and Indexing, en los siguientes captulos: 8. Overview of Storage and Indexing (pp.273-303), 9.Storing Data: Disks and Files (pp.304-337), 10. Treestructured indexing (pp. 338-369), y 11. Hash-based indexing (pp. 370390). (NOTA: En la edicin anterior del Ramakhrishnan y Gehrke (2000, segunda edicin), este tpico se trata en el captulo 7, pginas 195-229 y captulo 8, pginas 230-246.) Como complemento adicional se puede consultar el libro de Jim Gray y Andreas Reuter, Transaction Processing: Concepts and Techniques de la bibliografa del curso, captulo 13: File and Buffer Management.

Tpicos del curso

Optimizacin de Consultas
En un lenguaje de alto nivel como SQL, el programador no puede indicar cmo se debe ejecutar una consulta. El procesador de consultas del DBMS tiene un mecanismo para representar la consulta y para encontrar un mtodo de ejecucin ptimo. Este mecanismo utiliza la informacin contenida en el Diccionario de Datos acerca de cmo estn almacenados los datos (por ejemplo, las relaciones en el modelo relacional) que usa la consulta e informacin acerca del tamao de las estructuras donde estn almacenados los datos, y otros parmetros, para decidir los mejores algoritmos de ejecucin de la consulta. El libro de Navathe y Elmasri. trata este tpico en el captulo 15 (Algorithms for Query Processing and Optimization).

El libro de Ramakrishnan y Gehrke trata este tpico en la parte IV de Query Evaluation, captulos: 12 Overview of query evaluation (pp.393-420), 14 Evaluating Relational Operators (pp.439-477) y 15 A Typical Relational Optimizer.

Tpicos del curso


Transacciones Control de Concurrencia - Recuperacin
Transacciones. El concepto de transaccin en base de datos y sus implicaciones sobre la concurrencia y la integridad de los datos es un tpico esencial. Control de Concurrencia. El servicio de control de concurrencia que debe ofrecer un DBMS se ocupa de que la ejecucin concurrente de varias transacciones no altere la integridad de los datos. Se utiliza la teora de la seriabilidad (serializability) de las transacciones como base del control de concurrencia. Recuperacin. Ante la presencia de errores del sistema o de los medios de almacenamiento, el mdulo de recuperacin del DBMS se encarga de garantizar la integridad de los datos, en otras palabras, su objetivo es mantener siempre la base de datos en un estado consistente an en la presencia de fallas.

Tpicos del curso

Seguridad de la data
Cada usuario definido en la base de datos, est autorizado para acceder y operar sobre una porcin de la misma. En este tpico se estudian los mecanismos que proveen los manejadores de base de datos para especificar los aspectos de seguridad del sistema de base de datos. Los tpicos de transacciones, control de concurrencia y recuperacin se cubren en el libro de Phil Bernstein, V. Hadzilacos y Nathan Goodman, Concurrency Control and Recovery in Database Systems, el cual se encuentra disponible electrnicamente en la pgina de Phil Bernstein dispuesta para tal fin, a saber:
http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx

Tpicos 1 Introduccin y conceptos bsicos

Un esquema conceptual es una descripcin de alto nivel de la estructura de la base de datos, independientemente del DBMS que se vaya a utilizar para manipularla. Un esquema lgico es una descripcin de la estructura de la base de datos en trminos de las estructuras de datos que puede procesar un tipo de DBMS .
Un modelo interno es descrito por el DBMS, como un esquema interno. Contiene especificaciones detalladas del almacenamiento de todos los registros de la base de datos as como los descriptores del sistema: sealadores, palabras de control y trayectorias de datos necesarios para recuperacin sobre claves secundarias.

Tpicos 1 Introduccin y conceptos bsicos


En la figura 1 se muestra la Arquitectura de un Sistema de Base de Datos.

En este curso nos concentramos en el nivel inferior de esta arquitectura, el ms primitivo, el modelo interno. Nuestro gran aliado es el DBMS. Ahora s pensamos en l desde el principio y en los servicios que nos debe proveer.
Cada mdulo o servicio del DBMS corresponde con un tpico de este curso.

Tpicos 1 Introduccin y conceptos bsicos


Dnde se almacena la base de datos?
El almacenamiento en un computador es como una pirmide.

Las memorias ms rpidas, de menor capacidad y ms costosas, la memoria principal y la memoria cache

el almacenamiento secundario, o almacenamiento en lnea (online), como discos magnticos y discos pticos.

almacenamiento terciario o fuera de linea, gran capacidad, requiere intervencin mecnica para transferirlo al secundario, por ejemplo cintas magnticas

Tpicos 1 Introduccin y conceptos bsicos


Caractersticas del almacenamiento en un computador que conducen a almacenar la base de datos en almacenamiento externo o secundario, entre ellas podemos encontrar las siguientes: Capacidad: la memoria principal tiene una capacidad limitada, su tamao es menor que el necesario para almacenar una base de datos, en varios rdenes de magnitud. Economa: an cuando se lograran capacidades de almacenamiento en almacenamiento primario del mismo orden del externo, el costo por byte sera mucho ms alto. Durabilidad: la memoria principal (o primaria) es voltil, la externa (o secundaria) es permanente. La principal se puede hacer durable con bateras, pero esto le aumenta el costo por byte. Velocidad: la velocidad del almacenamiento secundario es varios rdenes de magnitud menor que la velocidad del almacenamiento primario, y est ms lejos (latency and path length).

Funcionalidad: los datos no pueden ser procesados en almacenamiento secundario, se deben llevar a memoria principal para poder operar sobre ellos. Por otro lado, para poder tener datos que perduren, los datos no se pueden dejar en memoria principal, en consecuencia, hay que ponerlos en almacenamiento externo.

Tpicos 1 Introduccin y conceptos bsicos


La capacidad, la economa y la durabilidad son los aspectos de la memoria principal que hacen elegir los discos como medio de almacenamiento de la base de datos. La velocidad y la funcionalidad son las desventajas de usar los discos para este fin. El DBMS entonces debe buscar mecanismos para paliar estas desventajas, por ejemplo, tratando de que los datos que necesita una operacin estn en memoria principal, antes de que esa operacin se vaya a realizar.

Acerca de Oracle
Oracle es bsicamente una herramienta cliente/servidor para la gestin de Bases de Datos. Oracle Corporation, es una de las compaas ms grandes desarrolladoras de DBMS , herramientas para bases de datos, entre otros productos. Oracle fue fundada en 1977, emplea a ms de 50 mil personas en todo el mundo (2005) y tiene oficinas en ms de 145 pases. En abril de 2009 Oracle adquiri Sun Microsystems por 7.400 millones de dlares.

Acerca de Oracle
El URL para bajar el Manejador de Bases de Datos de Oracle es:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

En el Laboratorio SL-002 est instalado:


Oracle Database 11g Release 2 Standard Edition, Standard Edition One, and Enterprise Edition

Prxima clase
Investigue las diferencias entre los manejadores de base de datos existentes en el mercado y ms usados versus Oracle. Revisar la arquitectura del manejador a usar en el laboratorio. Leer los captulos correspondientes al prximo tema de acuerdo a las referencias dadas. Formar los grupos (2 personas) para el laboratorio, tareas, exposiciones y proyectos.