
Gestión y Administración de Bases de Datos
Código: 102741Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Ingeniería Informática | OB | 3 |
| Ingeniería Informática | OP | 4 |
Profesor/a de contacto
- Nombre :
- Oriol Ramos Terrades
- Correo electrónico :
- oriol.ramos@uab.cat
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Se recomienda que el alumno tenga conocimientos y competencias correspondientes a los contenidos de la asignatura de bases de datos. Además, se recomienda que los estudiantes tengan alcanzadas las competencias de programación en Python, en bash scripting y estén familiarizados al trabajar en SO Linux.
Objetivos
En esta asignatura se introducen los conceptos avanzados de Bases de Datos (BD) necesarios tanto a nivel de diseñador de BD como de usuario.
CONOCIMIENTOS:
- Conocer, comprender y saber utilizar las principales herramientas de administración de BD para poder parametrizar las BD de la manera más óptima según las necesidades de los usuarios y procesos.
- Conocer, comprender y saber utilizar las principales herramientas de optimización de BD.
- Conocer, comprender y saber configurar BD distribuidas
- Conocer, comprender y saber utilizar BD no relacionales.
HABILIDADES:
- Configurar un sistema de BD de la forma más óptima a partir de unas necesidades.
- Optimizar la ejecución de transacciones que maximice el tiempo de respuesta y la utilización de los recursos que disponga la BD.
- Utilizar el lenguaje SQL inmerso para diseñar, programar y verificar aplicaciones de BD basadas en lenguajes de programación y SQL.
- Utilizar y configurar una BD no relacional a partir de un diseño E / R de BD.
Trabajar con las habilidades anteriores con SGBD relacionales, como es ORACLE, de uso muy extendido en el ámbito profesional, tanto a nivel de usuario como de administrador y SGBD no relacionales, como es MongoDB.
Resultados de aprendizaje
- Desarrollar la capacidad de análisis, síntesis y prospectiva.
- Conocer los métodos de optimización de bases de datos y los mecanismos de administración y parametrización de las mismas.
- Desarrollar y mantener los modelos de datos que sirven de base a los sistemas software.
- Aplicar las diferentes tareas de administración de BD en casos prácticos.
- Conocer las limitaciones de los diferentes sistemas de recuperación de errores y entender los procesos involucrados en el Rollback.
- Aplicar la planificación de consultas para la optimización de recursos.
- Conocer los mecanismos de consulta y sincronización de nodos en sistemas distribuidos.
- Conocer las bases del paradigma de BBDD orientadas a objetos.
Contenidos
1. Control de acceso y seguridad (5 horas)
- Control de acceso discrecional (DAC).
- Control de acceso obligatorio (MAC).
- Control de acceso mediante roles (RBAC).
2. Nivel Interno en Oracle y PL/SQL (10 horas)
- Representación interna de los datos: tablespaces i datafiles.
- Conceptos y registro de sistema.
- Registro de sistema en Oracle: ARCHIVELOG i NOARCHIVELOG
- PL/SQL: estructuras básicas, procedimientos, funciones y disparadores
3. Recuperación de BD (10 horas)
- Conceptos de recuperación.
- Técnicas de recuperación basadas en actualización diferida e inmediata.
- Paginación a la sombra.
- Algoritmo ARIES.
- Copia de seguridad de bases de datos y recuperación ante fallos catastróficas.
4. Gestión y procesamiento de transacciones (5 horas)
- Propiedades ACID.
- Planificación de transacciones.
- Clasificación de transacciones en base a serialización: por conflictos y por vista.
5. Protocolos de control de Concurrencia (25 horas)
- Administración de transacciones SQL.
- Deadlock e inanición
- Técnicas de bloqueo: Granularidad
- Técnicas basadas en marcas temporales
- Técnicas multiversión
6. Optimización de consultas (25 horas)
- Indexación y hashing.
- Arquitectura.
- Traducción de consultas SQL
- Implementación de operadores relacionales
- Procesamiento en secuencia
- Heurísticas de optimización
7. BD no relacionales: MongoDB (10 hores)
- Introducción a las BD no relacionals
- Introducción a MongoDB: colecciones y documentos
- Conceptos básicos de consultas en MongoDB
- Seguridad en MongoDB: usuarios y roles
- Nivel interno en MongoDB: WiredTiger
- Planes de ejecución en MongoDB.
8. BD distribuidas (10 horas)
- Conceptos básicos
- Técnicas de fragmentación, replicación y asignación de datos
- Tipos de sistemas de BD distribuidas
- Control de concurrencia
- BBDD en Oracle y MongoDB
* Las horas en paréntesis son estimativas de las horas que el alumnado dedicará a cada tema contando las horas presenciales en clase y las horas fuera del aula.
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Resolución de problemas y prácticas | 24 | 0,96 | 1, 2, 4, 6 |
| Realización de prácticas | 39 | 1,56 | 1, 2, 3, 4, 6 |
| Estudio y preparación pruebas parciales | 20 | 0,8 | 1, 2, 5, 7, 8 |
| Sessiones presenciales | 26 | 1,04 | 1, 2 |
| trabajo previo | 26 | 1,04 | 1, 2, 3, 4, 5, 6, 7, 8 |
En esta asignatura seguiremos una metodología de aula inversa. En esta metodología, el estudio de los contenidos teóricos debe realizarse antes de las sesiones presenciales, como actividad autónoma del alumnado, y a partir de material y documentación que tendrán acceso los estudiantes a través del campus virtual de la asignatura. Las clases presenciales se convierten en sesiones prácticas de resolución de problemas y prácticas, orientadas a resolver todas las dudas y problemas que se hayan podido encontrar a lo largo de la semana.
Se realizarán dos tipos de actividades: resolución de problemas y prácticas. Las resoluciones de problemas están orientadas a consolidar los aspectos más teóricos de la asignatura. Una parte de ellas serán individuales mientras que otras se realizarán en grupos. Las prácticas serán actividades grupales esencialmente prácticas que se realizarán a lo largo del curso.
Los grupos de trabajo serán grupos de 4 alumnos, se formarán el primer día de clase y se mantendrán estables a lo largo de todo el curso. Serán los mismos para las actividades grupales de teoría y el proyecto. Sin contar las horas que se tengan que dedicar a preparar los exámenes parciales y las horas en las sesiones en el aula. Se ha calculado una carga media de 6 horas por semana y estudiante de trabajo autónomo distribuidas en las siguientes actividades:
- Trabajo previo: se estima una media de 2 horas por semana que deberá dedicarse a leer o visualizar el material que se trabajará en las sesiones presenciales.
- Realización de las prácticas: se estima una media de 2 a 3 horas por semana y alumno que deberá dedicarse a hacer las prácticas además de las horas que se dediquen puntualmente a las sesiones dedicadas a la resolución de problemas.
- Resolución de problemas: las semanas con menos carga de trabajo dedicada a las prácticas se dedicarán de 1 a 2 horas a hacer más resoluciones de ejercicios y problemas de los temas trabajados en las sesiones presenciales.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| 1er Parcial de teoria | 0,25 | 2 | 0,08 | 1, 3, 5 |
| Entrega de problemas (NProb) | 0,1 | 2 | 0,08 | 1, 2, 3, 4, 5, 6, 7, 8 |
| Entrega de prácticas | 0,5 | 6 | 0,24 | 1, 2, 3, 4, 6 |
| 2o Parcial de teoria | 0,25 | 2 | 0,08 | 1, 2, 6, 8 |
| Corrección cruzadadeejercicios (CorPr) | 0,05 | 3 | 0,12 | 1, 4, 6, 8 |
La evaluación se hará de forma continuada. Habrá dos pruebas teórico-prácticas individuales por escrito, con un peso del 50% cada una sobre la nota final. La primera prueba (Par1) se hará aproximadamente a la mitad del semestre y evaluará los conceptos teóricos y habilidades de gestión y administración de bases de datos tratados en la 1ª parte del curso. La segunda prueba (Par2) se realizará al final del semestre y evaluará los conceptos teóricos y habilidades de gestión y administración de bases de datos tratados en la 2ª parte del curso.
La mayoría de las semanas habrá la posibilidad de entregar actividades trabajadas durante la semana. La entrega es opcional y se podrá hacer hasta horas fijadas con antelación en el Campus Virtual. Con el 80% de la máxima puntuación posible podrá alcanzar la máxima puntuación (1 punto) de esta actividad (NPrb). La nota se obtendrá de las actividades de corrección cruzada entre estudiantes que se habiliten para cada entrega.
Las correcciones cruzadas de problemas (CorPr) son opcionales y las podrán hacer los estudiantes que hayan entregado los ejercicios de problemas. Los estudiantes podrán obtener un máximo de un punto de esta actividad que se sumará a la nota de Teoría siempre que se haya alcanzado una nota >= 3,5 en la media de los 2 parciales. La nota de teoría no podrá ser en ningún caso superior a 10.
La nota de prácticas se obtendrá a partir de la media de las calificaciones de las tres entregas de prácticas: Prac1, Prac2 y Prac3. Durante las sesiones de prácticas, el profesor evaluará el grado de seguimiento de cada estudiante. La nota de seguimiento será factor multiplicativo individual de seguimiento, dentro del rango (0, 1,2) que se aplicará a los ejercicios a realizar durante la sesión. En caso de no asistir a una sesión o de no demostrar conocimiento suficiente de los ejercicios trabajados, la calificación de seguimiento correspondiente a aquella sesión será de 0. Las calificaciones de las entregas de prácticas no son recuperables.
Para poder calcular la NOTA FINAL DE LA ASIGNATURA, será necesario obtener una calificación superior a 0 en todos los exámenes parciales y en todas las entregas de prácticas. En caso contrario, el estudiante deberá presentarse al examen de recuperación descrito a continuación.
Examen de recuperación: En caso de que la NOTA FINAL ASIGNATURA no llegue al aprobado, los estudiantes podrán presentarse a un examen de recuperación sobre todos los contenidos tratados en la asignatura, tanto en las sesiones de teoría y problemas como en las prácticas. La nota final de la asignatura será como máximo de un 5.
INDICADORES DE CALIFICACIÓN:
La nota final de la asignatura se calcula de la siguiente manera:
- Nota Parcial 1 = Par1
- Nota Parcial 2 = Par2
- Nota Teoría = 0'5*Par1 +0'5*Par2 + NPrb + CorPr
- Nota Prácticas = 1/3*Prj1 + 1/3*Prj2 + 1/3*Prj3
- NOTA FINAL ASIGNATURA = 0'5 * Nota Teoría + 0'5 * Nota Prácticas
CRITERIOS DE EVALUACIÓN
- Para que contabilice las notas de problemas (NPrb) y de correcciones cruzadas (CorPr) hay que obtener un mínimo de 3,5 en la media de los parciales:= 0'5*Par1 +0'5*Par2 >= 3,5.
- La asignatura estará aprobada si la NOTA FINAL ASIGNATURA es superior o igual a 5. En el caso de no llegar al mínimo exigido en alguna de las actividades de evaluación, la nota numérica del expediente será el valor menor entre 4,5 y la media ponderada de las notas,
- NO EVALUABLE: Si no presenta ninguna actividad de evaluación.
- REPETIDORES: No se convalida ninguna parte aprobada por separado (teoría, proyecto) de un curso académico a otro.
- Esta asignatura no contempla el sistema de evaluación única.
- IMPORTANTE PARA TODOS LOS ALUMNOS: Es importante inscribirse en el campus virtual de la asignatura en el Campus Virtual (http://cv.uab.cat), pues se publican los materiales de la asignatura, se hacen las entregas de las actividades y se publican las notas finales de la asignatura.
- Otorgar una calificación de matrícula de honor esdecisión del profesorado responsable de la asignatura. La normativa de la UAB indica que las MH sólo se podrán conceder a estudiantes que hayan obtenido una calificación final igual o superior a 9.00. Se puede otorgar hasta un 5% de MH del total de estudiantes matriculados. En caso de quehaya 2 o más estudiantes con la misma nota y no se les pueda otorgar a todos la MH, será la nota de teoría más alta la que desempate.
CALENDARIO DE EVALUACIÓN:
- Exámenes Parciales: horario anunciado a principio de semestre.
- Examen de Recuperación: según calendario académico de la Escuela de Ingeniería.
- Entregas de las actividades: fecha y hora fijada con antelación en el Campus Virtual.
- Entregas del proyecto: fecha y hora fijada con antelación en el Campus Virtual.
- En caso de sufrir una enfermedad grave o cualquier otra situación excepcional debidamente justificada que impida realizar la actividad de evaluación, se podrá presentar una solicitud de reprogramación ante la gestión académica.
Las fechas de las entregas se indicarán en el Campus Virtual (http://cv.uab.cat) y pueden estar sujetas a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará por el Campus Virtual sobre estos cambios ya que se entiende que es el mecanismo habitual de intercambio de información entre profesor y estudiantes.
Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisar la actividad con el profesor. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura.Si el estudiante no se presenta a esta revisión, no se revisará posteriormente esta actividad.
En esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial (IA), excepto en aquellas actividades en que se especifique lo contrario, como parte integrante del desarrollo del trabajo, siempre que el resultado final refleje una contribución significativa del estudiante en el análisis y la reflexión personal. El estudiante deberá identificar claramente qué partes han sido generadas con esta tecnología, especificar las herramientas empleadas e incluir una reflexión crítica sobre cómo éstas han influido en el proceso y el resultado final de la actividad. La no transparencia del uso de la IA se considerará falta de honestidad académica y puede conllevar una penalización en la nota de la actividad, o sanciones mayores en casos de gravedad.
Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan conducir a una variación de la calificación se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otros:
- la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
- dejar copiar;
- el uso no autorizado de la IA (p. ej, Copilot, ChatGPT o equivalentes);
- presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo;
- presentar como acerques materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
- tener dispositivos de comunicación (como teléfonos móviles, smart watches, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes).
La nota numérica del expediente será el valor menor entre 3.5 y la media ponderada de las notas en caso de que elestudiante haya cometido irregularidades en un acto de evaluación (y por tanto no será posible el aprobado por compensación). En resumen: copiar, dejar copiar o plagiaren cualquiera de las actividades de evaluación equivale a un suspenso con nota inferior a 3,5.
Bibliografía
MATERIAL DE LA ASIGNATURA: http://cv.uab.cat, Campus Virtual y espacio de la asignatura Gestión y Administración de Bases de Datos.
BIBLIOGRAFIA BÁSICA:
- A. Silberschatz, H.F. Korth, S. Sudarshan. Database System Concepts, 7th Edition, McGraw-Hill, 2020.
- R. Elmasri, S.B. Navathe. Fundamentals of Database Systems, 7th Edition, Pearson, 2021.
- T. Connolly, C. Begg. Database Systems: A Practical Approach to Design, Implementation and Management, 7th Edition, Pearson, 2026.
BIBLIOGRAFIA COMPLEMENTARIA:
- M. Kleppmann. Designing Data-Intensive Applications, O’Reilly, 2017.
- A. Petrov. Database Internals, O’Reilly, 2019.
- Ramakrishnan, Gehrke. Sistemas de Gestión de Bases de Datos, 3.ª edición, McGraw-Hill, 2006.
- C.J. Date. Introducción a los Sistemas de Bases de Datos.
RECURSOS WEB:
- https://www.postgresql.org/docs/
- https://www.mongodb.com/docs/
- https://docs.oracle.com/en/database/
- https://learn.microsoft.com/sql/
- https://sigmod.org/
- https://db-engines.com/en/ranking
Software
Para realizar el proyecto es necesario el siguiente programario:
- Editor Python, p.e. Pycharm
- cliente ssh
- Uso de sistemas de control de versiones (github, bitbucket, etc.)
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (TE) Teoría | 420 | Español | primer cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 421 | Español | primer cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 421 | Catalán | primer cuatrimestre | manaña-mixto |
| (PAUL) Prácticas de aula | 422 | Español | primer cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 422 | Catalán | primer cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 423 | Español | primer cuatrimestre | manaña-mixto |
| (PLAB) Prácticas de laboratorio | 424 | Español | primer cuatrimestre | manaña-mixto |