EUR 179.00

Diseño de bases de datos

Categoría de cursosCiencia de datos

Aprende qué es una base de datos, cómo se organizan los datos en tablas que no se contradicen y cómo se consultan con SQL, el lenguaje que usan a diario desarrolladores, analistas y científicos de datos. Es un curso de nivel de grado en ingeniería informática y la primera asignatura de bases de datos: no necesitas ninguna experiencia previa con ellas. Recorrerás el modelo relacional con sus claves y restricciones de integridad, el álgebra relacional que hay debajo de cada consulta, el SQL completo (definición de tablas, consultas, reuniones, agregación, subconsultas, vistas y modificación de datos), una introducción al diseño con el modelo entidad-relación, las transacciones y la concurrencia, y el acceso a la base de datos desde tus propios programas en Python. Un módulo final te lleva a otras herramientas muy extendidas: el álgebra relacional en RelaX, el mismo esquema en MySQL/MariaDB, el acceso desde Java con JDBC y las bases de datos de escritorio (Access y LibreOffice Base).

Qué incluye: 14 temas y 4 entregas evaluables

  • Módulo 1 · Bases de datos y modelo relacional — Tema 1 · Bases de datos y sistemas gestores; Tema 2 · El modelo relacional: claves e integridad; Tema 3 · Álgebra relacional; Práctica 1 · Una base de datos íntegra y sus consultas en álgebra
  • Módulo 2 · El lenguaje SQL — Tema 4 · Consultas SQL sobre una tabla; Tema 5 · Reuniones y operaciones de conjuntos en SQL; Tema 6 · Agregación y agrupación; Tema 7 · Subconsultas, vistas y modificación de datos; Práctica 2 · Consultas SQL sobre una plataforma de partituras
  • Módulo 3 · Diseño, transacciones y aplicaciones — Tema 8 · Del problema a las tablas: introducción al modelo entidad-relación; Tema 9 · Transacciones y control de concurrencia; Tema 10 · Aplicaciones con bases de datos en Python; Proyecto final · Una aplicación de reservas con su base de datos
  • Módulo 4 · Otras herramientas: RelaX, MySQL, JDBC y Access — Tema 11 · Álgebra relacional en RelaX; Tema 12 · El mismo esquema en MySQL y MariaDB; Tema 13 · Acceso a bases de datos desde Java con JDBC; Tema 14 · Bases de datos de escritorio: Access y LibreOffice Base; Práctica 4 · Una aplicación JDBC sobre MySQL para una cooperativa de consumo

Cada tema trae un PDF propio con ejemplos resueltos, un notebook de entrenamiento con ejercicios autocorregibles y su solución, y una autoevaluación que desbloquea lo siguiente. Las entregas son problemas completos: construir una base de datos que rechace los datos incorrectos y consultarla en álgebra relacional, responder con SQL a las preguntas de negocio de una plataforma de partituras y, como proyecto final, diseñar desde los requisitos la base de datos de un sistema de reservas y programar en Python una pequeña aplicación que la use sin errores de concurrencia; y, para cerrar, una aplicación en Java con JDBC sobre MySQL que también funciona sobre PostgreSQL.

A quién va dirigido: estudiantes de grado en ingeniería informática o titulaciones afines que empiezan con las bases de datos, y profesionales (desarrolladores, analistas, perfiles de datos) que quieren aprender SQL y los fundamentos del modelo relacional con rigor.

Trabajarás con PostgreSQL instalado en tu ordenador (Windows, macOS o Linux; la guía de instalación paso a paso está en el curso), con psql y pgAdmin o DBeaver, y con Python (notebooks de Jupyter con psycopg, pandas y SQLAlchemy) para cargar datos, comprobar tus soluciones y construir aplicaciones; los diagramas E-R se dibujan con draw.io, dbdiagram.io o Mermaid; en el módulo 4, además, con RelaX en el navegador, MySQL o MariaDB y Java 21 (todo se instala sin permisos de administrador). Dedicación estimada: 134 horas de temas y entregas, más una hora de presentación (unas 10 horas semanales durante 14 semanas). Requisitos: programación básica en Python (variables, funciones, bucles, listas y diccionarios) y nociones de conjuntos y de lógica; no se supone ningún conocimiento previo de bases de datos. Al terminar estarás preparado para el curso Diseño avanzado de bases de datos, que usa el mismo entorno.

Profesor: Leroy Deniz