Curso 2010-11

Bases de Datos (21301)

Titulación/estudio: Grado en Ingeniería en Informática, Grado en Ingeniería Telemática, Grado en Ingeniería en Sistemas Audiovisuales.
Curso: primero
Trimestre: tercero
Número de créditos ECTS: 4 créditos
Horas de dedicación del estudiante: 100 horas
Lenguas de la docencia: catalán y castellano
Profesor: Jesús Bisbal, Nadjet Bouayad-Agha, Horacio Saggion

1. Presentación de la asignatura

La asignatura Bases de Datos forma parte de un grupo de asignaturas del ámbito de la programación dirigidas a alumnos de primer año de los estudios de grado en Ingeniería. Esta asignatura complementa a las demás asignaturas del bloque de programación de primer año.

El objetivo principal es que a final de curso los alumnos sean capaces de analizar problemas y de proponer soluciones relacionadas con los sistemas de gestión de bases de datos. En particular, la asignatura trata conceptos como la modeloización conceptual, el álgebra relacional y el uso del lenguaje estándar de consultas SQL.

La asignatura consta de tres actividades principales: clases de teoría, seminarios y laboratorios. En las clases de teoría se introducen los conceptos básicos de las bases de datos y se muestran ejemplos de su aplicación. En los seminarios, los alumnos tendrán que resolver problemas propuestos con antelación, que corresponden a los conceptos introducidos previamente en las clases de teoría. En la sesiones de laboratorio se presentan problemas de tipo práctico para que los alumnos tengan la oportunidad de poner en práctica los conceptos clave aprendidos en las clases de teoría y en los seminarios.

2. Prerrequisitos para el seguimiento del itinerario formativo

El contenido de la asignatura supone que los alumnos dominan los temas tratados en las asignaturas de Fundamentos de la Programación, por una parte, y Álgebra Lineal y Matemática Discreta, por otra. Se espera pues que los alumnos tengan conocimientos sólidos de los conceptos matemáticos tratados en la asignatura de Álgebra Lineal y Matemática Discreta.

3. Competencias que se deben lograr

El objetivo fundamental de la asignatura es que los alumnos adquieran los conocimientos básicos relacionados con los sistemas de gestión de bases de datos y que sean capaces de resolver problemas que incluyan las fases de diseño e implementación de una base de datos.

En esta sección se detalla qué se espera que los estudiantes hayan aprendido al finalizar la asignatura. Las competencias generales hacen referencia a habilidades que no están directamente relacionadas con las bases de datos sino con el ámbito profesional de un ingeniero. Las competencias específicas son las que se refieren a aspectos de la asignatura propiamente dichos.

Competencias generales

Competencias específicas

Instrumentales

1. Habilidades cognitivas
2. Sentido común

Interpersonales

3. Competencia de comunicación

Sistémicas

4. Gestión de la información
5. Capacidad de generar ideas

Otras

6. Uso de instrumentos tecnológiclos

 

1. Capacidad para diseñar una BD utilizando el modelo Entidad-Relación a partir de especificaciones del mundo real.

 

2. Conocimiento sólido del lenguaje SQL para realizar consultas simples y de cierta complejidad en una BD

 

3. Capacidad para resolver consultas en una BD mediante operaciones de álgebra relacional.

 

 


4. Objetivos de aprendizaje

En esta asignatura se introducen los conceptos básicos de Bases de Datos (BD) necesarios tanto a nivel de diseñador como de usuario de una BD relacional.

El objetivo final de la asignatura es que los alumnos sean capaces de resolver problemas de tamaño medio y que engloben las fases de diseño e implementación de una BD relacional.

5. Evaluación

5.1. Criterios generales de evaluación

Se evalúan las tres actividades principales que constituyen la asignatura: es decir, las clases de teoría, los laboratorios y los seminarios. Son:

T: evaluación de la teoría mediante examen final
L: evaluación de los laboratorios mediante la entrega de prácticas
S: evaluación de los seminarios

La nota final se obtiene calculando la media ponderada de la siguiente manera:

Nota Final= 0,5 x T + 0,35 x L + 0,15 x S

Al final de la asignatura se realizará un examen tipo test (de respuesta múltiple en el cual las respuestas incorrecta restan ¼ de su valor) que corresponderá a las clases de teoría. Se trata de un examen escrito e individual que evalúa todas las competencias desarrolladas durante la asignatura. Esta evaluación es obligatoria y tiene que ser cualificada con un 40% como mínimo para aprobar la asignatura.

En las sesiones de laboratorio se realizan una serie de prácticas que ponen a prueba las capacidad de los alumnos para trabajar con una base de datos relacional, ya sea realizando consultas o programando directamente sobre ella. Cada práctica se realiza de forma continuada.

Las prácticas se realizan en parejas, de manera que los estudiantes deben cooperar y saber comunicarse para resolver los problemas que surjan. Esta evaluación también es obligatoria y tiene que ser cualificada con un 40% como mínimo para aprobar la asignatura.

Antes de cada sesión de seminario, los estudiantes tendrán que haber preparado la parte de preguntas tipo test que contendrán los ejercicios de seminario. Durante las sesiones presenciales los estudiantes podrán resolver las dudas que tengan sobre las preguntas tipo test. Aunque los estudiantes tendrán las respuestas correctas a las preguntas en los enunciados mismos, el objetivo de las sesiones de seminario no es discutir las preguntas tipo test sino trabajar conjuntamente con los estudiantes algunos problemas de desarrollo (ej. Consultas SQL). Al final de cada sesión los alumnos tendrán que resolver, de forma completamente individual, un ejercicio que propondrá el profesor y entregarlo vía Moodle para que se corrija. Las soluciones entregadas, de forma completamente individual, se evalúan de forma continuada. Esta evaluación no es obligatoria pero tiene un peso del 15% de la nota final, ponderada de forma equitativa entre todas las sesiones de seminario.

Competencias a adquirir en la asignatura

Indicador de adquisición

Procedimiento de evaluación

Temporalización

Competencias generales

1. Habilidades cognitivas

2. Sentido común

3. Competencias de comunicación

4. Gestión de la información

5. Capacidad de generar idees

6. Uso de instrumentos tecnológicos

1. Capacidad de proponer soluciones a problemas

2.  Capacidad de proponer soluciones a problemas

3. Programas coherentes y bien escritos en las prácticas

4. Soluciones que equivalen a problemas presentados

5. Soluciones ingeniosas a problemas presentados

6. Uso correcto del lenguaje SQL

1. Evaluación de prácticas, seminarios y del examen final

2.  Evaluación de prácticas, seminarios

3. Evaluación de prácticas

4.  Evaluación de prácticas, seminarios y del examen final

5.  Evaluación de prácticas, seminarios y del examen final

6.  Evaluación de prácticas

 

 

 

 

Todo el trimestre

 

 

Competencias específicas 

1. Capacidad para diseñar una BD utilizando el modeloo Entidad-Relación a partir de especificaciones del mundo real.

2. Conocimiento sólido del lenguaje SQL para realizar consultas simples y de cierta complejidad a una BD

3. Capacidad para resolver consultas a una BD mediante operaciones de álgebra relacional.


1. Sintaxis correcta en los seminarios

2.  Sintaxis correcta en los seminarios

3. Resolución y notación correcta en los seminarios

 

 

 

1.  Evaluación de seminarios

2.  Evaluación de prácticas, seminarios y del examen final

3. Evaluación de prácticas, seminarios y del examen final

 

 

Todo el trimestre

6. Contenidos

6.1. Bloques de contenido

- Bloque de contenido 1. Modelo relacional y álgebra relacional Modelo Entidad-Relación
- Bloque de contenido 2. Modelo Entidad-Relación 
- Bloque de contenido 3. Lenguaje SQL
- Bloque de contenido 4. Indexación

6.2. Organización y concreción de los contenidos

Bloque de contenido 1. Modelo relacional y álgebra relacional

Conceptos

Procedimientos

Actitudes

1. Estructura de datos del modelo relacional

2. Reglas de integridad

3. Manipulación de datos

4. Álgebra relacional

1. Entender los componentes que conforman el modelo relacional

2. Aplicar las reglas de integridad del modelo relacional a una BD.

3. Saber aplicar los operadores de álgebra relacional explicados en clase a problemas y consultas concretas

1. Disponibilidad para intentar entender conceptos que inicialmente parecen confusos o complejos.

2. Predisposición para adquirir conocimiento sólido de base

3. Disponibilidad para dedicar el tiempo necesario a cada concepto

Bloque de contenido 2. Modelo Entidad-Relación 

Conceptos

Procedimientos

Actitudes

1. Principios del modelo entidad- relación

2. Criterios de diseño de un esquema E-R

3. Relaciones M-N

 

1. Entender los componentes que conforman el modelo entidad-relación.

2. Entender y modelar los requerimientos de datos de una organización

3. Transformar relaciones M-N al modelo relacional

1. Disponibilidad para intentar entender conceptos que inicialmente parecen confusos o complejos.

2. Predisposición para adquirir conocimiento sólido de base

3. Disponibilidad para dedicar el tiempo necesario a cada concepto


Bloque de contenido 3. Lenguaje SQL

Conceptos

Procedimientos

Actitudes

1.  Lenguaje de Manipulación de Datos (DML)

2. Lenguaje de Definición de Datos (DDL)

3. Conceptos básicos sobre transacciones

4. Conceptos básicos sobre indexación

1. Saber resolver consultas en SQL

2. Poder crear una base de datos relacional a partir de un diseño relacional

3. Entender los diferentes niveles de aislamiento entre transacciones y definir el más adecuado en función del contexto

4. Entender los mecanismos de indexación y cuándo es necesario indexar un atributo de una taula

1.  Predisposición para adquirir conocimiento sólido de base.

2. Apreciar la necesidad de escribir consultas SQL (lenguaje declarativo) de forma clara y comprensible.

  

 

 

 

 

 

 

 

 

Bloque de contenido 4. Indexación

Conceptos

Procedimientos

Actitudes

1. Ejecución de consultas

2. Eficiencia

3.  Indexación

1. Analizar el proceso natural de evaluación de una consulta

2. Cálculo intuitivo de la eficiencia en la ejecución de una consulta

3. Identificación de los índices adecuados para mejorar la eficiencia de una consulta

4. Definición de índices en una base de datos relacional

1. Predisposición para adquirir conocimiento sólido de base.

2. Apreciar la necesidad de mejorar la eficiencia en la ejecución de consultas.



7. Metodología

El proceso habitual de aprendizaje empieza en una sesión de teoría en que se presentan algunos fundamentos teórico-prácticos. El estudiante deberá completar esta actividad con una lectura atenta de sus apuntes y del material adicional que el profesor haya proporcionado. Por ejemplo, una sesión de teoría de dos horas convenientemente aprovechada requerirá un trabajo adicional fuera del aula de una hora por parte del estudiante.

Posteriormente, se realizarán algunas sesiones de seminario, en las cuales el estudiante pone en práctica los conceptos y las técnicas presentadas en la sesión de teoría mediante la resolución de problemas.

Se proporcionarán las soluciones para los primeros ejercicios de la sesión, pero no para el resto de ejercicios. El objetivo es consolidar los fundamentos para que el estudiante pueda resolver problemas de mayor complejidad. Esta actividad se realiza en grupos de entre 15 y 20 estudiantes.

El siguiente paso en el proceso de aprendizaje es la sesión de prácticas, en la que se proponen una serie de problemas de mayor tamaño que requieren  un diseño conceptual previo a la implementación. En la práctica final se reúnen todas las competencias específicas que el estudiante debe adquirir en esta asignatura. Esta actividad se realiza en parejas, en grupos de unos 30 estudiantes, y requiere un trabajo continuado fuera del aula.

 

8. Fuentes de información y recursos didácticos

8.1. Fuentes de información para el aprendizaje. Bibliografía básica (soporte papel y electrónico)

R. Ramakrishnan y J. Gehrke, Database Management Systems, 3ª Edición,  McGraw-Hill 2003
J. Sistac. Bases de Dades, EdiUOC, 2000 (segunda edición 2005)
C.J. Date. An introduction to Data Base systems, Vol.1, 6ª edición, Addison-Wesley, 1995.

8.2. Fuentes de información para el aprendizaje Bibliografía complementaria (soporte papel y electrónico)

R. Elmasri, S. B. Navathe. Sistemas de Bases de Datos, Addison-Wesley, 1997.
J. Sistac. Disseny de bases de dades, EdiUOC, 2002.
A. Silberschatz, H.F. Korth, S. Sudarshan. Fundamentos de Bases de Datos , 3ª edición, McGraw-Hill, 1998.
J.D. Ullman, J. Widom. First Course in Database Systems, Prentice Hall, 1997.
H. García-Molina, J.D. Ullman, J. Widom. Database System Implementation, Prentice Hall, 2000.
C. Türker y M. Gertz. Semantic integrity support in SQL:1999 and commercial (object-)relational database management systems, The VLDB Journal, 10(4):241-269, Diciembre 2001.

8.3. Recursos didácticos. Material docente de la asignatura

  • Aula Moodle
  • Transparencias de clase
  • Enunciados de sesiones de seminario, con solución a los ejercicios tipo test
  • Enunciados para las sesiones de laboratorio

8.4. Recursos didácticos. Materiales y herramientas de apoyo

J. Sánchez. Manual rápido de MySQL. 2004.
http://www.jorgesanchez.net/bd/mysql.pdf

MySQL 5.0. Reference Manual.
http://dev.mysql.com/doc/refman/5.0/en/index.html