Ir al contenido principal
Ockham-Libra
← Todos los cursos

Bases de Datos: Diseño de Sistemas de Información

Curso práctico que construye conocimiento de abajo hacia arriba: desde qué es un dato y cómo se almacena en bits, pasando por modelamiento relacional, SQL, ORMs y APIs, hasta sistemas geoespaciales y NoSQL en producción con Docker.

15 sesiones 5 horas por semana

Acerca del curso

Curso de la Universidad de Santiago de Chile (USACH), 2026. No se memoriza sintaxis: se aprende a pensar en datos, diseñar esquemas, diagnosticar performance y tomar decisiones de arquitectura. Metodología: - Pizarra + código en vivo cada sesión - Proyecto hilo conductor (sistema de bibliotecas) que evoluciona de SQLite a PostGIS - Múltiples dominios para transferir: colegio, clínica, censo productivo, datos corporales - Bottom-up: papel → bits → tablas → ORM → API → producción - Libro de apoyo del profesor Lo que vas a lograr: - Diseñar esquemas normalizados desde cero - Construir APIs REST con ORM sobre PostgreSQL - Diagnosticar queries con EXPLAIN y optimizar con índices - Escribir funciones almacenadas (PL/pgSQL y PL/Python) - Trabajar con datos geoespaciales (PostGIS + QGIS) - Desplegar stacks NoSQL con Docker Stack: PostgreSQL, SQLite, Python, SQLAlchemy, Django, FastAPI, Docker, Alembic, PostGIS, QGIS, Redis, MongoDB, Qdrant Horario: Miércoles 19:00 hrs — Online — Voluntario Prof. David Pineda Osorio

Contenido del curso

1

Introducción a Bases de Datos

Datos, tipos de datos, representaciones. Conjuntos, listas, estructuras. Herramientas para gestión de datos. Tipos de bases de datos y principales representantes.

2

Modelamiento de Bases de Datos

Tablas, esquemas, relaciones. Normalización (1FN, 2FN, 3FN). Diseño de un esquema de base de datos.

3

Modelo Relacional y SQL

Usuarios, roles y permisos en PostgreSQL. Restricciones. Creación de consultas, tablas relacionadas, datos condicionados y combinados (JOINs).

4

Especialización en SQL (I)

Transacciones. Programación procedural y funciones. Diseño combinado de bases de datos. Optimización de consultas.

5

Especialización en SQL (II)

Creación de vistas. Uso de vectores y JSON. Trabajo con parámetros de tiempo. Eventos y triggers.

6

SQLAlchemy: ORM y Migraciones

Implementación en SQLAlchemy. Queries, migraciones con Alembic. Tests unitarios y transacciones.

7

Django: Modelos y Admin

Django ORM: modelos, admin, management commands. Comparación con SQLAlchemy.

8

API REST/CRUD (I)

FastAPI: GET, POST, PUT, DELETE. Conexión ORM a API. Validación de datos.

9

API REST/CRUD (II)

FastAPI avanzado. Window functions: LAG, RANK, CTEs. Consultas complejas desde API.

10

Window Functions y CTEs

Funciones de ventana avanzadas. Common Table Expressions. Queries analíticos.

11

Performance: EXPLAIN y Optimización

EXPLAIN ANALYZE. Índices. Vistas materializadas. Diagnóstico de queries.

12

Triggers y Auditoría

Cursores. Triggers y auditoría automática. Django datalogger con comandos custom.

13

PL/pgSQL, PL/Python y PostGIS

Funciones almacenadas en PL/pgSQL y PL/Python. Introducción a PostGIS y datos geoespaciales.

14

GeoAlchemy2 y QGIS

GeoAlchemy2: ORM geoespacial. Geocoding. Visualización con QGIS.

15

NoSQL: Redis, MongoDB, Qdrant

Redis, MongoDB, CouchDB, Qdrant con Docker. Comparación con PostgreSQL. Casos de uso.

Inscribete

Completa el formulario para registrarte en este curso.

Inscripcion al curso:

Bases de Datos: Diseño de Sistemas de Información

Dedicacion: 5 horas por semana