Download Semestre 2010-1 - Profesores
Document related concepts
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.