CÂU LỆNH TRUY VẤN SQL

Tin học 11, Kết nối tri thức.

1. Em đang học gì trong chủ đề CSDL & SQL?

Chủ đề này không yêu cầu em trở thành “lập trình viên chuyên nghiệp”, mà chỉ cần biết:

  • Hiểu một bài toán quản lí trong đời sống (quản lí học sinh, thư viện, âm nhạc,…).
  • Biến bài toán đó thành các bảng trong CSDL.
  • Dùng câu lệnh SQL để hỏi – thêm – sửa – xoá dữ liệu.
Coi SQL như một ngôn ngữ nói chuyện với CSDL:
– “Hãy cho tôi danh sách học sinh lớp 11A1.”
– “Hãy thêm một bạn mới vào lớp.”
– “Hãy xoá những bản ghi không còn dùng nữa.”

2. 5 bước tìm hiểu một bài toán quản lí

Mỗi khi gặp bài toán quản lí (quản lí thư viện, âm nhạc, học sinh,…), em cứ đi theo đúng 5 bước này:

Bước Em làm gì? Câu hỏi gợi ý cho em
1. Đọc đề & gạch chân từ khóa Đọc chậm đề bài, gạch chân các từ chỉ đối tượng cần quản lí. Đề bài đang muốn quản lí cái gì? (sách, học sinh, bản nhạc, hoá đơn,…)
2. Xác định thực thể (bảng) Liệt kê các “nhóm đối tượng chính”, mỗi nhóm sau này sẽ thành 1 bảng. Có những nhóm đối tượng nào? (Ví dụ: Sách, Bạn đọc, Phiếu mượn,…)
3. Chọn thuộc tính & khóa chính Với mỗi thực thể, em chọn các thông tin cần lưu (trường) và khóa chính. Mỗi đối tượng cần lưu những thông tin gì? Trường nào phân biệt từng bản ghi?
4. Nhìn mối quan hệ giữa các bảng Xem các thực thể liên quan với nhau như thế nào (1–N, N–N,…). Bảng nào “gắn” với bảng nào? Một đối tượng ở đây liên quan tới mấy đối tượng ở kia?
5. Nghĩ ra các câu hỏi cần SQL trả lời Ghi ra các câu hỏi dạng tự nhiên – sau này ta sẽ viết SELECT, INSERT,… Cần liệt kê, tìm kiếm, thống kê những gì từ CSDL?
Bảng 1. 5 bước “gỡ đề” bài toán quản lí trước khi viết bất kì câu lệnh SQL nào.
Gợi ý cho em: khi làm bài, hãy thử tự nói thành lời 5 bước trên rồi mới cầm bút viết SQL. Nếu 5 bước rõ ràng → câu lệnh SQL sẽ dễ viết hơn nhiều.

3. Áp dụng 5 bước cho bài toán âm nhạc

SGK (trang 70–71) cho bài toán quản lí lĩnh vực âm nhạc. Ta áp dụng 5 bước như sau:

3.1. Bước 1 & 2 – Đối tượng cần quản lí

Mô tả tóm tắt: cần quản lí thông tin về nhạc sĩ, ca sĩ, bản nhạc.

Thực thể (bảng) Ý nghĩa Một số thuộc tính cần lưu
nhacsi Thông tin từng nhạc sĩ. Mã nhạc sĩ, họ tên, năm sinh, quê quán,…
casi Thông tin từng ca sĩ. Mã ca sĩ, họ tên, năm sinh, quê quán,…
bannhac Mỗi bản nhạc (bài hát) cụ thể. Mã bản nhạc, tên bài hát, mã nhạc sĩ, mã ca sĩ thể hiện,…
Bảng 2. Ba thực thể chính trong bài toán âm nhạc SGK.

3.2. Bước 3 – Khóa chính, khóa ngoại

Bảng Khóa chính Khóa ngoại (gợi ý)
nhacsi Aid – mã nhạc sĩ
casi Sid – mã ca sĩ
bannhac Bid – mã bản nhạc Aid (tham chiếu nhacsi), Sid (tham chiếu casi)
Bảng 3. Khóa chính và khóa ngoại giúp các bảng “nói chuyện” với nhau.

3.3. Bước 4 – Một số dữ liệu mẫu

Khi dạy – học, em chỉ cần vài dòng dữ liệu mẫu để nhìn rõ hơn:

Bảng Một vài dòng ví dụ
nhacsi Aid='A01', Hoten='Văn Cao', Namsinh=1923, Quequan='Hải Phòng'
Aid='A02', Hoten='Trịnh Công Sơn', Namsinh=1939, Quequan='Thừa Thiên Huế'
casi Sid='S01', Hoten='Ca sĩ 1', Namsinh=2004, Quequan='Phú Yên'
Sid='S02', Hoten='Ca sĩ 2', Namsinh=2003, Quequan='Hà Nội'
bannhac Bid='B01', Tenbai='Tiến quân ca', Aid='A01', Sid='S01'
Bid='B02', Tenbai='Bài hát X', Aid='A02', Sid='S02'
Bảng 4. Dữ liệu mẫu để thử các câu lệnh SQL.

3.4. Bước 5 – Câu hỏi cần SQL trả lời

Cuối cùng, em ghi ra các câu hỏi:

  • Liệt kê tất cả các bản nhạc trong CSDL.
  • Các bản nhạc do nhạc sĩ có Aid = 'A01' sáng tác là những bài nào?
  • Những ca sĩ sinh sau năm 2000 là ai?

Chính các câu hỏi trên sẽ dẫn tới các câu lệnh SELECT, JOIN,… ở phần sau.

4. Những lệnh SQL “xương sống” của bài 14

Sau khi hiểu bài toán (5 bước ở trên), em mới bắt đầu dùng SQL. Dưới đây là 4 nhóm lệnh em cần nắm trước:

SELECTTruy xuất (xem) dữ liệu

Dùng khi em muốn “hỏi” CSDL.

Ví dụ: “Liệt kê tất cả ca sĩ”, “Tìm các bản nhạc của A01”.

INSERTThêm dữ liệu

Dùng khi có đối tượng mới (ca sĩ mới, bản nhạc mới,…).

Lưu ý: không được trùng khóa chính.

UPDATESửa dữ liệu

Dùng khi em muốn chỉnh sửa một vài trường.

Luôn kèm WHERE để tránh sửa nhầm cả bảng.

DELETEXoá dữ liệu

Dùng khi một số bản ghi không còn dùng nữa.

Quên WHERE là có thể xoá sạch bảng.

JOINNối bảng

Khi dữ liệu nằm ở nhiều bảng (nhạc sĩ – ca sĩ – bản nhạc), em cần JOIN để xem chung.

GROUP BYNhóm & thống kê

Dùng để đếm, thống kê: số bản nhạc của mỗi nhạc sĩ,…

Lệnh Dùng khi… Ví dụ ngắn
SELECT Em muốn “xem” dữ liệu. SELECT * FROM casi;
INSERT Thêm một ca sĩ mới. INSERT INTO casi (...) VALUES (...);
UPDATE Sửa thông tin đã lưu. UPDATE casi SET Quequan='Hà Nội' WHERE Sid='S001';
DELETE Xoá bản ghi không cần nữa. DELETE FROM casi WHERE Sid='S001';
Bảng 5. Tóm tắt các lệnh SQL cơ bản, gắn với bài toán âm nhạc.

Ví dụ: thao tác với bảng casi

-- Lấy tất cả ca sĩ
SELECT *
FROM casi;

-- Thêm một ca sĩ mới
INSERT INTO casi (Sid, Hoten, Namsinh, Quequan)
VALUES ('S001', 'Trần Minh An', 2004, 'Phú Yên');

-- Đổi quê quán ca sĩ S001
UPDATE casi
SET Quequan = 'Hà Nội'
WHERE Sid = 'S001';

-- Xoá ca sĩ S001
DELETE FROM casi
WHERE Sid = 'S001';

5. Áp dụng vào các dự án

Em có thể dùng cùng một quy trình 5 bước để áp dụng nhiều bài toán quản lí khác:

Quản lí Thư viện

📚 Quản lí thư viện

Bước 1–5 với Sách, Bạn đọc, Phiếu mượn. Luyện SELECT, JOIN, GROUP BY gần với SGK.

Vào hệ thống
Linh kiện máy tính

💻 Linh kiện máy tính

Quản lí sản phẩm, đơn hàng, khách hàng – phù hợp định hướng tin học ứng dụng.

Vào hệ thống
Quản lí Cà phê

☕ Quán cà phê

Quản lí bàn, món, hoá đơn, nhân viên – luyện 4 lệnh INSERT/SELECT/UPDATE/DELETE.

Vào hệ thống
Quản lí Du lịch

🛫 Du lịch

Tour, khách, hoá đơn, doanh thu – luyện JOIN và thống kê theo tháng.

Vào hệ thống

6. Trợ lý AI TranSuyen – Hỏi về 5 bước & câu lệnh SQL

logo

Trợ lý AI – Bài toán quản lí & SQL lớp 11

Mô tả bài toán → Hỏi về bước 1–5 → Xin gợi ý câu lệnh SQL.
Khi hỏi, em nên viết theo mẫu: Bài toán + Bước em đang vướng, ví dụ:
– “Bài toán quản lí thư viện, giúp em làm Bước 2: xác định bảng.”
– “Bài toán âm nhạc SGK, gợi ý cho em một câu SELECT liệt kê các bản nhạc của A01.”
– “Bài toán quản lí lớp học, gợi ý cấu trúc bảng học_sinh.”
Bài toán âm nhạc – giúp em làm Bước 2 (xác định bảng) Đề gợi ý 5 bước cho bài toán quản lí thư viện Viết SELECT liệt kê các bản nhạc của nhạc sĩ Aid = 'A01' Gợi ý bảng quản lí học sinh lớp 11A1 Giải thích giúp em sự khác nhau giữa SELECT và UPDATE Hướng dẫn JOIN nhacsi, casi, bannhac
Xin chào! Em hãy: 1) Nói ngắn gọn bài toán (quản lí cái gì?), 2) Cho biết em đang vướng ở bước mấy (1–5) hoặc lệnh SQL nào (SELECT, INSERT,…). Mình sẽ giúp em đi từng bước cho dễ hiểu hơn.

7. Tài liệu PDF – Bài toán quản lí & SQL

GV và HS có thể xem thêm tài liệu PDF sau để tham khảo thêm các ví dụ bài toán quản lí:

💬
Trợ lý AI TranSuyen – Học tập THPT
Ưu tiên CSDL & SQL – Bài toán quản lí (Bài 14, Tin 11)
Chào bạn! Mình hỗ trợ các câu hỏi học tập Lớp 10–12. Trên trang này, hãy ưu tiên hỏi về: – Các bước phân tích bài toán quản lí (1–5), – Cách thiết kế bảng CSDL, – Câu lệnh SQL cơ bản (SELECT, INSERT, UPDATE, DELETE, JOIN,…).