El estudiante tendrá una visión general sobre qué es una base de datos, sus objetivos y principales componentes. Profundizará en los gestores basados en el modelo relacional de bases de datos y practicará la creación, gestión y uso de sus componentes mediante SQL. Se incluye una introducción al diseño de bases de datos relacionales, así como el estudio de los diferentes componentes de un gestor.
Profesorado
Responsable
Petar Jovanovic (
)
Otros
Anna Queralt Calafat (
)
Gerard Pons Recasens (
)
Sergi Nadal Francesch (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias Transversales
Transversales
CT4 [Avaluable] - Trabajo en equipo. Ser capaz de trabajar como miembro de un equipo interdisciplinar, ya sea como un miembro más o realizando tareas de dirección, con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
CT6 [Avaluable] - Aprendizaje autónomo. Detectar deficiencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar dicho conocimiento.
Básicas
CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
Competencias Técnicas
Específicas
CE04 - Diseñar y utilizar de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
CE08 - Detectar las características, funcionalidades y componentes de los gestores de datos, que permitan su adecuado uso en flujos de información, y el diseño, análisis e implementación de aplicaciones basadas en ellas.
Competencias Técnicas Genéricas
Genéricas
CG1 - Concebir, redactar, organizar, planificar y desarrollar proyectos en el ámbito de la inteligencia artificial.
CG2 - Utilizar los conocimientos fundamentales y metodologías de trabajo sólidas adquiridos durante los estudios para adaptarse a los nuevos escenarios tecnológicos del futuro.
Objetivos
Conocer los objetivos de un sistema de gestión de bases de datos y su arquitectura.
Competencias relacionadas:
CT6,
CE04,
CE08,
Conocer el modelo relacional de bases de datos, sus lenguajes (SQL y álgebra relacional) y los componentes habituales de una base de datos relacional.
Competencias relacionadas:
CT4,
CT6,
CB2,
CB3,
CE04,
CE08,
Ser capaz de definir, crear y manipular los componentes habituales de una base de datos relacional.
Competencias relacionadas:
CT4,
CT6,
CB2,
CB3,
CE04,
CE08,
Ser capaz de construir programas para gestionar bases de datos relacionales.
Competencias relacionadas:
CT4,
CT6,
CB2,
CB3,
CE04,
CE08,
Conocer los diferentes formatos disponibles para datos semiestructurados, y saber escribir consultas SQL sobre ellos.
Competencias relacionadas:
CG1,
CG2,
CT4,
CT6,
CB2,
CB3,
CE04,
CE08,
Saber escoger entre varias sentencias SQL, componentes de una base de datos, o programas que gestionen una base de datos, que implementen una misma funcionalidad, cuál se adecua más a unos criterios de calidad definidos.
Competencias relacionadas:
CT4,
CT6,
CB2,
CB3,
CE04,
CE08,
Saber escoger entre varias sentencias SQL, componentes de una base de datos, o programas que gestionen una base de datos, que implementen una misma funcionalidad, cuál se adecua más a unos criterios de calidad definidos.
Competencias relacionadas:
CT6,
CB2,
CB3,
CE04,
CE08,
Tener una visión general de cómo se integra el diseño de una base de datos dentro del proceso de desarrollo de una aplicación.
Competencias relacionadas:
CT6,
CE04,
CE08,
Ser capaz de transformar modelos conceptuales simples expresados ¿¿en UML al modelo relacional.
Competencias relacionadas:
CT6,
CE04,
CE08,
Conocer el concepto de transacción y sus implicaciones.
Competencias relacionadas:
CT6,
CE04,
CE08,
Conocer y saber identificar los tipos de interferencias que se pueden producir entre transacciones y su relación con los niveles de aislamiento que define el SQL Standard.
Competencias relacionadas:
CT6,
CE04,
CE08,
Conocer la técnica de control de concurrencia de reservas.
Competencias relacionadas:
CT6,
CE04,
CE08,
Conocer las posibles estructuras físicas para el almacenamiento de los datos, y sus implicaciones en cuanto a eficiencia.
Competencias relacionadas:
CG1,
CG2,
CT6,
CE04,
CE08,
Conocer los métodos de acceso a los datos, y sus implicaciones en cuanto a eficiencia.
Competencias relacionadas:
CG1,
CG2,
CT6,
CE04,
CE08,
Tener una visión general sobre qué es una base de datos, que es un modelo de base de datos, cuáles son los tipos de usuarios de las bases de datos, y cuáles son las categorías de lenguajes de bases de datos.
Competencias relacionadas:
CT6,
CE04,
Contenidos
Introducción
Concepto de base de datos. Diseño y modelos de bases de datos. Tipos de usuarios. Categorías de lenguajes. Concepto de sistema de gestión de base de datos (SGBD). Objetivos deseables para las bases de datos que los SGBD deben proporcionar. Arquitectura de los SGBD.
El modelo relacional
Objetivos y origen. Estructura de datos con la que se construyen las bases de datos relacionales. Operaciones que provee el modelo relacional para manipular y consultar los datos. Reglas de integridad que deben cumplir los datos de una base de datos relacional.
Lenguajes: Álgebra relacional y SQL
Introducción. Álgebra relacional: operaciones del álgebra relacional; consultas. SQL: creación de tablas; inserción, borrado y modificación de filas de una tabla; consultas sobre una base de datos. Consideraciones sobre la implementación de consultas.
Componentes lógicos de una base de datos
Concepto de componente lógico de una base de datos: de datos y de control. Presentación de componentes lógicos de datos: esquemas, dominios y tablas, aserciones y vistas. Presentación de componentes lógicos de control: procedimientos almacenados, disparadores y privilegios.
Datos semiestructurados y extensiones de SQL para hacer consultas sobre ellos
Introducción a los diferentes formatos de datos semiestructurados. Extensiones SQL para consultar datos semiestructurados.
Programación con SQL
Programación en Python y DataFrames. Consideraciones sobre el diseño e implementación de programas que acceden a bases de datos.
Transacciones y concurrencia
Concepto de transacción. Propiedades ACID de las transacciones. Interferencias entre transacciones. Serializabilidad. Recuperabilidad. Técnicas de control de concurrencia. Niveles de aislamiento. Reservas y niveles de aislamiento.
Introducción al diseño de bases de datos relacionales
Etapas de diseño de una base de datos. Introducción a la comprensión de modelos conceptuales UML simples. Traducción de modelos conceptuales UML simples modelo relacional de base de datos.
Estructuras físicas de almacenamiento, métodos de acceso y optimización
Introducción. Métodos de acceso para poder realizar consultas y actualizaciones de una base de datos. Costes de los métodos de acceso. Introducción a la optimización de consultas
Clases de teoría / problemas
Aprendizaje autónomo: Para preparar las clases el estudiante puede tener que leer y comprender unos materiales y / o apuntes indicados por el profesor. Posteriormente a la clase, el estudiante debe repase y resuelva ejercicios sobre el tema de estudio.
Clases de teoría. En las clases de teoría los profesores presentan una parte de los contenidos de la asignatura. Normalmente los profesores usan transparencias que los estudiantes sería conveniente que obtengan antes de las clases, para hacer un mejor seguimiento.
Clases de problemas. En las clases de problemas, los estudiantes resuelven ejercicios sobre contenidos presentados durante las clases de teoría. Estos ejercicios se hacen en equipos de dos estudiantes según alguna técnica de aprendizaje cooperativo.
Evaluación. En cuatro de las clases de problemas los estudiantes resolverán un ejercicio que se recogerá y será evaluado por el profesor.
Clases de laboratorio
Aprendizaje autónomo: Los contenidos que se trabajan en las clases de laboratorio serán estudiados de manera autónoma por los estudiantes. Cada semana previamente a la clase de laboratorio los estudiantes tendrán un trabajo que hacer en casa que acabará con la resolución de un cuestionario moodle / LearnSQL.
Clases de laboratorio: El trabajo en clase será en equipos de 2 estudiantes. Los estudiantes tienen la posibilidad de compartir las dudas con su compañero de equipo sobre el trabajo que han hecho en casa, y en su caso, de preguntar las dudas no resueltos al profesor. A continuación los estudiantes hacen las actividades que ha indicado el profesor y finalmente resuelven el cuestionario de clase.
Evaluación: En cada clase, el estudiantado contesta una pregunta de manera individual para hacer un seguimiento del aprendizaje autónomo que se ha hecho durante la semana y del realizado durante la clase. La evaluación también se basa en el resultado de los ejercicios realizados durante la clase.
Método de evaluación
La calificación de las competencias técnicas se basa en:
- NPR: Nota de problemas. Se calcula como la media de las notas de los cuatro ejercicios entregados.
- NL - Participación activa en las sesiones de laboratorio. Se tendrá en cuenta las clases en las que se ha participado entregando satisfactoriamente los ejercicios propuestos en clase. La nota se calculará de forma proporcional a las clases en las que se ha participado activamente.
- NEP - Nota examen parcial
- NEF: Nota del examen final.
Calificación final = Máximo (NLB*0.2+NEP*0.30+NEF*0.35+NPR*0.15,NLB*0,2+NEP*0.35+NEF*0,45)
- Por los estudiantes que puedan concurrir a la reevaluación, la nota de examen de reevaluación sustituirá a NEF y NEP. En cualquier caso, la nota máxima de reevaluación sólo puede llegar a ser 7.