Download Semestre 2010-1 - Profesores

Document related concepts

Oracle Database wikipedia , lookup

NoSQL wikipedia , lookup

NewSQL wikipedia , lookup

Base de datos en memoria wikipedia , lookup

Sistema de gestión de bases de datos relacionales wikipedia , lookup

Transcript
Universidad de los Andes
Ingeniería de Sistemas y Computación
ISIS2501 – Conceptos Básicos de Bases de Datos
Semestre: 2010-1
Profesora: Claudia Jiménez - [email protected]
Objetivo
El objetivo del curso es estudiar la problemática de persistencia y acceso compartido de grandes
volúmenes de datos en sistemas transaccionales. El curso busca desarrollar las siguientes
competencias








Capacidad de diseñar un modelo conceptual para el mundo del problema, en aplicaciones de
tipo transaccional, dados unos requerimientos funcionales.
Capacidad de pasar de un modelo conceptual del mundo del problema de una aplicación de
tipo transaccional, a un modelo lógico para una base de datos relacional.
Capacidad de plantear y evaluar alternativas para aumentar la eficiencia de aplicaciones
transaccionales (e. g., selección de índices), como parte del proceso de diseño físico de una
base de datos relacional, dados unos requerimientos funcionales y no funcionales.
Capacidad de incorporar el lenguaje SQL en la solución de requerimientos funcionales que
involucren el almacenamiento y acceso de datos persistentes en bases de datos relacionales.
Capacidad de utilizar las funcionalidades ofrecidas por los sistemas de bases de datos, tales
como manejo de concurrencia y seguridad, en el cumplimiento de los requerimientos no
funcionales de las aplicaciones.
Capacidad de analizar la calidad de un modelo lógico de datos relacional, desde el punto de
vista de redundancia y problemas de inserción y supresión.
Capacidad de plantear soluciones algorítmicas para el manejo de grandes volúmenes de datos,
que minimicen los accesos a memoria secundaria.
Capacidad de usar un SMBD relacional (e. g.: Oracle 10g, SQL Server 2005, MySQL, Sybase, DB2,
PostgreSQL) de forma conjunta con un lenguaje orientado a objetos (e. g.: Java), para brindar
soluciones que integren el manejo de persistencia en el desarrollo de aplicaciones
transaccionales.
Metodología
El curso gira en torno al desarrollo de talleres prácticos que guían el contenido de las clases
teóricas y de los laboratorios. Para las clases es importante que el estudiante prepare con
anticipación los temas a cubrir. En la sección de contenido y cronograma del curso se sugieren unas
referencias para la preparación de los temas. Los talleres pueden tener una o varias entregas según
la complejidad y retos propuestos.
Plan de Temas
El curso se desarrolla en 5 niveles, cada uno de los cuales cubre unidades temáticas completas y
propone al estudiante las actividades prácticas asociadas. A continuación se encuentra la
descripción general de cada uno de ellos:
Nivel 1: Modelo de datos relacional y manejo de consultas
Modelo relacional
Cálculo relacional
Algebra relacional
SQL – Manejo de consultas
Nivel 2: SQL y modelaje de datos para el desarrollo de aplicaciones
SQL en pruebas de una aplicación
JDBC, Hibernate
SQL – Manejo de operaciones CRUD
Modelo conceptual de datos
Conversión a modelo relacional
Nivel 3: Calidad de un modelo de datos y procesamiento transaccional
Normalización de un modelo relacional
Transacciones, control de concurrencia, propiedades ACID
Mecanismos de recuperación ante fallas
Integridad y seguridad
Nivel 4: Almacenamiento relacional de datos y optimización
Jerarquías de memoria
Ordenamiento externo
Representación interna de una base de datos relacional
Procesamiento de operaciones relacionales
Indices: Árboles B+, Bitmap, Hashing
Planes de ejecución y proceso de selección de índices
Nivel 5: Arquitectura de sistemas transaccionales
Arquitecturas de sistemas transaccionales
Diseño de aplicaciones transaccionales
Patrones de persistencia de datos
Análisis de tecnología de bases de datos
Funcionamiento del curso
El curso está compuesto por:
Clases: 3 horas semanales, de asistencia obligatoria.
Laboratorios: Actividades prácticas que se desarrollan durante tiempo de clase, que refuerzan
o permiten experimentar con los temas y conceptos presentados.
Talleres prácticos: Actividades prácticas para desarrollar por el estudiante fuera de clase, que
refuerzan o permiten experimentar con los temas y conceptos desarrollados. Los talleres se
realizan en los laboratorios del Departamento, en grupos de 2 estudiantes. La evaluación de
los talleres es individual.
Tecnología de datos utilizada: oracle 10g.
Se realizan evaluaciones escritas individuales, así como seguimiento a la preparación de las
clases.
En documento adjunto se presenta el cronograma del curso para el semestre correspondiente.
Incluye los temas a cubrir, las actividades previstas, la bibliografía propuesta y el cronograma
de entregas de los talleres prácticos. Es posible que en el desarrollo del semestre se presenten
ajustes a dicho cronograma.
El curso tiene como canales oficiales de comunicación el correo electrónico uniandes, la lista de
correo del curso, la página web del curso (http://chie.uniandes.edu.co/~isis2501) y el sistema de
apoyo a la docencia SICUA ( http://sicua.uniandes.edu.co )
Evaluación del curso
Parciales (2)
Talleres
Taller nivel 1
7%
Taller nivel 2
12%
Taller nivel 3
12%
Taller nivel 4
7%
Taller nivel 5
7%
Laboratorios, quices, preparación y participación en clase
50% (25% cada uno)
45%
5%
Las reglas de juego para cada uno de los talleres son definidas con el enunciado correspondiente.
Pueden incluir pre-entregas o puntos de bono por desarrollos o actividades complementarios.
Para aprobar el curso el total de la nota lograda en las evaluaciones debe ser al menos de 3.0 / 5.0
Bibliografía
[1] SILBERSCHATZ, Abraham, KORTH, Henry, SUDARSHAN, S. “Fundamentos de Bases de Datos”.
Quinta Edición. McGraw-Hill, 2006.
[2] ULLMAN, Jeffrey, WIDOM, Jennifer. "A first course in database systems". 3rd. Edition. Prentice
Hall, 1997.
[3] GARCIA-MOLINA, Hector, ULLMAN, Jeffrey, WIDOM, Jennifer. "Database System
Implementation". Prentice Hall 2000.
[4] Philip LEWIS, Arthur BERNSTEIN, Michael KIFER. “Database Systems- An Application-Oriented
Approach”. Second Edition. Addison-Wesley, 2006.
[5] GARCIA-MOLINA, Hector, ULLMAN, Jeffrey, WIDOM, Jennifer. "Database Systems: The complete
Book”. 2nd. Edition. Prentice Hall, 2009.
[6] RAHAYU, Wenny, TANIAR, David, PARDEDE, Eric. “Object-Oriented Oracle (Solutions for It
Professionals)”. IRM Press, 2006.
Otras referencias
[ORACLE] Manuales técnicos y de referencia – Oracle Corp. – Documentación en línea
Artículos o documentación adicional propuesta, disponible por medios electrónicos o físicos a lo
largo del semestre.