7.3 Bases de Datos con SQLite
Hasta ahora, hemos guardado información en ficheros de texto, CSV y JSON. Son soluciones rápidas, pero tienen limitaciones: buscar un dato específico en un JSON de 1GB es lento, y asegurar que dos ficheros estén "sincronizados" es una pesadilla técnica.
Cuando los datos crecen y necesitamos velocidad, relaciones complejas y seguridad, entramos en el territorio de las Bases de Datos Relacionales.
1️⃣ ¿Por qué SQLite?
En esta unidad utilizaremos SQLite, una joya de la ingeniería de software que está integrada directamente en Python.
- Sin Instalación: No necesitas configurar un servidor como MySQL o PostgreSQL.
- Portabilidad Total: Tu base de datos es un simple archivo
.dbque puedes copiar o enviar por email. - Estándar de la Industria: Se usa en navegadores web (como Chrome), en aplicaciones móviles (Android e iOS) y en software profesional de todo tipo.
2️⃣ Qué aprenderás en este bloque
En este bloque te convertirás en el guardián de la Cripta de Datos, aprendiendo a:
- Conectar y Crear: Dominar el ciclo de vida de una base de datos embebida.
- Operar con CRUD: Insertar, Leer, Actualizar y Borrar información de forma profesional.
- Interrogar al Sistema: Usar consultas SQL avanzadas para extraer estadísticas y reportes.
- Relacionar Conceptos: Conectar tablas y aplicar reglas de integridad (claves foráneas).
- Blindar el Sistema: Implementar transacciones para que tus datos nunca se corrompan.
3️⃣ La Misión: La Cripta de Datos
A lo largo de los 5 puntos de esta unidad, seguirás una narrativa práctica. No solo aprenderás código, estarás construyendo y gestionando el sistema de información de una biblioteca secreta, enfrentándote a retos reales de integridad, volumen de datos y recuperación ante fallos.
No necesitas instalar nada. Asegúrate de tener Python instalado y de que puedes importar el módulo sqlite3:
import sqlite3
print(sqlite3.version)
4️⃣ Recursos de la Unidad
Para completar los retos de la Cripta de Datos, descarga este paquete que contiene los esquemas iniciales, archivos de datos y scripts de soporte:
👉 [Descargar Recursos 7.3 (/recursos/python/UT7/7_3_bbdd_ficheros.zip)]
Contenido del paquete:
setup_cripta.sql: Script SQL para crear la estructura inicial normalizada.biblioteca_inicial.csv: Datos para practicar importaciones masivas.libros_migracion.json: Archivo con datos "sucios" para practicar transacciones.generador_caos.py: Script de Python que genera una base de datos corrupta para practicar auditoría y limpieza.