SQL: solo mejoras de verdad cuando aprendes con datos reales
(github.com/civilian7)SQL: solo mejoras de verdad cuando aprendes con datos reales
Hay muchos tutoriales de SQL. Pero la mayoría terminan con ejemplos de apenas 3 tablas employees.
En el trabajo real no te enfrentas a eso. Te encuentras con 21 tablas conectadas por claves foráneas, tienes que
sacar la tendencia de ventas mensuales a partir de 10 años de datos de pedidos,
y detectar clientes con riesgo de abandono.
Por eso lo hice.
https://github.com/civilian7/sql-tutorial — aprende SQL con una base de datos realista de comercio electrónico
Simula datos de 10 años de una tienda de computadoras:
- 21 tablas, 18 vistas, 5 triggers — un esquema de nivel profesional
- 230 mil a 10 millones de filas — generador de datos con tamaño configurable
- 21 lecciones — desde
SELECThasta funciones de ventana, CTE recursivos y triggers - 111 ejercicios — 45 básicos, 36 intermedios, 30 avanzados
- Soporte completo en coreano/inglés — tanto los datos como la documentación son bilingües
- Comparación de dialectos de DB — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
Los datos son realistas. Las ventas suben en Black Friday, los pedidos bajan en verano y el 20% de los mejores clientes representa el 60% de las ventas.
También hay un 25% de clientes que se registran pero nunca hacen un pedido.
pip install -r requirements.txt
python generate.py --size small
# se crea output/tutorial.db (SQLite, ~29MB)
Es un proyecto hecho por un desarrollador que no es especialista en SQL. Si hay partes incorrectas o una mejor manera de hacerlo, avísenme por Issues/PR.
7 comentarios
Lanzamos la versión 2.0 con mejoras importantes en sus funciones.
Es un proyecto excelente.
Oh, qué genial
Lo estoy usando muchísimo y por eso dejo este comentario. Todavía parece que la única opción de output es
sqlite. Estoy esperandopostgresql.Muchas gracias por crear una herramienta tan buena.
Buenoooo
Súbanlo a Show, por favor~
Empecé a crear esto para ofrecerlo como muestra predeterminada en el navegador de consultas que estoy desarrollando.
El código y la documentación fueron hechos por una IA (Claude).