Créditos
6
Tipos
Obligatoria de especialidad (Ingeniería del Software)
Departamento
ESSI
Profesorado
Responsable
- Alberto Abello Gamazo (alberto.abello@upc.edu)
Otros
- Besim Bilalli (besim.bilalli@upc.edu)
- Kevin David Castro Fuentes (kevin.david.castro@upc.edu)
- Vicent Picornell Alandete (vicent.picornell@upc.edu)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias técnicas comunes
- CT2.2 - Demostrar conocimiento y capacidad de aplicación de las características, funcionalidades y estructura de las bases de datos, que permitan su uso adecuado y el diseño y el análisis e implementación de aplicaciones basadas en ellas.
- CT2.4 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los Sistemas de información, incluidos los basados en web.
- CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
Especialidad ingeniería del software
- CES1.1 - Desarrollar mantener y evaluar sistemas y servicios software complejos y/o críticos.
- CES1.2 - Dar solución a problemas de integración en función de las estrategias, de los estándares y de las tecnologías disponibles.
- CES1.5 - Especificar, diseñar, implementar y evaluar bases de datos.
- CES1.6 - Administrar bases de datos (CIS4.3).
- CES3.2 - Diseñar y gestionar un almacén de datos (data warehouse).
Actitud frente al trabajo
- G8.3 - Tener motivación para el desarrollo profesional y para afrontar nuevos retos. Tener motivación para la mejora continua. Disponer de capacidad de trabajo en situaciones de falta de información.
Lengua extranjera
- G3.1 - Comprender y utilizar eficazmente manuales, especificaciones de productos y otra información de carácter técnico escrita en inglés.
Objetivos
-
Ser capaz de diseñar y obtener información de bases de datos multidimensionales
Competencias relacionadas: CT2.2, CES1.1, CES1.5, CES3.2, CT7.2, CT2.4,
Subcompetences- Ser capaz de trasladar un esquema UML multidimensional a un esquema relacional star-join.
- Ser capaz de obtener la consulta multidimensional correspondiente a una tabla estadística usando de las construcciones específicas de SQL-99
-
Ser capaz de implementar un diseño lógico en un diseño físico analizando y escogiendo el mejor mecanismo para recoger las restricciones de integridad de la BD
Competencias relacionadas: CT2.2, CES1.1, CES1.5, CT7.2, -
Ser capaz de decidir qué vistas materializadas hay que definir según las operaciones esperadas
Competencias relacionadas: CT2.2, CES1.1, CES1.5, CT7.2, -
Ser capaz de decidir los índices que hay que definir en función de las operaciones esperadas
Competencias relacionadas: CES1.1, CES1.5, CT2.4,
Subcompetences- Enumerar los tipos de índices que se pueden definir y el coste de cada operación (inserción, supresión, consulta de único, consulta de más de uno) en cada índice
- Ser capaz reproducir la ejecución de cada operación sobre cada índice
-
Ser capaz de enumerar las opciones existentes en cuanto a políticas, métodos y momento de la optimización junto con las ventajas, inconvenientes y condiciones de aplicación de cada una.
Competencias relacionadas: CES1.5, CES1.6, -
Ser capaz de obtener el plan de acceso de una consulta según unos criterios de optimización
Competencias relacionadas: CT2.2, CES1.1, CES1.6, CT7.2,
Subcompetences- Ser capaz de estimar el tamaño del resultado final e intermedios de una consulta y el coste de resolver cada paso
- Ser capaz de optimizar un árbol sintáctico
-
Ser capaz de reproducir la ejecución de los algoritmos que intervienen en un árbol de proceso y de estimar su coste
Competencias relacionadas: CT2.2, CES1.1, CES1.5, CES1.6, -
Ser capaz de enumerar los parámetros y opciones principales que afectan a la concurrencia y de justificar el efecto que tiene modificar su valor
Competencias relacionadas: CT2.2, CES1.6,
Subcompetences- Ser capaz de reproducir la ejecución concurrente de transacciones en función del nivel de aislamiento
-
Ser capaz de enumerar los parámetros y opciones principales que afectan a la recuperación de la base de datos y justificar el efecto que tiene modificar su valor.
Competencias relacionadas: CT2.2, CES1.6,
Subcompetences- Ser capaz de reproducir la ejecución de una operación en el SGBD
-
Ser capaz de enumerar los subsistemas de una organización y las informaciones que generan y necesitan.
Competencias relacionadas: CES3.2,
Subcompetences- Diferenciar entre sistemas operacionales y decisionales.
-
Ser capaz de enumerar las etapas de desarrollo de una base de datos y el resultado de cada una
Competencias relacionadas: CES1.1, CES1.2, CES1.5, CES3.2, -
Ser capaz de detectar y corregir defectos en un diseño lógico.
Competencias relacionadas: CT2.2, CES1.1, CES1.5, CT7.2,
Subcompetences- Ser capaz de detectar problemas de satisfactibilidad, vivacidad, redundancia y alcanzabilidad y de reconocer contención de consultas.
- Ser capaz de establecer en qué forma normal se encuentra el esquema lógico de un sistema de información operacional y de normalizar al nivel requerido
- Ser capaz reproducir la ejecución del algoritmo de análisis
- Ser capaz de decidir sobre la posibilidad de agregación de los datos.
-
Ser capaz de obtener el esquema lógico de una Base de Datos de un SI.
Competencias relacionadas: CES1.1, CES1.5,
Subcompetences- Ser capaz de construir consultas en SQL teniendo en cuenta la existencia de valores nulos y haciendo uso de combinaciones externas cuando es necesario.
- Ser capaz de obtener el esquema lógico a partir de un esquema conceptual expresado en UML teniendo en cuenta las consecuencias de los valores nulos
-
Ser capaz de adquirir autónomamente conceptos y habilidades.
Competencias relacionadas: G3.1, G8.3,
Contenidos
-
Introducción
Conceptos de referencia relacionados con el diseño y la administración.
Ciclo de vida de una BD. Alternativas.
BD decisionales y operacionales. -
Sistemas de ayuda a la toma de decisiones
Almacenes de datos.
Bases de datos multidimensionales (herramientas OLAP) -
Diseño lógico. El paso a modelo relacional.
El caso decisional.
El caso operacional desde UML. -
Corrección del diseño
Normalización.
Validación. -
Diseño físico
Vistas materializadas.
Restricciones. -
Optimización
Opt. semántica.
Opt. sintáctica.
Opt. física.
Estimación de volúmenes. -
Access structures
B +.
Cluster.
Hash. -
Algoritmos
Selección.
Ordenación.
Combinación.
Proyección. -
Indexación avanzada
Multiatributo.
Bitmaps.
Resolución de consultas usando índices exclusivamente. -
Administración
Definiciones, tareas y objetivos.
Plan de acceso.
Optimización de cargas de trabajo.
Transacciones.
Recuperación.
Concurrencia.
Espacios virtual y físico -
Más allá del modelo relacional
Conocimientos básicos de bases de datos NOSQL. Diferencias con el modelo relacional. Tipos más importantes de BD NOSQL.
Actividades
Actividad Acto evaluativo
Presentación
El estudiante debe preparar su ordenador según alguna de las alternativas propuestas para poder realizar las actividades que se esperan de él durante el curso. Básicamente, debe tener acceso a Moodle y Oracle.Objetivos: 14
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
1h
Estudio de los conceptos relativos a los sistemas de ayuda a la toma de decisiones
Estudio de los contenidos explicados y los materiales de autoestudio. Resolución de los ejercicios propuestos y propuesta de preguntas para el examen usando el glosario de Moodle.Objetivos: 1 14
Contenidos:
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
15h
Estudio de los conceptos relativos al diseño lógico
Estudio de los contenidos explicados y los materiales de autoestudio. Resolución de los ejercicios propuestos y propuesta de preguntas para el examen usando el glosario de Moodle.Objetivos: 13
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h
Estudio de los conceptos relativos a la corrección del diseño
Estudio de los contenidos explicados y propuesta de preguntas para el examen usando el glosario de Moodle,Objetivos: 12
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h
Entreno SQL
La sesión es idéntica a la de SQL avanzado pero esta no cuenta para la evaluación.- Aprendizaje autónomo: Los estudiantes deben analizar el cuestionario y estudiar la teoría relacionada.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Sesión 1: consultas SQL avanzadas
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 13
Semana: 3
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Estudio de los conceptos relativos a optimización
Estudio de los contenidos explicados y los materiales de autoestudio. Resolución de los ejercicios propuestos y propuesta de preguntas para el examen usando el glosario de Moodle.Objetivos: 6 5
Contenidos:
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h
Entreno de traducción y normalización
La sessió és idèntica a la de traducció i normalització però aquesta no compta per a l'avaluació.- Laboratorio: La sesión es idéntica a la de traducción y normalización pero esta no cuenta para la evaluación.
- Aprendizaje autónomo: Los estudiantes deben analizar el cuestionario y estudiar la teoría relacionada.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Sesión 2: traducción a relacional y normalización
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 13 12
Semana: 5
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Estudio de los conceptos relativos a estructuras de acceso
Estudio de los contenidos explicados y propuesta de preguntas para el examen usando el glosario de Moodle,Objetivos: 4
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Estudio de los conceptos relativos a algoritmos
Estudio de los contenidos explicados y propuesta de preguntas para el examen usando el glosario de Moodle,Objetivos: 7
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h
Estudio de los conceptos relativos a indexación avanzada
Estudio de los contenidos explicados y propuesta de preguntas para el examen usando el glosario de Moodle,Objetivos: 4
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Entreno de corrección y vistas
La sesión es idéntica a la de corrección y vistas pero esta no cuenta para la evaluación.- Laboratorio: La sesión es idéntica a la de corrección y vistas pero esta no cuenta para la evaluación.
- Aprendizaje autónomo: Los estudiantes deben analizar el cuestionario y estudiar la teoría relacionada.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Sesión 3: corrección y vistas
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 12 2 3
Semana: 7
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Estudio de los conceptos relativos a administración
Estudio de los contenidos explicados y los materiales de autoestudio. Resolución de los ejercicios propuestos y propuesta de preguntas para el examen usando el glosario de Moodle.Objetivos: 9 8 14
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h
Sesión 4: índices y costes de consultas con combinaciones
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 4 7
Semana: 10
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Entreno de estructuras de acceso
La sesión es idéntica a la de estructuras de acceso pero esta no cuenta para la evaluación.- Aprendizaje autónomo: Los estudiantes deben analizar el cuestionario y estudiar la teoría relacionada.
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Sesión 5: estructuras de acceso
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 4 6 7
Semana: 12
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Entreno de optimización según una carga de trabajo
La sesión es idéntica a la de optimización según una carga de trabajo pero esta no cuenta para la evaluación.- Laboratorio: La sesión es idéntica a la de optimización según una carga de trabajo pero esta no cuenta para la evaluación.
- Aprendizaje autónomo: Los estudiantes deben analizar el cuestionario y estudiar la teoría relacionada.
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h
Sesión 6: optimización según una carga de trabajo
Los alumnos, por parejas, deben responder un cuestionario de Moodle que es corregido instantáneamente a través de LEARN-SQL. Cada vez que los estudiantes envían la respuesta de una cuestión reciben una calificación. Los estudiantes pueden decidir enviar nuevas respuestas para tratar de mejorar las anteriores. Cada nuevo envío supone una penalización. Los estudiantes también tendrán que contestar algunas preguntas por escrito. El profesor corregirá las preguntas escritas y matizará la nota otorgada por LEARN-SQL. Durante la semana anterior a la prueba, los estudiantes habrán resuelto remotamente un cuestionario Moodle de las mismas características con la misma pareja.Objetivos: 4 6 7
Semana: 14
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Estudio de los conceptos relativos a NOSQL
Estudio de los contenidos explicados y los materiales de autoestudio. Resolución de los ejercicios propuestos y propuesta de preguntas para el examen usando el glosario de Moodle.Objetivos: 10 13 11 14
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
3h
Examen
Algunas de las preguntas pueden ser extraídas del conjunto de preguntas propuestas voluntariamente por los estudiantes a través del mecanismo del glosario.Objetivos: 10 11 2 4 5 9 8
Semana: 15 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Revisión de pruebas de laboratorio
El alumno que lo necesite pedirá explicaciones o presentará reclamaciones sobre la evaluación siguiendo las pautas establecidas.
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Revisión de examen
El alumno que lo necesite pedirá explicaciones o presentará reclamaciones sobre la evaluación siguiendo las pautas establecidas.
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Metodología docente
Les horas de teoria se dedicaran fundamentalmente a la resolución de dudas y problemes. Se asumirá que los estudiantes han mirado todos los materiales disponibles en el campus virtual con antelación.En las horas de laboratorio el profesor abre un cuestionario en el campus virtual que los estudiantes deben solucionar por parejas. En los días previos las mismas parejas habrán tenido la oportunidad de trabajar un cuestionario similar al de la sesión de laboratorio. Esto lo pueden hacer desde cualquier punto con acceso a Internet obteniendo feedback del corrector automático. Además, el mismo módulo permite a los miembros de la pareja hacerse comentarios sobre los ejercicios sin necesidad de encontrarse físicamente.
Método de evaluación
Nota final = min(10;Bonus*(30%ExP+ 30%ExF + 40% L))Exp [0,10] = nota del examen parcial.
ExF [0,10] = nota del examen final.
L [0,10] = promedio ponderado de las notas de las sesiones de laboratorio (donde los pesos dependen del contenido de la actividad en cuestión).
P [0,10] = promedio ponderado de los problemas hechos en clase de teoría y de los cuestionarios hechos en casa (donde los pesos dependen de dónde se realiza la actividad).
Bonus [1,1.1] = directamente proporcional a la nota P según la fórmula: 1+P/100
La calificación de la competencia transversal "Actitud adequada davant el treball" será A (competencia superada con excelencia), B (competencia superada al nivel deseado), C (competencia superada a un nivel suficiente) o D(competencia no superada). Esta nota se computa como la media de P y la nota de actitud recogida por el profesor (participación en las actividades dirigidas en classe).
La competencia transversal "Tercera lengua" se decidirá en función de las notas de las actividades realizadas usando materiales en inglés.
Bibliografía
Básico
-
Database modeling and design: logical design
- Teorey, Toby ... [et al.],
Morgan Kaufmann Publishers/Elsevier,
2011.
ISBN: 9780123820204
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004000559706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Physical database design: the database professional's guide to exploiting indexes, views, storage, and more
- Lightstone, S.; Teorey, T.; Nadeau, T,
Morgan Kaufmann Publishers,
2007.
ISBN: 9780123693891
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003252949706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Database systems: the complete book
- Garcia-Molina, Hector; Ullman, Jeffrey D; Widom, Jennifer,
Pearson Education Limited,
[2014].
ISBN: 9781292024479
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004168919706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Database tuning: a principled approach
- Shasha, D.E,
Prentice Hall,
1992.
ISBN: 0132052466
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001055809706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Fundamentals of database systems
- Elmasri, Ramez; Navathe, Shamkant,
Pearson Education Limited,
2016.
ISBN: 9781292097626
Complementario
-
SQL-99 complete, really
- Gulutzan, P.; Pelzer, T,
R & D books,
1999.
ISBN: 0879305681
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002180409706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Cost-based oracle fundamentals
- Lewis, J,
Apress,
2006.
ISBN: 978-1-59059-636-4
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003403389706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Capacidades previas
Ser capaz de enumerar las etapas que conforman el proceso de la ingeniería de softwareSer capaz de entender esquemas conceptuales en UML
Ser capaz de crear, consultar y manipular bases de datos usando SQL