107312 - SISTEMAS GESTORES DE BASES DE DATOS
Doble Grado en Informática de Gestión y Sistemas de información/Grado en Diseño y Producción de Videojuegos
Escola Superior Politècnica
Información general
- Tipo de asignatura: Obligatoria
- Coordinador: Adso Fernández Baena
- Trimestre: 1
- Créditos: 4
- Profesorado:
- Alfons Palacios González (palacios@tecnocampus.cat)
Idiomas de impartición
- Castellano
- English
- Català
Esta asignatura es parte de la oferta para estudiantes internacionales. La docencia de esta asignatura es en castellano. Algunas sesiones, la bibliografía, parte de los contenidos y las herramientas pueden ser en inglés. Sin embargo, el catalán, la lengua de nuestro país, puede ser usada libremente por sus estudiantes.
Descripción
El objetivo general de la asignatura es la profundización en el conocimiento de las bases de datos y los sistemas gestores de bases de datos, descubriendo la ampliación procedimental del lenguaje SQL para la implementación de los diseños externos de las bases de datos, conociendo la arquitectura de los SGBD para poder gestionar los métodos de acceso a los datos, optimizar las consultas SQL, definir el diseño físico y gestionar la concurrencia.
Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covid-19. De esta forma se asegura el poder obtener los mismos conocimientos y competencias que se especifican en este plan docente.
Resultados de aprendizaje
A nivel general, esta asignatura contribuye a los siguientes resultados de aprenedizaje especificados para la materia de ingeniería del software a la que pertenece:
- (1) Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantación- y evaluación de productos) de manera que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño.
- (2) Tomar iniciativas que generen oportunidades, nuevos objetos o soluciones nuevas, con una visión de implementación de proceso y de mercado, y que implique y haga partícipes a los otros en proyectos que se tienen que desarrollar (capacidad de actuar de manera autónoma).
- (3 )Especificar, diseñar, implementar, gestionar y mantener sistemas y servicios software complejos y/o críticos.
- (4) Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
- (5) Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
- (6) Determinar los factores que inciden negativamente en la seguridad y la fiabilidad de un sistema hardware/software, y minimizar sus efectos.
- (7) Identificar tecnologías actuales y emergentes y evaluar si son aplicables, y en qué medida, para satisfacer las necesidades de los usuarios.
- (8) Diseñar soluciones que integren tecnologías de hardware, software y comunicaciones (y capacidad de desarrollar soluciones específicas de software de sistemas) para sistemas distribuidos y dispositivos de computación ubicua.
- (9) Comprender y utilizar eficazmente manuales, especificaciones de productos y otra información de carácter técnico escrita en inglés.
A un nivel más concreto, al acabar la asignatura el estudiante debe ser capaz de:
- RA1: Programar de forma avanzada en un lenguaje procedimental de definición de bases de datos (en el curso 2018/2019 con PL/SQL de Oracle).(Colabora a 1,2,3,4,5,6,9)
- RA1.1: Desarrollar funciones, procedimientos y paquetes con PL/SQL. (Colabora a 1,2,3,4,5,6,9)
- RA1.2: Gestionar excepciones con PL/SQL. (Colabora a 1,2,3,4,5,6,9)
- RA1.3: Definir disparadores de bases de datos con PL/SQL. (Colabora a 1,2,3,4,5,6,9)
- RA2: Implementar un diseño externo con vistas, vistas materializadas, procedimientos, funciones y paquetes. (Colabora a 1,2,3,4,5,6,8,9)
- RA3: Implementar un diseño interno o físico a partir del diseño lógico. (Colabora a 1,2,3,4,5,6,7,8,9)
- RA4: Definir bases de dades distribuídas. (Colabora a 1,2,3,4,5,6,7,8,9)
- RA5: Identificar las partes y las funciones de cada componente de la arquitectura de un sistema gestor de base de datos. (Colabora a 1,2,4,5,6,7,9)
- RA6: Optimizar la ejecución de sentencias SQL decidiendo el mejor plan de ejecución y los mejores métodos de acceso en cada caso: índices B-Tree y Bitmap, funciones de Hash, clusters. (Colabora a 1,2,3,4,5,6,7,9)
- RA7: Definir y gestionar la concurrencia en bases de datos. (Colabora a 1,2,3,4,5,6,7,8,9)
- RA8: Gestionar la ejecución concurrente de sentencias SQL. (Colabora a 1,2,3,4,5,6,8,9)
Metodologia de trabajo
Las horas de aprendizaje dirigido comprenden:
Clases teóricas en gran grupo en las que:
> El profesorado o los profesionales invitados introducen los contenidos de la asignatura.
> Se realizan pequeñas actividades docentes que persiguen que el estudiante sea un protagonista activo en la adquisición de sus conocimientos.
> Se realizan workshops o seminarios prácticos donde se trabajan y se desarrollan los contenidos
Prácticas en equipos pequeños de dos personas que tienen una parte que se realiza en el laboratorio conducidas o supervisadas por el profesorado y una parte en la que el equipo debe funcionar autónomo.
Dentro de las horas de aprendizaje autónomo se consideran las horas para preparar las clases teóricas, las horas para estudiar y consolidar los conocimientos adquiridos, las horas para preparar el trabajo de las prácticas y, por último, las horas que el estudiante puede dedicar a aumentar y complementar sus conocimientos sobre la materia.
Las herramientas confirmadas que se utilizarán en el curso 2020/21 son: Oracle Academy, PL/SQL, Oracle APEX, Oracle Database i Oracle SQL Developer
Este curso, a causa de la situación generada por la pandèmia COVID-19, algunas de las sesiones de gran grupo pueden realizarse -si la situación sanitaria lo requiere- en formato híbrido: presencial y en línia (via streaming). El formato permite que los estudiantes puedan ir rotativamente a les clases presenciales, respectando el número de estudiantes por aula que impongan las medidas de distanciamiento. Cuando no les toque sessión presencial podran seguir la clase en línia.
Con respecto a las sesiones de prácticas en espacios más reducidos como los laboratorios, si fuera necesario se impartiran en espacios de más capacidad o se realizarán simultaniamente en diversos espacios para garantizar que se cumplan las condiciones establecidas por los protocolos de seguridad.
Contenidos
Tema 1
Título contenido 1 Diseño externo de bases de datos |
Dedicación: GG:15h GP:6h AA:30h |
|
|
Descripción |
Introducción a los lenguajes procedimentales de bases de datos, que permiten enriquecer del diseny lógico i la definición de reglas de negocio avanzadas de bases de datos por un lado y, por otra, implementar el diseño externo y el diseño distribuído. |
||
Temari |
1.1 Lenguajes transaccionales o procedimentales de los SGBD 1.2 Procedimientos y funciones 1.3 Tipos Abstractos de Datos: paquetes y tipos. 1.4 Disparadores 1.5 Sinónimos, vistas, vistas materializadas 1.6 Implementación de esquemas externos 1.7 Implementación de bases de datos distribuídas |
Tema 2
Títol contingut 2: Arquitectura, estructura, mètodes d'accés i optimització de SGBD |
Dedicació:GG:10h GP:2h AA:20h |
|
|
Descripció |
Aprofundiment en el coneixement de les bases de dades i dels sistemes gestors de bases de dades, l’arquitectura dels SGBD per a poder gestionar els mètodes d’accés a les dades, optimitzar l’execució de les consultes SQL i definir el disseny físic. |
||
Temari |
2.1 Arquitectura de SGBD 2.2 Estructura interna de bases de dades 2.3 Mètodes d'accés 2.4 Processament de consultes i plans d'execució 2.5 Optimització de sentències SQL |
Tema 3
Títol contingut 3: Control de concurrència |
Dedicació:GG:5h GP:2h AA:10h |
|
|
Descripció |
Introducció al control de concurrència en bases de dades, aprenentatge de les eines per gestionar les transaccions, la concurrència i els sistemes ACID. Gestió de la consistència en lectura i actualització. |
||
Temari |
3.1 Gestió de transaccions i control de concurrència 2.2 Sistemes ACID 2.3 Consistència en lectura 2.4 Gestió de la seriabilitat, els bloquejos i es deadlocks. |
Actividades de aprendizaje
Actividad 1: |
Laboratorio de práctiques de programación con lenguajes procedimentales de definición de bases de datos |
Descripción: |
Prácticas de programación de bloques, excepciones, procedimientos, funciones, paquetes y disparadores con PL/SQL. Tres sesiones de prácticas (grupo pequeño), la 1, 2 y 3 dónde se trabaja el lenguaje PL/SQL d'Oracle |
Material: | Oracle12c, PL/SQL, SQL Developer, Oracle APEX, Oracle Academy |
Entregable: |
Evaluación individual: ejercicios y cuestiones resueltas individualmente |
Resultados de aprendizaje | RA1 (RA 1.1, RA 1.2 y RA 1.3) |
Competencias a las que colabora |
B2 (aplicar conocimientos de PL / SQL a resolver problemas reales de uso de datos) |
Evaluación: | 10% de la nota de la asignatura |
Actividad 2: |
Proyecto de diseño externo e interno de una base de datos |
Descripción: |
Proyecto de curso para la definición de una base de datos siguiendo las etapas de diseño conceptual, lógico, físico para acabar con una propuesta de diseño externo. Seminarios 1,2 y 3 |
Material de soporte: | Oracle12c, PL/SQL, SQL Developer, Oracle APEX, Oracle Academy, herramienta de modelización y generación de bases de datos |
Entregables: |
Evaluación individual: particiàción en seminarios, ejercicios y cuestiones resueltas individualmente |
Resultados de aprendizaje | RA1 (RA 1.1, RA 1.2, RA 1.3), RA2 |
Competencias a les que colabora |
B2 (aplicar conocimientos de diseño externo de bases de datos a resolver problemas reales de uso de datos) |
Evaluación | 10% de la nota de la asignatura |
Actividad 3: |
Laboratorio de prácticas de optimización de sentencias SQL y control de concurrencia |
Descripción: |
Técnicas de optimización de consultas y uso del EXPLAIN PLAN |
Material: | Oracle12c, SQL Developer, Oracle APEX |
Entregable: |
Evaluación individual: participación en seminarios, ejercicios y cuestiones resueltas individualmente |
Resultados de aprendizaje | (RA3, RA4, RA5, RA6, RA7, RA8) |
Competencias a las que colabora |
B2 (aplicar conocimientos de diseño externo de bases de datos para resolver problemas reales de uso de datos) |
Evaluación: | 10% de la nota de la asignatura. |
Actividad 4: |
Examen de diseño externo y de programación con lenguajes procedimentales de definición de bases de datos (Tema 1): (MECES 2 descriptores a) b) c) y d) |
Descripción: | Prueba individual para evaluar los conocimientos adquiridos sobre diseño externo de bases de datos y programación con lenguajes procedimentales de bases de datos |
Entregables: |
|
Resultados de aprendizaje | RA1 (RA1.1, RA1.2, RA1.3) RA2 |
Competencias a las que colabora |
B2 (aplicar conocimientos de PL / SQL y diseño externo de bases de datos para resolver problemas reales de uso de datos) |
Evaluación: | 35% de la nota de la asignatura |
Actividad 5: |
Examen de arquitectura de SGBD, optimización y control de concurrencia (Temas 2 y 3) |
Descripción: | Prueba de evaluación individual para medir el nivel de experiencia en optimización de sentencias SQL y en el uso de SQL para gestionar transacciones y controlar la concurrencia |
Entregables: | Resolución de problemas de optimización de sentencias SQL Evaluación de arquitecturas, estructuras físicas y métodos de acceso a SGBD Resolución de problemas de gestión de transacciones y control de la concurrencia |
Resultados de aprendizaje | RA3, RA4, RA5, RA6, RA7, RA8 |
Competencias a las que colabora |
B2 (aplicar conocimientos de optimización y concurrencia para resolver problemas reales de uso de datos) |
Evaluación: | 35% de la nota final de la asignatura |
Sistema de evaluación
Sistema de calificación (evaluación)
Laboratorio de prácticas de Diseño externo y distribuido: 10% (sesiones de prácticas 1, 2 y 3). (Por su componente de evaluación contínua, esta nota no es recuperable)
Proyecto de diseño externo e interno: 10% (Trabajo a lo largo del curso) (seminarios 1,2 i 3). (Por su componente de evaluación contínua, esta nota no es recuperable)
Laboratorio de prácticas de optimización de sentencias SQL y control de concurrencia: 10% (sesiones de prácticas 4 y 5) (seminarios 4 y 5). (Por su componente de evaluación contínua, esta nota no es recuperable)
Examen de PL / SQL, diseño externo y diseño distribuído (Tema 1): 35%
Examen de Arquitectura de SGBD, optimización y control de concurrencia (Temas 2 y 3): 35%
Todas las notas son obligatorias. Es necesario una nota superior a 3,5 en cada actividad para superar la asignatura y poder hacer la media.
Siguiendo la normativa general, la copia en las actividades de evaluación trae como consecuencia la evaluación con una nota de SUSPENSO (0) en toda la asignatura.
Normas de realización de las actividades
En todas las actividades es obligada la asistencia para ser evaluadas.
Las actividades son obligatorias. Las actividades no realizadas -o en las que no se ha asistido- son evaluadas con un 0.
Bibliografía
Básica
Elmasri,R.; Navathe,S.B. "Fundamentals of Database Systems,Global Edition". Seventh Edition. Harlow, Essex: Pearson, 2017. ISBN 978-1-292-09761-9.
Silberschatz,Abraham;Korth,Henry;Sudarshan,S. “Fundamentos de Bases de Datos”. Sisena edició. Madrid-McGraw-Hill-Education, 2014. ISBN 978-84-481-9033-0.
Complementaria
Date,C.J. “Introducción a los sistemes de bases de datos”. Setena edició. México-Pearson Educación, 2001. ISBN 9684444192
Loney, Kevin;Bryla, Bob. “Oracle Database 12c. The Complete Reference”. Primera edició. Oracle Press-McGraw-Hill Education, 2013. ISBN-13: 9780071801751. ISBN-10: 0071801758.
McLaughlin, Michael. “Oracle Database 12c PL/SQL Programming”. Primera edició. Oracle Press-McGraw-Hill Education, 2014. ISBN-13: 9780071812436. ISBN-10: 0071812431.