SQL, phải học bằng dữ liệu thực thì mới giỏi lên được
(github.com/civilian7)SQL, phải học bằng dữ liệu thực thì mới giỏi lên được
Có rất nhiều tài liệu hướng dẫn SQL. Nhưng đa số chỉ dừng lại ở ví dụ với 3 bảng employees.
Trong công việc thực tế, mọi thứ không như vậy. Bạn sẽ phải đối mặt với 21 bảng được liên kết bằng khóa ngoại, phải truy xuất xu hướng doanh thu theo tháng từ dữ liệu đơn hàng của 10 năm, và phải tìm ra những khách hàng có nguy cơ rời bỏ.
Vì thế nên dự án này đã được tạo ra.
https://github.com/civilian7/sql-tutorial — học SQL với cơ sở dữ liệu thương mại điện tử sát với thực tế
Mô phỏng dữ liệu của một cửa hàng máy tính trong 10 năm:
- 21 bảng, 18 view, 5 trigger — schema ở mức thực tế công việc
- 230 nghìn đến 10 triệu dòng — trình tạo dữ liệu cho phép chọn quy mô
- 21 bài học — từ
SELECTđến window function, recursive CTE, trigger - 111 bài tập thực hành — 45 bài cơ bản, 36 bài trung cấp, 30 bài nâng cao
- Hỗ trợ đầy đủ tiếng Hàn/tiếng Anh — cả dữ liệu lẫn tài liệu đều song ngữ
- So sánh các phương ngữ DB — SQLite, MySQL, PostgreSQL, SQL Server, Oracle
Dữ liệu rất thực tế. Doanh thu tăng vào Black Friday, đơn hàng giảm vào mùa hè, và 20% khách hàng hàng đầu chiếm 60% doanh thu.
Cũng có 25% khách hàng chỉ đăng ký mà không đặt hàng.
pip install -r requirements.txt
python generate.py --size small
# tạo output/tutorial.db (SQLite, ~29MB)
Đây là dự án do một lập trình viên không phải chuyên gia SQL tạo ra. Nếu có chỗ nào chưa đúng hoặc có cách làm tốt hơn, hãy cho biết qua Issues/PR.
7 bình luận
Đã ra mắt phiên bản 2.0 với nhiều tính năng được nâng cấp đáng kể
Đây là một dự án tuyệt vời.
Ồ, tuyệt quá
Tôi để lại bình luận vì đang dùng nó rất hiệu quả, chỉ là hiện tại dường như mới chỉ có tùy chọn output là sqlite. Tôi đang chờ postgresql.
Cảm ơn vì đã tạo ra một công cụ rất tuyệt vời
Tốt lắm
Vui lòng đưa lên show~
Đây là thứ tôi bắt đầu làm để cung cấp làm mẫu mặc định cho trình duyệt truy vấn mà tôi đang phát triển.
Phần mã và tài liệu do AI (Claude) thực hiện.