Nội dung khóa học

Nếu như Game giúp ta rèn luyện tư duy thuật toán và chuyển động, thì Database sẽ mở ra thế giới của "Hệ thống". Đây là nền tảng để làm các ứng dụng thực tế sau này như app quản lý kho hàng, app bán hàng, hay mạng xã hội.

Với SQLite, chúng ta không cần cài đặt máy chủ phức tạp (như MySQL hay SQL Server). SQLite tích hợp sẵn trong Python, lưu mọi thứ vào một file duy nhất, rất trực quan cho các bạn 12-14 tuổi.

Dưới đây là thiết kế lộ trình khóa học "Kiến trúc sư Dữ liệu nhí" (khoảng 4 - 5 tuần) sử dụng Python và SQLite.

🗄️ LỘ TRÌNH KHÓA HỌC: KIẾN TRÚC SƯ DỮ LIỆU NHÍ

(Học qua dự án: Xây dựng hệ thống quản lý kho báu / cửa hàng)

📊 Bài 1: Thế giới dữ liệu có tổ chức (Khái niệm Relational Database)

Mục tiêu: Hiểu tại sao cần Database thay vì dùng file Text hay Excel.

  • Cách giảng trực quan: So sánh Database giống như một chiếc tủ hồ sơ khổng lồ được chia thành nhiều Bảng (Table). Mỗi bảng có các Cột (Column - Thuộc tính) và các Dòng (Row - Dữ liệu thực tế).

  • Khái niệm Khóa chính (Primary Key): Chiếc "Căn cước công dân" của mỗi dòng dữ liệu để không bao giờ bị trùng lặp (ví dụ: Mã vạch sản phẩm, Mã số học sinh).

  • Kết nối Python: Dùng thư viện sqlite3 để tạo ra file database đầu tiên (*.db).

  • Sản phẩm nhỏ: Tạo file kho_bau.db và thiết kế bảng chứa thông tin các vật phẩm quý giá (Tên vật phẩm, Số lượng, Giá trị).

📝 Bài 2: Phép thuật CRUD - Thêm và Đọc dữ liệu (Create & Read)

Mục tiêu: Dạy Python cách gửi lệnh SQL để ghi nhớ và tìm kiếm dữ liệu.

  • Khái niệm mới: Ngôn ngữ SQL (ngôn ngữ để nói chuyện với Database).

  • Lệnh INSERT INTO (Thêm): Cách cất một món đồ mới vào tủ dữ liệu từ Python.

  • Lệnh SELECT ... WHERE (Đọc & Lọc): Cách bắt máy tính tìm kiếm thông minh. Ví dụ: "Tìm cho ta tất cả các món đồ có giá trị > 100 vàng".

  • Sản phẩm nhỏ: Viết code Python cho phép con nhập tên một vật phẩm từ bàn phím, Python sẽ tự động kiểm tra xem trong database có vật phẩm đó không và in ra số lượng.

🔄 Bài 3: Phép thuật CRUD - Sửa và Xóa dữ liệu (Update & Delete)

Mục tiêu: Làm chủ hoàn toàn vòng đời của dữ liệu.

  • Lệnh UPDATE (Sửa): Thay đổi thông tin khi có biến động (Ví dụ: Rồng ăn mất 2 quả táo vàng $\rightarrow$ cập nhật lại số lượng táo từ 10 xuống 8).

  • Lệnh DELETE (Xóa): Vứt bỏ dữ liệu không còn dùng tới. Nhấn mạnh tầm quan trọng của điều kiện WHERE (nếu xóa mà quên WHERE, tủ đồ sẽ trống rỗng!).

  • Sản phẩm nhỏ: Tạo một menu tương tác trên Terminal: 1. Xem kho, 2. Thêm đồ, 3. Sửa số lượng, 4. Xóa đồ.

🔗 Bài 4: Mối quan hệ giữa các Bảng (Relational Database Thực thụ)

Mục tiêu: Hiểu tại sao gọi là Cơ sở dữ liệu "Quan hệ".

  • Bài toán thực tế: Một cửa hàng có nhiều Sản phẩm, và có nhiều Hóa đơn/Đơn hàng. Chúng ta không thể nhét chung tất cả vào một bảng vì sẽ bị rối.

  • Khái niệm Khóa ngoại (Foreign Key): Sợi dây tơ hồng nối bảng này với bảng kia.

  • Phép thần thông JOIN: Cách gộp 2 bảng lại với nhau để đọc ra một thông tin hoàn chỉnh (Ví dụ: Lấy tên sản phẩm từ Bảng A ghép với ngày mua từ Bảng B).

  • Sản phẩm nhỏ: Thiết kế hệ thống mini: Bảng 1 chứa Danh mục sản phẩm (Trái cây, Đồ uống), Bảng 2 chứa Chi tiết sản phẩm.

🏆 Dự án tốt nghiệp: Hệ thống Quản lý Cửa hàng Mini

Các con sẽ tự tay lập trình một phần mềm Python hoàn chỉnh chạy trên Terminal kết nối với SQLite:

  1. Có thể thêm sản phẩm mới vào kho (gồm Tên, Số lượng, Giá vốn, Giá bán).

  2. Có chức năng "Bán hàng": Khi bán 1 sản phẩm $\rightarrow$ Tự động trừ số lượng trong kho và cộng tiền vào bảng "Doanh thu".

  3. In ra báo cáo: Hôm nay cửa hàng đã bán được bao nhiêu tiền, còn lại bao nhiêu tồn kho.