SQL : on ne progresse vraiment qu’en l’apprenant sur de vraies données
(github.com/civilian7)SQL : on ne progresse vraiment qu’en l’apprenant sur de vraies données
Les tutoriels SQL sont nombreux. Mais la plupart s’arrêtent à des exemples avec trois tables employees.
Ce n’est pas ce qu’on rencontre en situation réelle. On se retrouve avec 21 tables liées par des clés étrangères, il faut extraire l’évolution mensuelle du chiffre d’affaires à partir de 10 ans de données de commandes,
et identifier les clients à risque de churn.
C’est pour cela que j’ai créé ceci.
https://github.com/civilian7/sql-tutorial — apprendre SQL avec une base de données e-commerce réaliste
Le projet simule 10 ans de données d’une boutique informatique :
- 21 tables, 18 vues, 5 triggers — un schéma de niveau professionnel
- de 230 000 à 10 millions de lignes — un générateur de données avec taille au choix
- 21 leçons — de
SELECTjusqu’aux fonctions de fenêtre, CTE récursives et triggers - 111 exercices — 45 débutant, 36 intermédiaire, 30 avancé
- prise en charge complète du coréen et de l’anglais — données et documentation bilingues
- comparaison des dialectes SQL — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
Les données sont réalistes. Le chiffre d’affaires augmente pendant le Black Friday, les commandes diminuent en été, et les 20 % de meilleurs clients représentent 60 % du chiffre d’affaires.
Il y a aussi 25 % des clients qui s’inscrivent sans jamais passer commande.
pip install -r requirements.txt
python generate.py --size small
# output/tutorial.db 생성 (SQLite, ~29MB)
C’est un projet créé par un développeur qui n’est pas expert SQL. S’il y a des erreurs ou de meilleures approches, merci de les signaler via Issues/PR.
7 commentaires
Nous avons lancé la version 2.0, avec des fonctionnalités largement renforcées.
C’est un excellent projet.
Oh, c’est génial.
Je l’utilise avec énormément de satisfaction, donc je voulais laisser un message. Pour l’instant, il n’y a encore que l’option de sortie
sqlite. J’attendspostgresql.Merci d’avoir créé un outil aussi excellent
Gooood
Veuillez le publier sur Show ~
C’est quelque chose que j’ai commencé à créer pour le proposer comme exemple de base dans le navigateur de requêtes que je développe.
Le code et la documentation ont été rédigés par une IA (Claude).