ต้องเรียน SQL กับข้อมูลจริง ถึงจะเก่งขึ้นจริง
(github.com/civilian7)ต้องเรียน SQL กับข้อมูลจริง ถึงจะเก่งขึ้นจริง
มีบทเรียนสอน SQL มากมาย แต่ส่วนใหญ่ก็มักจบอยู่แค่ตัวอย่างที่มีตาราง employees 3 ตาราง
แต่สิ่งที่ต้องเจอในการทำงานจริงไม่ใช่แบบนั้น คุณจะต้องเจอกับ 21 ตารางที่เชื่อมกันด้วย foreign key ต้องดึงแนวโน้มรายได้รายเดือนจากข้อมูลคำสั่งซื้อ 10 ปี และต้องค้นหาลูกค้าที่เสี่ยงจะเลิกใช้งาน
เพราะแบบนั้นจึงสร้างสิ่งนี้ขึ้นมา
https://github.com/civilian7/sql-tutorial — เรียน SQL ด้วยฐานข้อมูลอีคอมเมิร์ซที่สมจริง
จำลองข้อมูลของร้านคอมพิวเตอร์ช็อปปิงตลอด 10 ปี:
- 21 ตาราง, 18 วิว, 5 ทริกเกอร์ — สคีมาระดับงานจริง
- 230,000~10,000,000 แถว — ตัวสร้างข้อมูลที่เลือกขนาดได้
- 21 บทเรียน — ตั้งแต่ SELECT ไปจนถึง window function, recursive CTE และทริกเกอร์
- แบบฝึกหัด 111 ข้อ — ระดับต้น 45 ข้อ, ระดับกลาง 36 ข้อ, ระดับสูง 30 ข้อ
- รองรับภาษาเกาหลี/อังกฤษอย่างสมบูรณ์ — ทั้งข้อมูลและเอกสารเป็นสองภาษา
- เปรียบเทียบ DB dialect — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
ข้อมูลมีความสมจริง ยอดขายพุ่งขึ้นในช่วง Black Friday คำสั่งซื้อลดลงในฤดูร้อน และลูกค้า 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~ผมเริ่มทำสิ่งนี้ขึ้นมาเพื่อใช้เป็นตัวอย่างพื้นฐานของ query browser ที่กำลังพัฒนาอยู่
โค้ดและเอกสารถูกเขียนโดย AI (Claude)