Material de apoyo para asignaturas de Bases de Datos II / Taller de Bases de Datos.

Creado por Diego Alvarez S. (dialvarezs)

Contenido

1. Introducción

Requisitos de software para trabajar en el curso

¿Qué es Git? ¿Cómo crear repositorios, registrar cambios y trabajar con ramas?


2. Python

¿Qué es Python, para qué sirve? ¿Cómo se instala?

¿Cómo es la sintaxis de Python? ¿Cómo se declaran las variables? ¿Cómo se definen las expresiones condicionales y ciclos?

¿Qué son y cómo se usan las listas, tuplas, conjuntos y diccionarios? ¿Cómo iterar en las colecciones de datos?

¿Cómo se crean y manipulan los strings? ¿Qué son los F-strings?

¿Cómo se definen y utilizan las funciones en Python?

¿Cómo importar funciones de la librería estándar de Python? ¿Cómo trabajar con múltiples archivos?

¿Cómo leer y escribir archivos en Python?

¿Qué son las excepciones? ¿Cómo se gestionan?

¿Cómo declarar y utilizar clases y objetos en Python? ¿Cómo funciona la herencia? ¿Qué métodos especiales tienen los objetos de Python?

¿Qué utilidad tiene la anotación de tipos en Python? ¿Cómo se realiza?

¿Qué son las dataclasses? ¿Qué ventajas tienen frente a las clases “normales”? ¿Cómo se definen?

¿Cómo se instalan paquetes externos en Python? ¿Dónde quedan instalados? ¿Qué es un gestor de proyectos como PDM, y cómo se utiliza para gestionar nuestras dependencias?


3. SQLAlchemy

¿Qué es SQLAlchemy? ¿Cómo configurar una conexión a base de datos?

¿Cómo definir tablas y relaciones usando el ORM de SQLAlchemy?

¿Cómo insertar, consultar, actualizar y eliminar registros?

¿Cómo trabajar con relaciones entre tablas y realizar consultas complejas?

¿Cómo gestionar cambios en el esquema de base de datos con migraciones?

¿Cómo conectar SQLAlchemy con PostgreSQL, MySQL y otras bases de datos?


4. Litestar

¿Qué son las APIs REST? ¿Cuáles son sus principios y características?

¿Qué es Litestar? ¿Cómo crear aplicaciones web modernas y rápidas?

4.3 Rutas

¿Cómo definir endpoints y manejar diferentes métodos HTTP en Litestar?

4.4 DTOs

¿Qué son los DTOs? ¿Cómo controlar qué datos se reciben y envían en las APIs?

¿Cómo integrar SQLAlchemy con Litestar usando repositorios y controladores?

¿Cómo trabajar con relaciones entre modelos en Litestar? ¿Cómo optimizar consultas con eager loading?

¿Cómo almacenar contraseñas de forma segura? ¿Cómo implementar autenticación JWT y control de acceso? ¿Qué es CORS y cómo configurarlo?