SQL, kemampuan nyata datang saat belajar dengan data sungguhan
(github.com/civilian7)SQL, kemampuan nyata datang saat belajar dengan data sungguhan
Ada banyak tutorial SQL. Namun kebanyakan berhenti pada contoh dengan 3 tabel employees.
Yang dihadapi di dunia kerja bukan seperti itu. Ada 21 tabel yang terhubung dengan foreign key, Anda harus
mengambil tren pendapatan bulanan dari data pesanan 10 tahun, dan menemukan pelanggan yang berisiko churn.
Karena itulah proyek ini dibuat.
https://github.com/civilian7/sql-tutorial — belajar SQL dengan basis data e-commerce yang realistis
Proyek ini mensimulasikan data 10 tahun dari sebuah toko komputer:
- 21 tabel, 18 view, 5 trigger — skema setingkat produksi
- 230 ribu~10 juta baris — generator data dengan skala yang bisa dipilih
- 21 pelajaran — dari SELECT hingga window function, recursive CTE, dan trigger
- 111 soal latihan — 45 pemula, 36 menengah, 30 lanjutan
- Dukungan penuh bahasa Korea/Inggris — data dan dokumentasi keduanya dwibahasa
- Perbandingan dialek DB — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
Datanya realistis. Penjualan naik saat Black Friday, pesanan turun pada musim panas, dan 20% pelanggan teratas menyumbang 60% pendapatan.
Ada juga 25% pelanggan yang hanya mendaftar tetapi tidak pernah memesan.
pip install -r requirements.txt
python generate.py --size small
output/tutorial.db dibuat (SQLite, ~29MB)
Ini adalah proyek yang dibuat oleh developer yang bukan ahli SQL. Jika ada bagian yang keliru atau cara yang lebih baik, silakan beri tahu lewat Issues/PR.
7 komentar
Kami telah merilis versi 2.0 dengan peningkatan fitur yang signifikan.
Proyek yang luar biasa
Oh, keren sekali
Saya meninggalkan komentar karena saya sangat terbantu menggunakannya. Saat ini sepertinya opsi output masih hanya
sqlite. Saya sedang menunggupostgresql.Terima kasih telah membuat alat yang sangat bagus ini
Bagus
Tolong tampilkan sebagai show~
Awalnya saya membuat ini untuk disediakan sebagai sampel dasar pada browser kueri yang sedang saya kembangkan.
Penulisan kode dan dokumentasi dilakukan oleh AI (Claude).