Đăng nhập

Bài 15. Tổng kết chương 2 – Mini Project: Quản lý học sinh

Chúng ta đã đi qua một chặng đường quan trọng trong hành trình làm chủ SQL – nắm vững các lệnh cơ bản nhất để thao tác với dữ liệu: từ SELECT, INSERT, UPDATE đến DELETE. Giờ là lúc bạn áp dụng toàn bộ kiến thức đó vào một mini project thực tế. Trong bài này, chúng ta sẽ xây dựng một hệ thống quản lý học sinh đơn giản bằng SQL – không dùng framework hay giao diện gì cả, chỉ là SQL thuần. Mục tiêu là giúp bạn vận dụng linh hoạt các lệnh đã học, đồng thời làm quen tư duy tổ chức dữ liệu.


Mục tiêu bài học

  • Ôn tập các câu lệnh SQL cơ bản
  • Làm quen với tư duy thiết kế bảng dữ liệu thực tế
  • Luyện tập cách kết hợp nhiều lệnh SQL trong một dự án
  • Hiểu cách đọc – thêm – sửa – xóa dữ liệu trong ngữ cảnh cụ thể

Đề bài: Quản lý học sinh

Bạn hãy xây dựng một CSDL quản lý học sinh đơn giản gồm 1 bảng duy nhất students. Mỗi dòng là một học sinh với các thông tin:

Trường dữ liệuKiểu dữ liệuGhi chú
idINTKhóa chính, tự tăng
nameVARCHAR(100)Họ và tên học sinh
birth_yearINTNăm sinh
genderENUM‘male’, ‘female’, ‘other’
classVARCHAR(10)Lớp học (VD: 10A1, 11B2…)
average_scoreFLOATĐiểm trung bình

Các bước thực hiện

Bước 1. Tạo cơ sở dữ liệu và bảng

CREATE DATABASE student_management;
USE student_management;

CREATE TABLE students (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  birth_year INT,
  gender ENUM('male', 'female', 'other'),
  class VARCHAR(10),
  average_score FLOAT
);

Bước 2. Thêm dữ liệu mẫu

INSERT INTO students (name, birth_year, gender, class, average_score)
VALUES 
  ('Nguyễn Văn A', 2005, 'male', '10A1', 8.2),
  ('Trần Thị B', 2004, 'female', '11B2', 7.5),
  ('Lê Hoàng C', 2006, 'male', '10A1', 9.0),
  ('Phạm Ngọc D', 2005, 'other', '10A2', 6.8);

Bước 3. Truy vấn dữ liệu

  • Xem toàn bộ học sinh:
SELECT * FROM students;
  • Tìm học sinh lớp 10A1:
SELECT * FROM students
WHERE class = '10A1';
  • Danh sách học sinh có điểm trung bình trên 8:
SELECT name, average_score
FROM students
WHERE average_score > 8;

Bước 4. Cập nhật & xóa dữ liệu

  • Cập nhật điểm trung bình của học sinh tên “Trần Thị B”:
UPDATE students
SET average_score = 8.1
WHERE name = 'Trần Thị B';
  • Xóa học sinh có id = 4:
DELETE FROM students
WHERE id = 4;

Bài tập nâng cao (tuỳ chọn)

  1. Tính tuổi học sinh bằng cách lấy YEAR(CURDATE()) - birth_year
  2. Lọc ra học sinh có điểm từ 7 đến 9
  3. Sắp xếp danh sách theo điểm trung bình giảm dần

Tổng kết

Mini project này giúp bạn kết nối toàn bộ kiến thức SQL cơ bản vào một ví dụ thực tiễn. Nếu bạn thấy phần này thú vị, hãy tự nghĩ thêm bảng “giáo viên”, “môn học”, “kết quả học tập” để mô phỏng một hệ thống quản lý trường học hoàn chỉnh hơn.

Thảo luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.