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 22 · THUD. Thực hành cập nhật bảng dữ liệu có tham chiếu

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

I. Mục tiêu

1. Kiến thức

  • Nêu được vai trò của khóa ngoài trong bảng con và điều kiện để thêm một bản ghi vào bảng con (mã cha phải tồn tại ở bảng cha).
  • Giải thích được vì sao việc xóa bản ghi cha đang được tham chiếu có thể bị chặn và vì sao không mặc định xóa dây chuyền (CASCADE).
  • Vận dụng được các lệnh INSERT, SELECT có điều kiện và ORDER BY để thêm lượt mượn và kiểm tra kết quả trên dữ liệu mẫu.
  • Kiểm tra được điều kiện áp dụng và nêu được cách xử lý khi gặp khóa ngoài chưa tồn tại (xác minh và tạo cha hợp lệ, không tắt kiểm tra khóa).

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: HS tự xác nhận mã cha, tự viết và tự kiểm tra kết quả câu lệnh so với đáp án, chủ động tra cứu lại quy tắc khóa ngoài khi cần.
  • Giao tiếp và hợp tác: HS làm việc theo cặp, trao đổi và thống nhất phương án xử lý, trình bày lập luận khi báo cáo trước lớp.
  • Giải quyết vấn đề và sáng tạo: HS phân tích tình huống thêm mã cha chưa có và tình huống xóa cha đang được tham chiếu, đề xuất phương án an toàn, đúng chính sách.

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: thao tác đúng trên phần mềm quản trị CSDL (hoặc công cụ SQL được lớp sử dụng) với bản mẫu dữ liệu được cung cấp.
  • Ứng xử phù hợp trong môi trường số: thực hành trên dữ liệu giả định, không thao tác trên hệ thống thật, không dùng dữ liệu cá nhân thật.
  • Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông: dùng câu lệnh SQL để kiểm tra lại trạng thái dữ liệu trước và sau khi thêm, từ đó xác nhận kết quả.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: sử dụng trang bài học số NeoEdu để tự kiểm tra và củng cố kiến thức sau giờ học.
  • Hợp tác trong môi trường số: cùng bạn chia sẻ kết quả truy vấn và đối chiếu đáp án trong nhóm cặp qua máy tính hoặc màn hình chung của lớp.

3. Phẩm chất

  • Chăm chỉ: HS thực hiện đầy đủ các bước kiểm tra cha, thêm dòng, truy vấn và đối chiếu kết quả, không bỏ qua bước xác minh.
  • Trách nhiệm: HS không tắt kiểm tra khóa ngoài hay xóa dữ liệu tùy tiện; khi gặp lỗi phải báo GV và đề xuất cách xử lý đúng quy trình.
  • Trung thực: HS ghi đúng kết quả thực tế của câu lệnh, không sao chép đáp án mà không hiểu lí do; thừa nhận khi kết quả chưa đúng và sửa lại.

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/màn hình chung để trình chiếu bản mẫu dữ liệu và kết quả truy vấn.
  • Phần mềm quản trị cơ sở dữ liệu quan hệ hoặc công cụ SQL mà lớp đang sử dụng, đã nạp sẵn bản mẫu DocGia, Sach, Muon (dữ liệu giả định).
  • Phiếu học tập số 1 (in hoặc chiếu lên màn hình).
  • Học liệu số NeoEdu: neoedu.vn/learn/11/informatics/bai-22-thud-thuc-hanh-cap-nhat-bang-du-lieu-co-tham-chieu (bài giảng, ví dụ và bài tập tương tác để kiểm tra nhanh).

2. Học sinh

  • Máy tính có cài phần mềm quản trị CSDL hoặc công cụ SQL theo hướng dẫn của GV.
  • Vở ghi, bút, giấy nháp để ghi kết quả truy vấn và lập luận.
  • Phiếu học tập số 1 (bản in hoặc đọc trên màn hình chung).

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

Hoạt động 1: Mở đầu · 5 phút

Khởi động: Thêm lượt mượn có kiểm tra mã cha

a) Mục tiêu

HS nhận biết nhiệm vụ của bài thực hành và nhớ lại ý tưởng khóa ngoài: bảng con chỉ được chứa mã đã tồn tại ở bảng cha.

b) Nội dung

GV chiếu bản mẫu dữ liệu gồm DocGia(MaDG, Ten) = (1, An), (2, Binh); Sach(MaSach, Tua) = (11, Vuon cay), (12, Bau troi); Muon(MaMuon, MaDG, MaSach, SoNgay) = (101, 1, 11, 7), (102, 2, 12, 5), (103, 1, 12, 3). Tất cả tên và giao dịch là giả định. Câu hỏi đặt ra: Nếu thêm lượt mượn 104 cho MaDG = 2 và MaSach = 11, SoNgay = 4 thì cần kiểm tra điều gì trước khi thêm?

c) Sản phẩm

HS nêu được: cần kiểm tra MaDG = 2 có tồn tại trong DocGia và MaSach = 11 có tồn tại trong Sach; nếu có mã chưa tồn tại thì không được thêm lượt mượn vào bảng Muon.

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

  1. Giáo viên

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

    GV giới thiệu mục tiêu buổi học và chiếu bản mẫu dữ liệu. GV đặt câu hỏi: "Trước khi thêm dòng 104 vào bảng Muon, em cần kiểm tra điều gì?"

    Học sinh

    HS quan sát bản mẫu, đọc câu hỏi và suy nghĩ cá nhân khoảng 30 giây.

  2. Giáo viên

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

    GV yêu cầu HS ghi nhanh vào giấy nháp hai mã cần xác nhận và ghi lí do.

    Học sinh

    HS ghi: kiểm tra MaDG = 2 trong DocGia và MaSach = 11 trong Sach vì khóa ngoài của Muon phải trỏ tới mã đã có ở bảng cha.

  3. Giáo viên

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

    GV mời 2 đến 3 HS trình bày. GV hỏi thêm: "Nếu MaDG = 9 chưa có trong DocGia thì sao?"

    Học sinh

    HS trả lời dự kiến: "Không thêm được; phải tạo người đọc 9 hợp lệ trước rồi mới thêm lượt mượn."

  4. Giáo viên

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

    GV chốt: bảng con chỉ chứa khóa ngoài đã tồn tại ở bảng cha; trước khi thêm phải xác nhận mã cha, không được tắt kiểm tra khóa để "cho qua".

    Học sinh

    HS ghi tiêu đề bài vào vở và ghi ý chính của GV.

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

Hệ thống hoá: Khóa ngoài, thêm, truy vấn và xóa cha

a) Mục tiêu

HS hệ thống hoá các quy tắc khi thêm, sửa, xóa dữ liệu ở bảng con và bảng cha, đồng thời nắm cách đọc kết quả truy vấn theo mã người đọc.

b) Nội dung

HS làm việc theo cặp với nhiệm vụ: (1) Nêu quy trình ba bước: xác nhận mã cha, thêm dòng, truy vấn lượt của người đọc 2; (2) Phân tích: nếu cố xóa DocGia có MaDG = 2 khi còn lượt mượn tham chiếu thì điều gì xảy ra theo quy tắc đã đặt? (chỉ phân tích, không thực hiện trên hệ thật); (3) Nêu vì sao không mặc định xóa dây chuyền (CASCADE) và cần làm gì nếu thật sự phải thay đổi.

c) Sản phẩm

HS hoàn thành sơ đồ ngắn gồm: Quy trình thêm: Xác nhận mã cha 2 và 11 tồn tại → INSERT INTO Muon VALUES (104, 2, 11, 4) → SELECT MaMuon, SoNgay FROM Muon WHERE MaDG = 2 ORDER BY MaMuon. Xóa cha: nếu quy tắc chặn thì thao tác bị từ chối vì còn lượt tham chiếu; không tự xóa các lượt con. Thay đổi chính sách cần thiết kế với người quản trị, không tắt toàn vẹn tham chiếu hoặc xóa dây chuyền tùy tiện.

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

  1. Giáo viên

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

    GV chia lớp thành các cặp, phát nhiệm vụ trên màn hình. GV nhắc: chỉ phân tích, không chạy lệnh xóa trên hệ thống.

    Học sinh

    HS nhận nhiệm vụ, đọc đề và phân công người viết, người kiểm tra trong cặp.

  2. Giáo viên

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

    GV đi quanh lớp, gợi ý nếu HS nhầm lẫn giữa bảng cha và bảng con.

    Học sinh

    HS thảo luận và ghi sơ đồ. Dự kiến HS trả lời: "Bảng cha là DocGia, Sach vì chứa khóa được tham chiếu; bảng con là Muon vì chứa khóa ngoài MaDG, MaSach."

  3. Giáo viên

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

    GV mời một cặp trình bày quy trình, một cặp trình bày tình huống xóa cha.

    Học sinh

    HS trình bày. Dự kiến: "Xóa DocGia 2 bị chặn vì còn lượt 102 và 104; hệ thống không tự xóa 102 và 104 nếu không có chính sách CASCADE được thiết kế và phê duyệt."

  4. Giáo viên

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

    GV chốt: thêm con cần có cha; xóa cha đang được tham chiếu có thể bị chặn theo quy tắc; không mặc định CASCADE; thay đổi phải có chính sách và giao dịch do người quản trị quyết định.

    Học sinh

    HS ghi sơ đồ đã hoàn thiện vào vở.

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

Thực hành: Thêm lượt và kiểm tra kết quả

a) Mục tiêu

HS viết đúng câu lệnh INSERT và SELECT, đối chiếu kết quả truy vấn với đáp án và giải thích được số liệu.

b) Nội dung

HS thực hiện trên bản mẫu gốc (chưa thêm dòng nào): (1) Thêm lượt 104, MaDG = 2, MaSach = 11, SoNgay = 4 vào bảng Muon; (2) Truy vấn lượt của người đọc 2 theo MaMuon. Sau đó HS làm Phiếu học tập số 1 để tự kiểm tra.

c) Sản phẩm

Đáp án mong đợi:

  • Câu lệnh thêm: INSERT INTO Muon VALUES (104,2,11,4);
  • Câu lệnh truy vấn: SELECT MaMuon,SoNgay FROM Muon WHERE MaDG=2 ORDER BY MaMuon;
  • Kết quả: (102, 5), (104, 4), gồm 2 lượt.
  • Tổng số ngày của người đọc 2 sau khi thêm: 5 + 4 = 9 ngày.
  • Tổng số lượt của hệ mẫu sau khi thêm: 3 lượt gốc + 1 = 4 lượt.
    HS kiểm tra và ghi nhận: nếu MaDG = 9 chưa có trong DocGia thì không thêm lượt; phải xác minh và tạo người hợp lệ hoặc sửa nguồn đúng.

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 đề bài và Phiếu học tập số 1, nhắc HS chỉ chạy các lệnh được nêu, chỉ thực hiện trên bản mẫu.

    Học sinh

    HS đọc đề, chuẩn bị máy tính và mở bản mẫu dữ liệu.

  2. Giáo viên

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

    GV theo dõi, nhắc HS kiểm tra mã cha trước khi chạy INSERT.

    Học sinh

    HS chạy lệnh kiểm tra mã (SELECT MaDG FROM DocGia WHERE MaDG=2; SELECT MaSach FROM Sach WHERE MaSach=11;), chạy INSERT rồi chạy SELECT. Dự kiến kết quả: (102, 5), (104, 4).

  3. Giáo viên

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

    GV mời 2 HS đọc câu lệnh và kết quả, yêu cầu cả lớp đối chiếu. GV hỏi: "Vì sao tổng ngày là 9?"

    Học sinh

    HS trả lời: "Vì 5 + 4 = 9 ngày." HS khác nhận xét nếu có lệnh viết sai thứ tự cột hoặc thiếu ORDER BY.

  4. Giáo viên

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

    GV nhận xét, chốt đáp án và lưu ý: mỗi lần làm lại phải dùng bản mẫu gốc, không kế thừa dữ liệu của bài khác.

    Học sinh

    HS sửa lại bài nếu sai và ghi đáp án đúng vào Phiếu học tập số 1.

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

Củng cố: Đúng sai, lựa chọn và tình huống đổi tên

a) Mục tiêu

HS vận dụng quy tắc khóa ngoài để nhận biết đúng sai, chọn phương án xử lý an toàn và phân biệt đổi tên với đổi mã.

b) Nội dung

HS làm các câu sau:
(1) Mọi khóa ngoài tự động xóa dây chuyền dù không quy định. Đúng hay sai?
(2) Thêm MaDG = 9 chưa có thì làm gì? A. Xác minh và tạo người hợp lệ trước hoặc sửa nguồn đúng; B. Tắt kiểm tra khóa; C. Dùng tên giả; D. Bỏ mã.
(3) Nếu muốn đổi tên Binh thành Bình thì có cần sửa MaDG trong các lượt không? Viết câu lệnh đổi tên dự kiến và giải thích.

c) Sản phẩm

Đáp án mong đợi:
(1) Sai: việc xóa dây chuyền phụ thuộc chính sách hoặc thao tác được hỗ trợ, không tự động xảy ra.
(2) Đáp án A: giữ toàn vẹn tham chiếu.
(3) Không cần sửa MaDG. Câu lệnh dự kiến: UPDATE DocGia SET Ten='Bình' WHERE MaDG=2; chỉ đổi tên, vẫn giữ mã 2 nên các lượt 102 và 104 vẫn liên kết đúng. Cần xác minh đúng người trước khi sửa tên.

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 ba câu hỏi, yêu cầu HS làm cá nhân 3 phút rồi so sánh trong cặp.

    Học sinh

    HS đọc câu hỏi và ghi đáp án cá nhân.

  2. Giáo viên

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

    GV mở rộng: "Nếu chỉ đổi tên thì khóa nào thay đổi?"

    Học sinh

    HS thảo luận trong cặp. Dự kiến: "Chỉ cột Ten thay đổi, khóa MaDG giữ nguyên."

  3. Giáo viên

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

    GV mời HS trình bày đáp án từng câu và lí do.

    Học sinh

    HS trả lời: câu 1 là Sai; câu 2 chọn A; câu 3 không cần sửa MaDG vì khóa không đổi khi chỉ đổi tên.

  4. Giáo viên

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

    GV chốt: không đổi khóa vì đổi dấu hay sửa tên; mọi thay đổi dữ liệu phải có căn cứ xác minh.

    Học sinh

    HS ghi đáp án đúng và lí do vào vở.

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

Vận dụng: Kiểm tra một cơ sở dữ liệu thực tế nhỏ

a) Mục tiêu

HS áp dụng quy trình kiểm tra khóa ngoài vào một tình huống quản lí mượn trả trong lớp hoặc thư viện trường (dữ liệu giả định).

b) Nội dung

HS nhận bảng mẫu mới: DocGia(MaDG, Ten) gồm 3 người đọc; Sach(MaSach, Tua) gồm 3 cuốn; Muon(MaMuon, MaDG, MaSach, SoNgay) gồm 3 lượt. Nhiệm vụ: (1) Viết quy trình 3 bước để thêm một lượt mới cho người đọc 3 với cuốn sách 12 và SoNgay = 6; (2) Nêu hai phương án xử lý khi xóa người đọc đang còn lượt mượn và giải thích phương án an toàn; (3) Lập lại truy vấn tổng số ngày mượn của một người đọc. Bài này có thể giao về nhà nếu hết giờ.

c) Sản phẩm

HS nộp bản ngắn gồm: quy trình 3 bước (xác nhận mã cha 3 và 12; INSERT; SELECT có điều kiện MaDG = 3); hai phương án xử lý khi xóa cha (chặn xóa hoặc thiết kế chính sách có phê duyệt của người quản trị, không tự xóa lượt con); câu lệnh truy vấn tổng ngày mượn, ví dụ SELECT SUM(SoNgay) FROM Muon WHERE MaDG=3; và kết quả tương ứng với dữ liệu của bảng mới.

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 bảng mẫu mới và nêu rõ đây là dữ liệu giả định, không dùng dữ liệu cá nhân thật.

    Học sinh

    HS nhận đề, đọc yêu cầu và ghi nhanh các bước dự kiến.

  2. Giáo viên

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

    GV gợi ý: "Hãy nhớ kiểm tra mã cha trước khi thêm."

    Học sinh

    HS làm bài theo cặp hoặc cá nhân trong khoảng 7 phút, dùng máy tính để kiểm tra kết quả. Dự kiến HS đưa ra: tổng ngày của người đọc 3 là 6 cộng số ngày các lượt cũ, cần đối chiếu với dữ liệu.

  3. Giáo viên

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

    GV mời 1 đến 2 HS trình bày quy trình và đáp án, cả lớp đối chiếu.

    Học sinh

    HS trình bày, nhận xét và sửa theo góp ý của bạn.

  4. Giáo viên

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

    GV chốt lại quy trình thêm, kiểm tra và xử lý xóa cha; nhắc HS hoàn thiện bài ở nhà và đối chiếu với bài tương tác trên trang NeoEdu.

    Học sinh

    HS ghi quy trình chuẩn vào vở và nhận nhiệm vụ về nhà nếu cần.

Phiếu học tập

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

Dữ liệu mẫu (giả định): DocGia(MaDG, Ten) = (1, An), (2, Binh); Sach(MaSach, Tua) = (11, Vuon cay), (12, Bau troi); Muon(MaMuon, MaDG, MaSach, SoNgay) = (101, 1, 11, 7), (102, 2, 12, 5), (103, 1, 12, 3).

  • Câu 1: Trước khi thêm lượt 104, em cần xác nhận những mã nào tồn tại? Ghi câu lệnh kiểm tra.
  • Câu 2: Viết câu lệnh INSERT thêm lượt 104 cho MaDG = 2, MaSach = 11, SoNgay = 4.
  • Câu 3: Viết câu lệnh truy vấn các lượt của người đọc 2, sắp xếp theo MaMuon.
  • Câu 4: Điền kết quả truy vấn:
    • Lượt 1: (MaMuon, SoNgay) = ...
    • Lượt 2: (MaMuon, SoNgay) = ...
  • Câu 5: Tổng số ngày mượn của người đọc 2 sau khi thêm là bao nhiêu? Tổng số lượt của cả hệ thống là bao nhiêu?
  • Câu 6: Đúng hay sai: Mọi khóa ngoài tự động xóa dây chuyền dù không quy định.
  • Câu 7: Nếu thêm MaDG = 9 chưa có, em chọn phương án nào? A. Xác minh và tạo người hợp lệ trước hoặc sửa nguồn đúng; B. Tắt kiểm tra khóa; C. Dùng tên giả; D. Bỏ mã.
  • Câu 8: Muốn đổi tên Binh thành Bình có cần sửa MaDG không? Giải thích.

Hướng dẫn về nhà

  • Hoàn thiện bài vận dụng: viết quy trình thêm lượt mới cho người đọc 3 với cuốn sách 12 và SoNgay = 6 trên bảng mẫu mới; nêu hai phương án khi xóa người đọc đang còn lượt mượn.
  • Viết lại hai câu lệnh INSERT và SELECT của bài trên giấy, đối chiếu với kết quả (102, 5), (104, 4) và tổng 9 ngày.
  • Truy cập trang bài học số NeoEdu (neoedu.vn/learn/11/informatics/bai-22-thud-thuc-hanh-cap-nhat-bang-du-lieu-co-tham-chieu), xem lại ví dụ và làm bài tập tương tác để tự kiểm tra.
  • Ghi nhớ: dữ liệu bảng con phải giữ liên hệ khóa ngoài khi thêm, sửa, xóa; mọi thay đổi xóa cha cần chính sách và sự phối hợp với người quản trị.

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.