Bases de Datos y Sistemas de Información

Anuncio
Bases de Datos y Sistemas de Información
Curso para estudiantes con perfil de grado biológico
Docentes
Ing. Alfonso Vicente
Duración
40 horas de clase teórico/prácticas
20 horas para la realización de trabajos obligatorios
Créditos
8 créditos
Objetivos
La Bioinformática es, por definición, una actividad multidisciplinaria. Los
profesionales no informáticos que se involucren en esta área deberán manejar una
serie de conceptos y procesos involucrados en la construcción, explotación y
mantenimiento de un sistema de información de forma de mejorar la calidad de la
comunicación. De la misma forma, los informáticos que trabajen en esta área de
conocimiento, deberán adquirir los conceptos básicos que les permitan modelar y
comprender adecuadamente el dominio de aplicación.
Este curso se enfoca a atacar el primer problema con el objetivo principal de generar
un lenguaje común entre profesionales de las áreas biológicas e informáticos en lo
que respecta al desarrollo de Sistemas de Información, el manejo de Bases de Datos
y el desarrollo y uso de aplicaciones Web.
El curso está orientado a profesionales no informáticos que necesitan participar
activamente en los procesos de desarrollo, explotación y mantenimiento de ciertos
tipos de sistemas informáticos utilizados en su área. En este caso, está
especialmente orientado a investigadores del área biológica.
Conocimientos previos
Se parte de la base que el estudiante es capaz de utilizar una PC a nivel de usuario, y
que tiene conocimientos básicos de matemática (teoría de conjuntos, relaciones,
funciones) y lógica (lógica proposicional básica, tablas de verdad).
Metodología de enseñanza
 Clases teóricas de presentación de los conceptos, acompañadas de material de
lectura. Se intentará presentar lo fundamental de la disciplina de Bases de Datos, sin
la rigurosidad de un curso de la carrera de Ingeniería en Computación, y haciendo
énfasis en la aplicabilidad de los conceptos en la vida real. Se intentará además dar
un panorama general del estado del arte en cuanto a tecnologías relacionadas a
Sistemas de información.
 Resolución de problemas prácticos y discusión de dudas. Se fomentará el
tratamiento de problemas presentados por los estudiantes.
 Clases de laboratorio en máquina, donde se realizarán tareas que acompañen los
temas tratados en el curso
Forma de evaluación
 Trabajos obligatorios individuales
 Prueba escrita final individual
Temario
 Conceptos generales sobre Sistemas de Información, Arquitectura de Software y
Bases de Datos. La intención es familiarizar al estudiante con las tareas y los
conceptos más generales involucrados en la definición, implementación,
explotación y mantenimiento de un sistema.
 Fundamentos de matemática y lógica. Se presentarán los conceptos básicos de
matemática y lógica, sobre los cuales se apoya el modelo relacional. Se discutirá la
importancia de las bases de datos relacionales.
 Modelo Entidad-Relación. Se presentará el Modelo Entidad-Relación (MER) como
herramienta para el modelado de datos, y se discutirán técnicas y decisiones de
modelado. Se practicará en el modelado de diferentes realidades mediante el MER.
 Calidad de Datos. Se presentarán brevemente los principales conceptos de calidad
de esquemas y calidad de datos, discutiendo sobre alternativas de modelado.
 Modelo Relacional. Se presentará la teoría del modelo relacional, y se verá cómo
transformar un MER en un conjunto de tablas.
 Structured Query Language (SQL). Se presentarán las bases del lenguaje de
consulta SQL, se practicarán consultas SQL incluyendo prácticas de laboratorio con
DBMSs reales, y se discutirá el poder expresivo de este lenguaje.
 Performance. Se presentarán brevemente las consideraciones más importantes sobre
performance, planes de ejecución, utilización de índices y particionamiento. Se
discutirán las limitaciones de las bases de datos relacionales en lo que respecta a
performance.
 Taller con DBMSs reales. Se presentará la forma básica de trabajar con algunos de
los principales DBMSs del mercado, y se discutirá sobre sus similitudes y
diferencias.
 Programación sobre Bases de Datos. Se verán ejemplos de lenguajes procedurales
implementados por los propios DBMSs así como la forma de acceder a las bases de
datos utilizando otros lenguajes de programación, fundamentalmente Java/JDBC. Se
hará énfasis en la lógica transaccional, en el uso de COMMIT y ROLLBACK, y en
el manejo de excepciones.

Alternativas al modelo relacional. Se describirán brevemente alternativas al modelo
relacional, como NoSQL, NewSQL y BigData.
Bibliografía básica
 Sistemas de Bases de Datos, Elmasri & Navathe, Addison Wesley, 2000
 Database in Depth, C. J. Date, O’Reilly, 2005
 Applied Mathematics for Database Professionals, de Haan & Koppelaars, Apress,
2007
 SQL in a Nutshell, K. E. Kline, O’Reilly, 2004
Papers seleccionados
 A Relational Model of Data for Large Shared Data Banks, Edgar F. Codd,
Communications of the ACM, 1970
 The Entity-Relationship Model - Toward a Unified View of Data, P. P. -S. Chen,
ACM Transactions on Database Systems, 1976
 On the Correctness of Representing Extended Entity-Relationship Structures in the
Relational Model, Markowitz and Shoshani, Proceedings of the ACM, 1989
 The End of an Architectural Era, Stonebraker et. al, VLDB, 2007
 Urban Myths About SQL, Stonebraker, VoltDB, 2010
Descargar