Pasar al contenido principal

Bases de Datos

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos , pero tiene capacidades previas
Departamento
ESSI
El estudiantado 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

Otros

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias técnicas

  • CE7 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los datos.
  • 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 - 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.
  • Genéricas

  • CG1 - Concebir sistemas computacionales que integren datos de procedencias y formas muy diversas, creen con ellos modelos matemáticos, razonen sobre dichos modelos y actúen en consecuencia, aprendiendo de la experiencia.
  • CG2 - Elegir y aplicar los métodos y técnicas más adecuados a un problema definido por datos que representen un reto por su volumen, velocidad, variedad o heterogeneidad, incluidos métodos informáticos, matemáticos, estadísticos y de procesado de la señal.
  • Objetivos

    1. Tener una visión general sobre qué es una base de datos y que es un modelo de base de datos.
      Competencias relacionadas: CE7, CT6,
    2. Conocer los objetivos de un sistema de gestión de bases de datos y su arquitectura.
      Competencias relacionadas: CE7, CT6,
    3. 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: CE7, CT4, CT6, CB2, CB3,
    4. Ser capaz de definir, crear y manipular los componentes habituales de una base de datos relacional.
      Competencias relacionadas: CE7, CT4, CT6, CB2, CB3,
    5. Ser capaz de construir programas para gestionar bases de datos relacionales.
      Competencias relacionadas: CE7, CT4, CT6, CB2, CB3,
    6. Tener un visión general de los almacenes de datos y las bases de datos multidimensionales, y saber expresar sentencias OLAP vía SQL.
      Competencias relacionadas: CE7, CT4, CT6, CG1, CG2, CB2, CB3,
    7. Tener una visión general de cómo se diseña una base de datos
      Competencias relacionadas: CE7, CT6,
    8. Ser capaz de transformar modelos conceptuales simples expresados ​​en UML al modelo relacional.
      Competencias relacionadas: CE7, CT6,
    9. Conocer el concepto de transacción y sus implicaciones.
      Competencias relacionadas: CE7, CT6,
    10. 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: CE7, CT6,
    11. Conocer la técnica de control de concurrencia de reservas.
      Competencias relacionadas: CE7, CT6,
    12. Conocer las posibles estructuras físicas para el almacenamiento de los datos, y sus implicaciones en cuanto a eficiencia.
      Competencias relacionadas: CE7, CT6, CG1, CG2,
    13. Conocer los métodos de acceso a los datos, y sus implicaciones en cuanto a eficiencia.
      Competencias relacionadas: CE7, CT6, CG1, CG2,
    14. Conocer los distintos formatos de datos semiestructurados, y saber expresar consultas SQL sobre algunos de estos formatos.
      Competencias relacionadas: CE7, CT4, CT6, CG1, CB2, CB3,
    15. Tener una visión global del papel de SQL y otros tipos de componentes estudiados en las tareas del ciclo de vida de los datos
      Competencias relacionadas: CE7, CG1, CG2,
    16. 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: CE7, CT4, CT6, CB2, CB3,
    17. 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: CE7, CT4, CT6, CB2, CB3,

    Contenidos

    1. 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.
    2. 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.
    3. 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.
    4. Componentes lógicos
      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.
    5. Almacenes de datos y OLAP
      Introducción a los almacenes de datos y en las bases de datos multidimensionales. Extensiones SQL para OLAP
    6. Programación con SQL - Python
      Programación en Python y DataFrames. Consideraciones sobre el diseño e implementación de programas que acceden a bases de datos.
    7. 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.
    8. 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.
    9. 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 datos de una base de datos. Costes de los métodos de acceso. Introducción a la optimización de consultas
    10. Datos semiestructurados y extensiones de SQL para consultarlos
      Introducción a los distintos formatos de datos semiestructurados. Extensiones SQL para consultar datos semiestructurados en formato JSON.
    11. SQL en el ciclo de vida de los datos
      Se presenta el ciclo de vida de los datos, es decir, las etapas por las que los datos pasan desde su adquisición, preparación y análisis, junto con las diferentes tareas que se realizan en cada etapa, así como el papel del SQL y otros componentes estudiados en estas tareas

    Actividades

    Actividad Acto evaluativo


    Estudio de la introducción a las bases de datos


    Objetivos: 2 1
    Contenidos:
    Teoría
    2h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    2h

    Estudio de la introducción a las bases de datos


    Objetivos: 3
    Contenidos:
    Teoría
    2h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    2h

    Estudio de los componentes lógicos de datos


    Objetivos: 3 16 4
    Contenidos:
    Teoría
    4h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Estudio introducción al diseño de bases de datos relacionales


    Objetivos: 7 8
    Contenidos:
    Teoría
    4h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Estudio de transacciones y concurrencia


    Objetivos: 9 10 11
    Contenidos:
    Teoría
    5h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    7h

    Estudio de almacenamiento, métodos de acceso y optimizació


    Objetivos: 12 13
    Contenidos:
    Teoría
    7h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    10h

    Estudio del uso de SQL en el ciclo de vida de los datos


    Objetivos: 15
    Contenidos:
    Teoría
    1h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    1h

    Estudio de los lenguajes Álgebra Relacional y SQL


    Objetivos: 3 16 4
    Contenidos:
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    14h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    13h

    Estudio de almacenes de datos y en OLAP


    Objetivos: 16 17 6
    Contenidos:
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    2h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Estudio de procedimientos almacenados


    Objetivos: 3 16 4
    Contenidos:
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    6h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Estudio de la programación con SQL - Python


    Objetivos: 5 16 4
    Contenidos:
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    6h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Estudio de datos semiestructurados y extensiones SQL para consultarlos


    Objetivos: 14
    Contenidos:
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    2h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    4h

    Examen parcial


    Objetivos: 2 3 16 7 8 1 4 6
    Semana: 8 (Fuera de horario lectivo)
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    examen Final


    Objetivos: 2 3 5 16 17 7 8 9 10 11 12 13 1 4 6
    Semana: 15 (Fuera de horario lectivo)
    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Revisiones y resolución de dudas sobre los examenes



    Teoría
    0h
    Problemas
    0h
    Laboratorio
    0h
    Aprendizaje dirigido
    0h
    Aprendizaje autónomo
    0h

    Metodología docente

    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 repasar y resolver 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 a las que los estudiantes tienen acceso desde principios del curso. Clases de problemas. En las clases de problemas, los estudiantes resuelven ejercicios sobre contenidos presentados durante las clases de teoría.

    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.

    Método de evaluación

    La calificación de las competencias técnicas se basa en:

    - 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 en el LearnSQL. La nota se calculará de forma proporcional a las clases en las que se ha participado activamente.

    - NEP - Nota examen parcial. En el examen parcial entran los temas: 1, 2, 3, 4 (sin procedimientos almacenados ni disparadores), 5 y 7

    - NEF - Nota examen final. En el examen final entran los temas: 4 (sólo procedimientos almacenados y disparadores), 6, 8 y 9.

    - NF = 0.45 NEP + 0.45 NEF + 0.1 NL

    - 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 final será el máximo entre la nota ordinaria y la nota de reevaluación.

    Bibliografía

    Básico

    Complementario

    Web links

    Capacidades previas

    Conocer las estructuras de datos en memoria interna.
    Ser capaz de hacer programas de complejidad media.