Hoạt động 1: Mở đầu · 7 phút
Tình huống sửa nhầm dữ liệu mượn sách
a) Mục tiêu
Xác định vấn đề: nhận ra rủi ro khi UPDATE thiếu WHERE và vì sao phải kiểm tra phạm vi, khóa chính trước khi thay đổi dữ liệu.
b) Nội dung
GV nêu tình huống: thư viện trường có bảng Muon(MaMuon, MaDG, MaSach, SoNgay). Một bạn gõ lệnh UPDATE Muon SET SoNgay=8 mà không có WHERE.
HS trả lời ba câu hỏi:
(1) Chuyện gì xảy ra với các lượt 102 và 103?
(2) Làm thế nào để biết chính xác dòng cần sửa trước khi chạy lệnh?
(3) Nếu nhập lại lượt 101 bằng INSERT thì điều gì xảy ra?
c) Sản phẩm
HS nêu được: UPDATE thiếu WHERE sẽ sửa mọi dòng trong bảng; cần chạy SELECT với cùng điều kiện WHERE (ví dụ WHERE MaMuon=101) để xem đúng dòng; INSERT lại khóa chính 101 đã tồn tại sẽ vi phạm ràng buộc khóa chính và không hợp lệ.
Nhiệm vụ của bài: nhập dữ liệu mẫu, sửa SoNgay của lượt 101 từ 7 thành 8 rồi xem các lượt theo MaMuon.
d) Tổ chức thực hiện
Hoạt động của giáo viên
Hoạt động của học sinh
Giáo viên
Bước 1: Chuyển giao nhiệm vụ
GV chiếu tình huống, nêu ba câu hỏi và yêu cầu HS suy nghĩ 1 phút trước khi trả lời. GV nhấn mạnh: đây là bài thực hành trên CSDL mẫu riêng của nhóm.
Học sinh
HS đọc tình huống, ghi nhanh câu trả lời ra nháp và chuẩn bị ý kiến.
Giáo viên
Bước 2: Thực hiện nhiệm vụ
GV gọi ngẫu nhiên hai cặp đôi thảo luận nhanh, đi quan sát và gợi ý: Hãy nghĩ đến phạm vi tác động của lệnh.
Học sinh
HS thảo luận theo cặp. Dự kiến: lệnh sẽ đổi SoNgay của cả 3 lượt thành 8, kể cả 102 và 103. Có thể dùng SELECT với WHERE để xem trước đúng dòng cần sửa.
Giáo viên
Bước 3: Báo cáo, thảo luận
GV mời 2 cặp trình bày, ghi nhanh ý chính lên bảng và hỏi thêm: Vì sao chạy lại INSERT với MaMuon=101 là không hợp lệ?
Học sinh
Dự kiến: vì MaMuon là khóa chính, mỗi giá trị chỉ được xuất hiện một lần, nên trùng khóa sẽ bị từ chối.
Giáo viên
Bước 4: Kết luận, nhận định
GV chốt: cập nhật phải có căn cứ, đúng khóa và đúng phạm vi. Trước UPDATE hoặc DELETE, chạy SELECT cùng WHERE để xem đúng dòng. Dẫn dắt vào nhiệm vụ của bài.
Học sinh
HS ghi tóm tắt hai ý chính vào vở và xác định nhiệm vụ thực hành.