Giáo án Tin học 11 · Chung, Khoa học máy tính và Tin học ứng dụng
Tin họcLớp 11Phần 7. THUD · Chủ đề 6. Thực hành tạo và khai thác cơ sở dữ liệu · Chọn định hướng, không bắt buộc KHMT

Giáo án Bài 21 · THUD. Thực hành cập nhật và truy xuất dữ liệu các bảng

Kế hoạch bài dạy theo mẫu Công văn 5512/BGDĐT-GDTrH · 2 tiết (90 phút)

I. Mục tiêu

1. Kiến thức

  • Nêu được vai trò của mệnh đề WHERE trong lệnh UPDATE và DELETE: xác định đúng dòng cần sửa hoặc xóa trong bảng Muon.
  • Giải thích được vì sao cần chạy SELECT với cùng điều kiện WHERE trước khi UPDATE hoặc DELETE, và vì sao INSERT lại cùng khóa chính sẽ không hợp lệ.
  • Vận dụng được INSERT, SELECT, UPDATE, DELETE và ORDER BY để nhập, kiểm tra, cập nhật và đối chiếu dữ liệu các bảng DocGia, Sach, Muon trên CSDL mẫu riêng.

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: HS chủ động kiểm tra lại từng bước (SELECT trước, UPDATE sau, SELECT đối chiếu) và tự sửa lỗi khi kết quả chưa khớp đáp án.
  • Giao tiếp và hợp tác: HS làm việc theo cặp, trao đổi quy trình an toàn, trình bày và nhận xét kết quả của nhóm bạn bằng thuật ngữ đúng (khóa chính, phạm vi, điều kiện WHERE).
  • Giải quyết vấn đề và sáng tạo: HS xác định rủi ro khi thiếu WHERE, đề xuất quy trình kiểm tra và áp dụng cho một tình huống mới tương tự.

b) Năng lực đặc thù

  • Sử dụng và quản lí các phương tiện công nghệ thông tin và truyền thông: HS sử dụng đúng phần mềm hệ quản trị CSDL, nhập lệnh theo đúng thứ tự, lưu và quản lí tệp CSDL mẫu của nhóm.
  • Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông: HS dùng SELECT để kiểm tra dữ liệu trước khi sửa, đối chiếu kết quả (8, 5, 3; tổng 16) để xác nhận lời giải.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: HS dùng học liệu số NeoEdu (bài giảng, ví dụ, bài tập tương tác) để tự kiểm tra và ôn tập sau giờ học.
  • Hợp tác trong môi trường số: HS chia sẻ tệp CSDL mẫu, thống nhất kết quả trong nhóm và cùng rà soát lệnh trước khi chạy.

3. Phẩm chất

  • Trách nhiệm: HS chỉ thao tác trên CSDL mẫu riêng, không thử lệnh UPDATE hoặc DELETE trên dữ liệu thật; luôn kiểm tra bằng SELECT và sao lưu theo quy định trước khi xóa.
  • Trung thực: HS ghi đúng kết quả thực tế trên máy (số dòng, giá trị SoNgay, tổng ngày), không sửa kết quả để khớp đáp án.
  • Chăm chỉ: HS hoàn thành đủ các bước thực hành, tự thử lại khi lệnh báo lỗi trùng khóa hoặc sai cú pháp và hoàn thiện sản phẩm đúng hạn.

II. Thiết bị dạy học và học liệu

1. Giáo viên

  • Máy tính và máy chiếu hoặc bảng tương tác; phần mềm hệ quản trị CSDL đang dùng ở trường.
  • Slide hoặc bảng phụ ghi mô hình hoàn chỉnh gồm 3 lệnh INSERT, 1 lệnh UPDATE và 2 lệnh SELECT trong bài.
  • Phiếu học tập số 1 và Phiếu học tập số 2 (in cho mỗi cặp), đáp án và thang chấm.
  • Học liệu số NeoEdu: trang bài học có bài giảng, ví dụ và bài tập tương tác tại neoedu.vn/learn/11/informatics/bai-21-thud-thuc-hanh-cap-nhat-va-truy-xuat-du-lieu-cac-bang.

2. Học sinh

  • Máy tính đã cài phần mềm hệ quản trị CSDL, tạo CSDL mẫu riêng cho cặp (không dùng dữ liệu thật).
  • Vở ghi, bút, Phiếu học tập số 1 và số 2.
  • Tài khoản truy cập học liệu NeoEdu (nếu có) để làm bài tập tương tác.

III. Tiến trình dạy học

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Hoạt động 2.1: Hình thành kiến thức mới · 15 phút

Nhập dữ liệu mẫu theo thứ tự bảng cha rồi bảng con

a) Mục tiêu

Nêu được cú pháp INSERT, nhập được dữ liệu cho các bảng DocGia, Sach, Muon đúng thứ tự, đặt đúng dấu nháy đơn cho xâu.

b) Nội dung

Cặp đôi mở phần mềm, tạo CSDL mẫu riêng và gõ lần lượt 3 lệnh INSERT (bảng cha DocGia và Sach trước, bảng con Muon sau).
Nhiệm vụ 1: Giải thích vì sao nhập DocGia và Sach trước Muon.
Nhiệm vụ 2: Viết lại lệnh INSERT có liệt kê tên cột, ví dụ INSERT INTO DocGia(MaDG,Ten) VALUES (1,'An'),(2,'Binh'), rồi so sánh với cách không liệt kê tên cột.
Nhiệm vụ 3: Chỉ ra vì sao xâu 'An' phải đặt trong dấu nháy đơn còn số thì không.

c) Sản phẩm

Ba lệnh INSERT chạy thành công.
Bảng DocGia: (1,An), (2,Binh).
Bảng Sach: (11,Vuon cay), (12,Bau troi).
Bảng Muon: (101,1,11,7), (102,2,12,5), (103,1,12,3).
HS rút ra:

  • Nhập bảng cha trước bảng con để dữ liệu tham chiếu đã tồn tại.
  • Xâu ký tự đặt trong dấu nháy đơn; số không cần dấu nháy.
  • INSERT có liệt kê tên cột giúp tránh nhầm thứ tự cột.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu mô hình lệnh INSERT, nêu ba nhiệm vụ và nhắc: chỉ làm trên CSDL mẫu riêng của nhóm; không nhập lặp trùng khóa.

    Học sinh

    HS nhận nhiệm vụ, mở phần mềm và tạo CSDL mẫu riêng cho cặp.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quan sát các cặp, hỗ trợ khi báo lỗi cú pháp; hỏi nhanh: Nếu nhập Muon trước thì có vấn đề gì?

    Học sinh

    HS gõ và chạy lần lượt 3 lệnh INSERT, kiểm tra số dòng từng bảng. Dự kiến: nếu nhập Muon trước, bảng con tham chiếu đến mã chưa tồn tại ở bảng cha, lệnh có thể bị từ chối.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một cặp đọc to số dòng của từng bảng và một cặp nêu cách viết INSERT có liệt kê cột.

    Học sinh

    Dự kiến: DocGia 2 dòng, Sach 2 dòng, Muon 3 dòng. Cách viết có liệt kê: INSERT INTO DocGia(MaDG,Ten) VALUES (1,'An'),(2,'Binh').

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: nhập cha rồi con; xâu trong dấu nháy đơn; liệt kê cột giúp an toàn hơn khi thứ tự cột dễ nhầm.

    Học sinh

    HS ghi ba kết luận vào vở và kiểm tra lại dữ liệu của mình có khớp với mô hình.

Hoạt động 2.2: Hình thành kiến thức mới · 23 phút

Kiểm tra bằng SELECT rồi cập nhật đúng khóa

a) Mục tiêu

Vận dụng được SELECT để kiểm tra dòng, UPDATE với WHERE theo khóa và SELECT ORDER BY để đối chiếu kết quả sau cập nhật.

b) Nội dung

Cặp đôi thực hiện theo Phiếu học tập số 1, gồm ba bước:
Bước 1: SELECT * FROM Muon WHERE MaMuon=101; để xác nhận đúng một dòng.
Bước 2: UPDATE Muon SET SoNgay=8 WHERE MaMuon=101; để sửa SoNgay của lượt 101 từ 7 thành 8.
Bước 3: SELECT MaMuon,SoNgay FROM Muon ORDER BY MaMuon; để xem các lượt theo MaMuon.
Sau đó cặp đếm số lượt, tính tổng số ngày và trả lời câu hỏi: UPDATE có thêm lượt mới không?

c) Sản phẩm

Kết quả SELECT kiểm tra: đúng 1 dòng (101,1,11,7).
UPDATE: 1 dòng được sửa.
Kết quả sau sửa: (101,8), (102,5), (103,3).
Số lượt: 3. Tổng số ngày: 8+5+3=168+5+3=16 ngày.
HS rút ra: UPDATE chỉ sửa giá trị trên dòng khớp WHERE, không thêm lượt; luôn kiểm tra bằng SELECT trước và sau khi sửa.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV phát Phiếu học tập số 1, giải thích ba bước và nhắc: bước 1 phải chạy trước khi UPDATE. GV nêu tiêu chí: kết quả đúng khi có đúng 3 dòng với SoNgay là 8, 5, 3.

    Học sinh

    HS nhận phiếu, đọc kỹ từng bước và phân công một bạn gõ lệnh, một bạn kiểm tra lệnh.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV quan sát, hỏi các cặp: Sau bước 1, bạn thấy bao nhiêu dòng? Nếu bỏ WHERE ở bước 2 thì kết quả sẽ thế nào?

    Học sinh

    HS thực hiện lần lượt ba bước và ghi kết quả vào phiếu. Dự kiến: bước 1 có 1 dòng; nếu bỏ WHERE, cả ba lượt đều thành 8 ngày.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời hai cặp trình bày kết quả bước 3 và tổng số ngày; yêu cầu cả lớp đối chiếu.

    Học sinh

    Dự kiến: (101,8), (102,5), (103,3); 3 lượt; tổng 16 ngày. UPDATE không thêm lượt vì chỉ thay đổi dòng đã có.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: cập nhật có căn cứ là SELECT trước, UPDATE đúng khóa, SELECT sau để đối chiếu. Nhấn mạnh tổng 16 ngày là kết quả đúng sau sửa.

    Học sinh

    HS tự kiểm tra lại phiếu, sửa nếu kết quả chưa khớp và ghi ba bước vào vở.

Hoạt động 2.3: Hình thành kiến thức mới · 10 phút

Xóa có kiểm soát một lượt mượn

a) Mục tiêu

Giải thích được quy trình an toàn khi DELETE: kiểm tra WHERE, sao lưu theo quy định, xóa đúng dòng và đối chiếu lại.

b) Nội dung

Cặp đôi thực hiện trên CSDL đã sửa ở phần trước, xóa riêng lượt 103 theo bốn bước:
(1) SELECT * FROM Muon WHERE MaMuon=103; để xác nhận đúng dòng.
(2) Sao lưu CSDL mẫu theo quy định của GV.
(3) DELETE FROM Muon WHERE MaMuon=103;
(4) SELECT MaMuon,SoNgay FROM Muon ORDER BY MaMuon; để đối chiếu.
Nhiệm vụ: nêu hậu quả nếu chạy DELETE FROM Muon không có WHERE.

c) Sản phẩm

Sau khi xóa lượt 103: còn 2 dòng (101,8) và (102,5); tổng số ngày là 8+5=138+5=13.
DELETE không có WHERE sẽ xóa toàn bộ dòng trong bảng Muon.
HS rút ra: trước khi xóa phải xác nhận đúng dòng bằng SELECT cùng WHERE, có sao lưu và kiểm tra kết quả sau khi xóa.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV nêu bốn bước an toàn và nhấn mạnh: DELETE xóa dữ liệu khỏi bảng nên phải kiểm tra trước. GV yêu cầu HS nêu rõ WHERE trong từng lệnh.

    Học sinh

    HS đọc bốn bước và kiểm tra việc sao lưu đã thực hiện theo quy định của lớp.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quan sát, nhắc cặp chỉ xóa lượt 103 và kiểm tra lại mệnh đề WHERE trước khi chạy lệnh.

    Học sinh

    HS thực hiện bốn bước và ghi kết quả. Dự kiến: SELECT WHERE trả về đúng 1 dòng (103,1,12,3); sau DELETE còn 2 dòng.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một cặp báo cáo số dòng và tổng ngày sau khi xóa; hỏi cả lớp: nếu quên WHERE thì kết quả là gì?

    Học sinh

    Dự kiến: còn 2 dòng, tổng 13 ngày. Nếu quên WHERE, toàn bộ dòng trong Muon sẽ bị xóa.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: DELETE là thao tác rủi ro nhất trong nhóm lệnh cập nhật nên phải có SELECT kiểm tra, sao lưu theo quy định và đối chiếu sau khi xóa.

    Học sinh

    HS ghi quy trình bốn bước vào vở và đánh dấu bước nào cần làm trước.

Hoạt động 3.1: Luyện tập · 15 phút

Thực hành hoàn chỉnh và đối chiếu kết quả

a) Mục tiêu

Vận dụng quy trình nhập, kiểm tra, cập nhật và đối chiếu để hoàn thành các bài 1, 2, 3 và 8 trên CSDL mẫu riêng.

b) Nội dung

Cặp đôi làm lại từ đầu trên CSDL mẫu riêng, không dùng UPDATE hoặc DELETE của bài khác. Hoàn thành Phiếu học tập số 2 gồm:
Bài 1: sửa riêng lượt 101 từ 7 thành 8 trước khi tính các kết quả sau cập nhật.
Bài 2: sau sửa, tổng số ngày là bao nhiêu?
Bài 3: số lượt sau sửa là bao nhiêu?
Bài 8: viết chuỗi lệnh (INSERT, SELECT kiểm tra, UPDATE đúng khóa, SELECT đối chiếu) và trình bày sản phẩm để GV kiểm tra.

c) Sản phẩm

Bài 1: sửa riêng MaMuon=101 từ 7 thành 8, các lượt khác giữ nguyên.
Bài 2: đáp án 8+5+3=168+5+3=16 ngày.
Bài 3: đáp án 3 lượt (UPDATE không thêm lượt).
Bài 8 (thang chấm 1 điểm):

  • Nhập cha trước con: 0,250{,}25 điểm.
  • SELECT kiểm tra và UPDATE đúng 101: 0,30{,}3 điểm.
  • Ba hàng sau sửa (101,8), (102,5), (103,3) và tổng 16: 0,30{,}3 điểm.
  • Không lặp INSERT trùng khóa và giữ dữ liệu thật an toàn: 0,150{,}15 điểm.
    Chấp nhận phương án tương đương đúng, có lí giải và an toàn.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV phát Phiếu học tập số 2, nhắc: mỗi lần làm bài dùng bản mẫu mới; không kế thừa lệnh của bài trước. Nhắc HS ghi lại chuỗi lệnh để GV kiểm tra.

    Học sinh

    HS nhận phiếu, xác định đúng bài cần làm và chuẩn bị CSDL mẫu mới.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi kiểm tra nhanh từng cặp: đã nhập cha trước con chưa? Lệnh UPDATE có WHERE MaMuon=101 chưa?

    Học sinh

    HS làm lần lượt các bài 1, 2, 3, 8. Dự kiến lỗi thường gặp: quên WHERE trong UPDATE, nhập lại INSERT trùng khóa 101.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV chiếu bảng kết quả, mời một cặp trình bày chuỗi lệnh bài 8 và đối chiếu với thang chấm.

    Học sinh

    HS trình bày: nhập cha trước, SELECT kiểm tra, UPDATE đúng 101, SELECT đối chiếu cho kết quả (101,8), (102,5), (103,3), tổng 16.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV nhận xét và chốt đáp án bài 1, 2, 3, 8; nêu lỗi thường gặp và cách tránh.

    Học sinh

    HS tự chấm sản phẩm của cặp theo thang chấm và sửa lỗi nếu có.

Hoạt động 3.2: Luyện tập · 10 phút

Trắc nghiệm, đúng sai và ghép lệnh

a) Mục tiêu

Nhận biết đúng vai trò của INSERT, UPDATE, SELECT, DELETE và điều kiện áp dụng; giải thích được vì sao không nên dùng lệnh thay đổi dữ liệu khi chỉ cần xem.

b) Nội dung

Cả lớp làm nhanh các câu sau, có thể dùng bài tập tương tác trên NeoEdu:
Câu 4: Trước sửa nên kiểm tra dòng bằng gì? A. SELECT cùng điều kiện WHERE; B. DELETE toàn bảng; C. DROP; D. Đổi tên dữ liệu.
Câu 5: UPDATE thiếu WHERE có thể sửa mọi dòng. Đúng hay sai?
Câu 6: INSERT lại cùng khóa chính đã có luôn hợp lệ. Đúng hay sai?
Câu 7: Ghép INSERT, UPDATE, SELECT với Thêm, Sửa, Xem/truy vấn.
Câu 9: Muốn xóa riêng lượt 103, cần kiểm tra gì và tổng sau sửa là bao nhiêu?

c) Sản phẩm

Câu 4: A (xác định phạm vi trước khi sửa).
Câu 5: Đúng (không có điều kiện giới hạn nên mọi dòng bị ảnh hưởng).
Câu 6: Sai (vi phạm ràng buộc khóa chính).
Câu 7: INSERT là Thêm; UPDATE là Sửa; SELECT là Xem/truy vấn (không dùng lệnh thay đổi dữ liệu khi chỉ cần xem).
Câu 9: chạy SELECT WHERE MaMuon=103 để xác nhận, sao lưu và kiểm tra đúng quyền, rồi DELETE FROM Muon WHERE MaMuon=103; kết quả còn 2 dòng, tổng 13 ngày.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu các câu hỏi, yêu cầu HS giơ thẻ A/B/C/D hoặc Đúng/Sai; nhắc HS giải thích ngắn lý do.

    Học sinh

    HS đọc câu hỏi, suy nghĩ và chuẩn bị thẻ trả lời.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV cho HS làm nhanh, gọi hai bạn giải thích câu 6 và câu 9.

    Học sinh

    HS trả lời theo cặp. Dự kiến: câu 6 là Sai vì trùng khóa chính; câu 9 cần SELECT WHERE trước khi DELETE.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV công bố đáp án, mời một cặp đối chiếu câu 9 với kết quả đã làm ở bài thực hành.

    Học sinh

    HS đối chiếu: còn 2 dòng (101,8), (102,5), tổng 13 ngày.

  4. Giáo viên

    Bước 4: Kết luận, nhận định

    GV chốt: chọn lệnh đúng theo mục đích (xem, thêm, sửa, xóa) và luôn kiểm tra điều kiện trước khi thay đổi dữ liệu.

    Học sinh

    HS sửa các câu sai trong vở và ghi lại đáp án đúng.

Hoạt động 4: Vận dụng · 10 phút

Thiết kế quy trình sửa điểm an toàn

a) Mục tiêu

Vận dụng quy trình an toàn (SELECT kiểm tra, UPDATE hoặc DELETE có WHERE theo khóa, SELECT đối chiếu) cho một tình huống thực tế trong nhà trường.

b) Nội dung

Nhóm 4 HS xét bảng DiemSo(MaHS, MonHoc, Diem) với dữ liệu giả định do nhóm tự tạo. Nhóm viết quy trình 5 bước để sửa một điểm bị nhập sai: nhập dữ liệu mẫu, SELECT kiểm tra đúng dòng, UPDATE có WHERE theo khóa, SELECT đối chiếu, nêu rủi ro nếu thiếu WHERE.
Bài về nhà: hoàn thiện quy trình trên CSDL riêng và làm thêm bài tập tương tác trên NeoEdu.

c) Sản phẩm

Quy trình 5 bước của nhóm, ví dụ: (1) INSERT dữ liệu mẫu bảng cha nếu có, rồi bảng DiemSo; (2) SELECT * FROM DiemSo WHERE MaHS=... AND MonHoc='...'; (3) UPDATE DiemSo SET Diem=... WHERE MaHS=... AND MonHoc='...'; (4) SELECT đối chiếu điểm sau sửa; (5) Nêu rủi ro: thiếu WHERE sẽ làm sai điểm của mọi học sinh trong bảng.
HS rút ra: sửa dữ liệu phải có căn cứ, đúng khóa và đúng phạm vi.

d) Tổ chức thực hiện

  1. Giáo viên

    Bước 1: Chuyển giao nhiệm vụ

    GV chiếu tình huống sửa điểm sai và yêu cầu nhóm 4 HS viết quy trình 5 bước; nhắc dùng dữ liệu giả định, không dùng điểm thật.

    Học sinh

    HS đọc tình huống, phân vai người gõ lệnh, người kiểm tra, người ghi và người trình bày.

  2. Giáo viên

    Bước 2: Thực hiện nhiệm vụ

    GV đi quan sát, hỏi: Khóa để xác định một dòng điểm là gì? Nếu thiếu MonHoc trong WHERE thì điều gì xảy ra?

    Học sinh

    HS viết quy trình và thử trên CSDL riêng. Dự kiến: khóa là cặp (MaHS, MonHoc); thiếu điều kiện sẽ sửa nhiều dòng không liên quan.

  3. Giáo viên

    Bước 3: Báo cáo, thảo luận

    GV mời một nhóm trình bày quy trình, các nhóm khác nhận xét về tính an toàn.

    Học sinh

    Nhóm trình bày 5 bước; các nhóm khác góp ý về WHERE và kiểm tra sau sửa.

  4. 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; giao bài về nhà hoàn thiện quy trình và làm bài tập tương tác trên NeoEdu.

    Học sinh

    HS ghi quy trình chuẩn vào vở và chuẩn bị bài về nhà.

Phiếu học tập

Phiếu học tập số 1

Nhiệm vụ: sửa SoNgay của lượt 101 và xem các lượt theo MaMuon.

  • Bước 1: SELECT * FROM Muon WHERE MaMuon=101; Ghi số dòng trả về: ....
  • Bước 2: UPDATE Muon SET SoNgay=8 WHERE MaMuon=101; Ghi số dòng được sửa: ....
  • Bước 3: SELECT MaMuon,SoNgay FROM Muon ORDER BY MaMuon; Ghi kết quả: (101,...), (102,...), (103,...).
    Câu hỏi: Tổng số ngày sau sửa là bao nhiêu? UPDATE có thêm lượt mới không? Vì sao?

Phiếu học tập số 2

Làm trên CSDL mẫu riêng, mỗi bài dùng bản mẫu mới.

  • Bài 1: Sửa riêng lượt 101 từ 7 thành 8 trước khi tính các kết quả sau cập nhật.
  • Bài 2: Sau sửa, tổng số ngày là bao nhiêu?
  • Bài 3: Số lượt sau sửa là bao nhiêu?
  • Bài 8: Viết chuỗi lệnh gồm INSERT (nhập bảng cha rồi con), SELECT kiểm tra, UPDATE đúng khóa, SELECT đối chiếu; ghi lại sản phẩm để GV kiểm tra.
  • Câu 9: Muốn xóa riêng lượt 103, cần kiểm tra gì? Sau khi xóa, còn bao nhiêu dòng và tổng số ngày là bao nhiêu?

Hướng dẫn về nhà

  • Hoàn thiện quy trình sửa điểm an toàn đã thiết kế trên nhóm trên CSDL riêng (bảng DiemSo giả định): ghi rõ từng lệnh INSERT, SELECT, UPDATE, SELECT đối chiếu và nêu rủi ro nếu thiếu WHERE.
  • Làm thêm các bài tập tương tác tại trang bài học NeoEdu: neoedu.vn/learn/11/informatics/bai-21-thud-thuc-hanh-cap-nhat-va-truy-xuat-du-lieu-cac-bang.
  • Ôn lại: vì sao phải chạy SELECT cùng WHERE trước UPDATE hoặc DELETE; vì sao INSERT lại khóa chính đã có là không hợp lệ; ghi tóm tắt vào vở để chuẩn bị kiểm tra.

Giáo án do NeoEdu soạn với sự hỗ trợ của AI, dựa trên nội dung bài học trên Học liệu. Thầy cô nên đọc lại và điều chỉnh cho phù hợp với học sinh của mình; bản Word để sửa trực tiếp.