Bases de datos analíticas Código:  M2.853    :  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en el que se proyecta   Conocimientos previos   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de los que dispone la asignatura   Recursos de aprendizaje y herramientas de apoyo   Consulta del modelo de evaluación  
ATENCIÓN: Esta información recoge los apartados del plan docente de la asignatura durante el último semestre con docencia. Al iniciar el periodo de matrícula, podrás consultar el calendario y modelo de evaluación para el siguiente semestre en Trámites / Matrícula / Horarios de las pruebas de evaluación final.

Las bases de datos son el mecanismo más habitual que las organizaciones utilizan para almacenar y procesar de manera no volátil los datos necesarios para su actividad diaria. A su vez, las bases de datos son gestionadas y manipuladas mediante un software altamente especializado y complejo denominado sistema gestor de bases de datos. Desde un punto de vista de uso, las bases de datos nos permiten gestionar el día a día de las organizaciones y por ello también se las conoce bajo la denominación de bases de datos operacionales. Por otro lado, tenemos los almacenes de datos (data warehouse) que integran datos de diferentes fuentes, entre las que se encuentran las bases de datos operacionales, y que tienen como objetivo principal dar apoyo a la toma de decisiones.

Para poder guardar los datos de interés de una organización, hay que disponer de algún modelo de datos que permita su representación en un ordenador en forma de bases de datos. Este modelo de datos tiene que permitir, por un lado, definir la estructura de la base de datos y las reglas de integridad que garantizan que la base de datos sea consistente. Por otro lado, el modelo de datos también tiene que proporcionar operaciones que permitan la consulta y actualización de la base de datos. A pesar de que existen diferentes modelos de datos, nosotros nos centraremos en el modelo de datos relacional, y por lo tanto, en las bases de datos relacionales, dado que son las más utilizadas en las organizaciones.

Esta  asignatura tiene por objetivo adquirir conceptos, procedimientos y buenas prácticas para la creación y manipulación de bases de datos que dan soporte a la construcción de almacenes de datos. Para ello se profundiza en el aprendizaje del lenguaje SQL, extendiéndolo mediante el estudio del lenguaje procedimental PL/pgSQL, y el estudio de otros complementos que nos ofrece SQL con fines analíticos (como serían las funciones analíticas). Asimismo trataremos aspectos de diseño físico de bases de datos, así como bases de datos orientadas a columnas, y bases de datos en memoria. Las bases de datos orientadas a columnas también se basan en el modelo relacional, y se caracterizan por el almacenamiento de los datos en forma de columnas. Por su parte, las bases de datos en memoria se caracterizan por mantener la base de datos en memoria, en lugar de un dispositivo de almacenamiento externo (como podría ser disco). Ambos tipos de bases de datos (que no son excluyentes entre sí) y sus características las hacen especialmente idóneas para entornos analíticos, y pueden constituir una alternativa a las soluciones más clásicas basadas en almacenes de datos.

Amunt

Esta asignatura forma parte del conjunto de asignaturas optativas del Máster de Ciencia de datos. En concreto, se relaciona con las asignaturas que se orientan a la construcción de la arquitectura de un sistema de inteligencia de negocio o análisis de datos, como serían las asignaturas de Diseño de bases de datos, Diseño y construcción del almacén de datos y Arquitectura de bases de datos no tradicionales.

Amunt

Los conocimientos adquiridos en esta asignatura serán de utilidad en la mayoría de campos profesionales, no en vano SQL es uno de los lenguajes que cualquier científico de datos debe conocer.

A pesar de ello, los contenidos de la asignatura se orientan a la formación de los perfiles más técnicos como sería al arquitecto o ingeniero de datos, es decir, a los profesionales responsables de la construcción de la arquitectura de un sistema de inteligencia de negocio o análisis de datos que a su vez incluye, entre otros, el diseño de la estructura de datos y de los procesos ETL (Extract, Transform and Load).

Amunt

Para cursar esta asignatura son necesarios conocimientos básicos en bases de datos relacionales y almacenes de datos, en concreto, los principios teóricos sobre los que se sustentan, y aspectos relacionados con su diseño.

Estos conocimientos o bien se han adquirido en la titulación de entrada del estudiante, o en las asignaturas que forman parte de los complementos de formación del máster (específicamente, las asignaturas de Diseño de bases de datos y de Diseño y construcción del almacén de datos).

Amunt

Algunos de los contenidos de esta asignatura deben estudiarse a partir de materiales y recursos escritos en inglés disponibles en la biblioteca de la UOC. También es posible que el estudiante deba localizar sus propios recursos, bien en la biblioteca, bien a través de la red.

Asimismo es necesario que el estudiante tenga en cuenta los conocimientos indicados en este plan docente en el apartado de Conocimientos previos.

Amunt

Las principales competencias que el estudiante tiene que adquirir en el contexto de la asignatura son las que se indican a continuación:

  • Ser capaz de consultar y actualizar de manera eficiente una base de datos mediante SQL estándar.
  • Ser capaz de codificar procedimientos almacenados utilizando lenguajes procedimentales.
  • Ser capaz de implementar diferentes técnicas de disparadores en una base de datos.
  • Ser capaz de entender y aplicar conceptos avanzados de SQL como funciones analíticas, transacciones o Common Table Expression.
  • Ser capaz de realizar el diseño físico de bases de datos relacionales.
  • Conocer las características de las bases de datos orientadas a columnas y de las bases de datos en memoria, y saberlas situar en el contexto del área de bases de datos.
  • Entender las principales técnicas que implementan un sistema gestor de bases de datos orientado a columnas y un sistema gestor de bases de datos en memoria, y cómo ambas tecnologías se relacionan entre sí.
  • Ser capaz de aplicar los conocimientos anteriores dentro del contexto del data warehouse/OLAP.

 Estas competencias, en el caso del Máster en Ciencia de datos, se relacionan con las Competencias Específicas (CE) que se destacan a continuación:

  • CE2: Adquirir la destreza necesaria para la manipulación de datos, conversión de formatos y almacenamiento de los mismos.
  • CE7: Ser capaz de diseñar e implementar una infraestructura para almacenar un conjunto heterogéneo de datos, tanto en entornos centralizados como distribuidos en función del volumen y las necesidades de datos.
  • CE8: Saber utilizar el gestor de bases de datos más adecuada en cada contexto, incluyendo gestores relacionales, NoSQL y NewSQL.

Amunt

La asignatura consta de 5 bloques didácticos, cuyo contenido se detalla a continuación:

Bloque 1. Gestión BD analíticas: Conceptos básicos de SQL

En este bloque didáctico se presentan los conceptos más básicos asociados al SQL estándar. En primer lugar se presentan las principales sentencias de definición de datos (cómo sería, por ejemplo, tablas y vistas). A continuación se presentan las sentencias básicas de manipulación de datos (SELECTINSERTDELETE y UPDATE de tablas y vistas). Finalmente, se introducen las sentencias de concesión y revocación de privilegios sobre los datos, primitivas de gestión de transacciones, y otras modalidades de trabajo con el lenguaje SQL.

Los materiales principales que se utilizarán en este bloque didáctico serán: el módulo didáctico "Conceptos básicos de SQL", y dos series de vídeos muy importantes: convenciones de nombres y buenas prácticas en SQL, focalizándose esta última serie en las buenas prácticas de codificación en SQL y generación de consultas. Estos materiales se complementan con las transcripciones de cada uno de los vídeos de las series y un documento con la convención de nombres a seguir durante la asignatura. La parte práctica requerirá el uso de PostgreSQL (el sistema gestor de bases de datos que usaremos en la asignatura).

Bloque 2. Gestión de BD analíticas: Procedimientos y disparadores

En este bloque didáctico se profundiza en SQL estándar. En primer lugar, se presenta la estructura básica de componentes de un entorno SQL, revisando los conceptos de servidores, catálogos y esquemas, para continuar una introducción a los conceptos de conexión, sesión y transacción. A continuación, se completará el estudio de los componentes lógicos vistos mediante la introducción de procedimientos almacenados y disparadores. Finalmente, se introducen el lenguaje procedimental PL/pgSQL y las sentencias que ofrece PostgreSQL para definir estos componentes.

Los materiales principales que se utilizarán en este bloque didáctico serán: el módulo didáctico "El lenguaje SQL: Procedimientos y disparadores", la serie de vídeos de buenas prácticas en SQL, focalizándose ésta en las buenas prácticas de codificación de procedimientos almacenados, y dos vídeos que contextualizarán los procedimientos y disparadores en el marco de las bases de datos operacionales y del data warehouse. Estos materiales se complementan con las transcripciones de cada uno de los vídeos de las series y con un documento de complementos de SQL para la codificación de procedimientos almacenados. La parte práctica requerirá el uso de PostgreSQL

Bloque 3. Complementos de SQL para entornos analíticos

En este bloque didáctico se presentan conceptos avanzados de SQL de aplicación en entornos Data Warehouse. En primer lugar, se presenta el concepto de clave subrogada y las diferentes posibilidades de implementar esta técnica mediante SQL. A continuación, se introducirán dos conceptos avanzados para la creación de consultas SQL, las Common Table Expression y las funciones analíticas, cómo aplicar estas funcionalidades y los beneficios asociados. Por último, se verán técnicas de tratamiento de valores nulos en bases de datos operacionales y Data Warehouse, y se concluirá con una introducción a las transacciones, sus propiedades, la problemática asociada a éstas, mecanismos de implementación de transacciones en PostgreSQL y la importancia de éstas en entornos de bases de datos operacionales y Data Warehouse.

Los materiales principales que se utilizarán en este bloque didáctico serán: el módulo didáctico "Complementos de SQL" y la serie de vídeos de buenas prácticas en SQL, focalizándose en las buenas prácticas de codificación de transacciones. Estos materiales se complementan con las transcripciones de cada uno de los vídeos de la serie. De nuevo, para la parte más práctica se usará PostgreSQL.

Bloque 4. Diseño físico de BD relacionales

Este bloque didáctico analizará los principales métodos y construcciones que se utilizan en el diseño físico de bases de datos. Conceptualmente, podemos definir el diseño físico de una base de datos como el proceso que, a partir del diseño lógico de la base de datos y de información sobre su uso esperado, creará una configuración física de la base de datos adaptada al entorno donde se alojará y que permita el almacenamiento y la explotación de los datos con un rendimiento adecuado.

Los materiales principales que se utilizarán en este bloque didáctico será el módulo didáctico "Diseño físico de bases de datos". También es posible que se utilicen recursos de biblioteca (en inglés) para complementar el estudio de estructuras de índices. Para la parte práctica se utilizará PostgreSQL.

Bloque 5. Otras BD para entornos analíticos: Almacenes de columnas y BD en memoria

Este bloque didáctico presentará , en primer lugar, las principales características y utilidad de las bases de datos orientadas a columnas (más habitualmente conocidas como almacenes de columnas, en inglés column stores), así como las diferencias que presentan con las bases de datos relacionales más tradicionales (denominadas row stores). Asimismo se explicarán las principales técnicas que permiten implementar dichas características. En segundo lugar se verá qué son las bases de datos en memoria, qué técnicas implementan, su relación con los almacenes de columnas, y sus diferencias con las bases de datos relacionales más tradicionales. Para ambos casos, se proporcionará una visión de productos disponibles en el mercado. Asimismo se discutirá el interés que tienen estas soluciones en entornos analíticos.

Para la parte de almacenes de columnas, os materiales que se utilizarán serán vídeos y sus apuntes correspondientes. En el caso de las bases de datos en memoria, además de alguno de los vídeos previos (y sus apuntes correspondientes), se utilizaran recursos de biblioteca (libros de texto en inglés y artículos especializados en revistas).

Amunt

Almacenes de columnas: Procesamiento de consultas (Parte IV) Audiovisual
Almacenes de columnas: Compresión de datos (Parte VIII) Audiovisual
Buenas prácticas: Codificación de consultas Audiovisual
Convención de nombres: Convenciones en SQL Audiovisual
Almacenes de columnas: Compresión de datos (Parte VI) Audiovisual
Conceptos básicos de SQL PDF
Almacenes de columnas: Características I Audiovisual
Buenas prácticas: Codificación SQL Audiovisual
Convención de nombres: Componentes Audiovisual
Complementos de SQL PDF
Buenas prácticas: codificación de transacciones Audiovisual
Almacenes de columnas: Compresión de datos (Parte II) Audiovisual
Repositorio de recursos sobre ciencia de datos Web
Buenas prácticas en SQL: Codificación de transacciones PDF
Convención de nombres para PostgreSQL PDF
Almacenes de columnas: Compresión de datos PDF
Complementos de SQL para la codificación de procedimientos almacenados en PostgreSQL PDF
Convención de nombres: Componentes PDF
Almacenes de columnas: Características PDF
Almacenes de columnas: Procesamiento de consultas PDF
Convención de nombres: Restricciones PDF
Almacenes de columnas: Contextualización PDF
Buenas prácticas: codificación de consultas PDF
Contextualización de procedimientos PDF
Buenas prácticas: Codificación de procedimientos y funciones PDF
Contextualización de disparadores PDF
Convención de nombres: Convenciones en SQL PDF
Buenas prácticas: codificación SQL PDF
Almacenes de columnas: Compresión de datos (Parte III) Audiovisual
Convención de nombres: Restricciones Audiovisual
Contextualización de disparadores Audiovisual
Contextualización de procedimientos Audiovisual
El lenguaje SQL: procedimientos y disparadores PDF
Almacenes de columnas: Procesamiento de consultas (Parte II) Audiovisual
Almacenes de columnas: Procesamiento de consultas (Parte I) Audiovisual
Almacenes de columnas: Características II Audiovisual
Almacenes de columnas: Compresión de datos (Parte VII) Audiovisual
Almacenes de columnas: Compresión de datos (Parte I) Audiovisual
Almacenes de columnas: Compresión de datos (Parte V) Audiovisual
Almacenes de columnas: Compresión de datos (Parte IV) Audiovisual
Diseño físico de bases de datos PDF
Almacenes de columnas: Procesamiento de consultas (Parte III) Audiovisual
Buenas prácticas: Codificación de procedimientos y funciones Audiovisual
Almacenes de columnas: Características III Audiovisual
Almacenes de columnas: Contextualización Audiovisual

Amunt

El material principal de apoyo de la asignatura son los materiales descritos en la sección de Contenidos de este plan docente.

Para lograr las competencias relativas al aprendizaje del lenguaje SQL, tal y como ya hemos comentado, usaremos el sistema gestor de bases de datos PostgreSQL. Para poder instalarlo, debéis de realizar la descarga desde:

http://www.postgresql.org/download/

Os proporcionaremos indicaciones más específicas sobre qué versión utilizar y cómo se debe instalar.

Amunt

Esta asignatura sólo puede superarse a partir de la evaluación continua (EC). La nota final de evaluación continua se convierte en la nota final de la asignatura. La fórmula de acreditación de la asignatura es la siguiente: EC.

 

Amunt