SQLは、本物のデータで学んでこそ実力になります
(github.com/civilian7)SQLは、本物のデータで学んでこそ実力になります
SQLチュートリアルはたくさんあります。ですが、その多くは employees テーブルが3つ出てくる例で終わってしまいます。
実務で向き合うのは、そんなものではありません。21個のテーブルが外部キーで結び付けられ、10年分の注文データから月別の売上推移を
抽出しなければならず、離脱リスクの高い顧客も見つけ出す必要があります。
だから作りました。
https://github.com/civilian7/sql-tutorial — 現実的なEコマースのデータベースで学ぶSQL
コンピューターショップ10年分のデータをシミュレーションします:
- 21個のテーブル、18個のビュー、5個のトリガー — 実務レベルのスキーマ
- 23万〜1000万行 — 規模を選べるデータ生成器
- 21個のレッスン — SELECTからウィンドウ関数、再帰CTE、トリガーまで
- 111問の練習問題 — 初級45問、中級36問、上級30問
- 日本語/英語の完全対応 — データと文書の両方が二言語対応
- DB方言の比較 — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
データは現実的です。ブラックフライデーには売上が伸び、夏には注文が減り、上位20%の顧客が売上の60%を占めます。
登録だけして注文しない顧客も25%います。
pip install -r requirements.txt
python generate.py --size small
# output/tutorial.db 생성 (SQLite, ~29MB)
SQLの専門家ではない開発者が作ったプロジェクトです。誤っている部分や、より良い方法があれば、Issues/PRで知らせてください。
7件のコメント
機能を大幅に強化した2.0をリリースしました
素晴らしいプロジェクトですね
おお、素敵ですね
とてもよくできているのでコメントを残します。まだ output オプションが sqlite しかないようですね。postgresql を待っています。
とても良いツールを作ってくださってありがとうございます
Gooood
showで上げてください〜
私が開発しているクエリブラウザの基本サンプルとして提供するために作り始めたもので、
コードとドキュメントの作成はAI(Claude)が行いました。