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 19 · THUD. Thực hành tạo lập cơ sở dữ liệu và các bảng

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 lệnh CREATE DATABASE tạo cơ sở dữ liệu riêng và lệnh USE chọn cơ sở dữ liệu hiện hành trong MySQL.
  • Giải thích được vai trò của PRIMARY KEY (giá trị duy nhất, không NULL) và NOT NULL (không cho giá trị NULL, khác với xâu rỗng).
  • Vận dụng được lệnh CREATE TABLE để tạo hai bảng cha DocGia và Sach theo từ điển dữ liệu, kiểm tra cấu trúc trước khi nhập dữ liệu.
  • Nêu được vì sao không tự ý dùng DROP để sửa lỗi khi chưa biết phạm vi dữ liệu.

2. Năng lực

a) Năng lực chung

  • Tự chủ và tự học: HS chủ động thực hiện đúng quy trình tạo CSDL và bảng, tự kiểm tra cấu trúc bằng giao diện HeidiSQL và đối chiếu với phiếu học tập.
  • Giao tiếp và hợp tác: HS làm việc nhóm 4 và cặp đôi, trao đổi, nhận xét sản phẩm của nhóm bạn bằng thuật ngữ đúng (khóa chính, kiểu dữ liệu, ràng buộc).
  • Giải quyết vấn đề và sáng tạo: HS đề xuất cách xử lí khi gặp lỗi bảng đã tồn tại mà không làm mất dữ liệu của người khác.

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: sử dụng HeidiSQL (cửa sổ SQL hoặc giao diện) để tạo CSDL, tạo bảng và mở cấu trúc bảng kiểm tra.
  • Ứng xử phù hợp trong môi trường số: chỉ thao tác trên môi trường thực hành được cấp, không tác động đến CSDL hệ thống hay dữ liệu của bài khác.
  • Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông: phát hiện và xử lí lỗi khi chạy lệnh CREATE TABLE trên phần mềm bằng quy trình kiểm tra trước khi thay đổi.
  • Ứng dụng công nghệ thông tin và truyền thông trong học và tự học: sử dụng học liệu số NeoEdu để tự kiểm tra kiến thức sau giờ học.

3. Phẩm chất

  • Trách nhiệm: thao tác đúng phạm vi được giao, không xóa tệp hoặc bảng của người khác khi chưa được GV xác nhận.
  • Trung thực: ghi đúng kết quả kiểm tra cấu trúc và số hàng (0 hàng) của từng bảng, không ghi kết quả thay cho việc thực hành.
  • Chăm chỉ: hoàn thành đủ các bước của quy trình và tự hoàn thiện mô tả cấu trúc cơ sở dữ liệu ở nhà.

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

1. Giáo viên

  • Máy tính kết nối máy chiếu, có cài MySQL và HeidiSQL; tài khoản thực hành được cấp quyền tạo CSDL (nếu không có quyền thì sử dụng CSDL mẫu được cấp).
  • Slide tình huống mở đầu, sơ đồ quy trình 4 bước: chọn môi trường riêng, tạo CSDL và chọn, tạo bảng, kiểm tra trước khi nhập.
  • Phiếu học tập số 1 và Phiếu học tập số 2 (in hoặc chiếu), bộ thẻ A, B, C, D và thẻ Đúng/Sai cho mỗi HS.
  • 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-19-thud-thuc-hanh-tao-lap-co-so-du-lieu-va-cac-bang.

2. Học sinh

  • Máy tính có HeidiSQL, tài khoản thực hành được cấp (làm việc theo nhóm 4 máy hoặc cặp đôi).
  • Vở ghi, bút, Phiếu học tập số 1 và Phiếu học tập số 2 do GV phát.
  • Thiết bị cá nhân (điện thoại hoặc máy tính bảng) để truy cập học liệu NeoEdu khi GV hướng dẫn.

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

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

Tình huống quản lí thư viện trường

a) Mục tiêu

Nhận biết sự cần thiết của khóa chính để định danh từng độc giả, từng cuốn sách và xác định hai bảng cha cần tạo cho cơ sở dữ liệu thư viện.

b) Nội dung

GV đưa tình huống: thư viện trường cần lưu thông tin độc giả và sách đang cho mượn. HS trả lời hai câu hỏi: (1) Với mỗi độc giả và mỗi cuốn sách, cần lưu những thông tin nào? (2) Thông tin nào giúp phân biệt hai độc giả trùng tên? HS nêu tên hai bảng cha và cột định danh dự kiến.

c) Sản phẩm

Dự kiến HS trả lời: bảng DocGia có mã độc giả MaDG và tên Ten; bảng Sach có mã sách MaSach và tựa Tua. Kết luận ban đầu: mỗi bảng cần một cột khóa chính để nhận diện từng bản ghi, vì tên có thể trùng nhau; các cột bắt buộc có giá trị không để trống.

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

  1. Giáo viên

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

    Chiếu tình huống thư viện trường và nêu hai câu hỏi trên slide; yêu cầu HS suy nghĩ 1 phút trước khi thảo luận.

    Học sinh

    HS đọc tình huống, suy nghĩ cá nhân và ghi nhanh ý kiến vào vở.

  2. Giáo viên

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

    Yêu cầu HS trao đổi theo cặp đôi trong 2 phút, thống nhất tên cột định danh cho hai bảng; GV đi quan sát và gợi ý khi cặp đôi bế tắc.

    Học sinh

    Cặp đôi thảo luận. Dự kiến: Mã độc giả và mã sách là duy nhất; tên có thể trùng nên không dùng làm khóa.

  3. Giáo viên

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

    Mời 2 cặp đôi trình bày; ghi tên cột lên bảng và hỏi thêm: Nếu hai cuốn sách cùng tựa thì điều gì xảy ra?

    Học sinh

    Đại diện cặp đôi nêu đáp án. Dự kiến: Hai cuốn cùng tựa vẫn cần khác mã nên phải dùng mã sách làm khóa.

  4. Giáo viên

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

    Chốt: mỗi bảng cần khóa chính để nhận diện bản ghi; giới thiệu mục tiêu bài thực hành tạo CSDL thuvien_mau và hai bảng DocGia, Sach.

    Học sinh

    HS ghi tên bài và mục tiêu buổi thực hành vào vở.

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

Tạo cơ sở dữ liệu riêng và chọn để làm việc

a) Mục tiêu

Thực hiện được lệnh CREATE DATABASE và USE trong môi trường thực hành được cấp, phân biệt vai trò của hai lệnh.

b) Nội dung

Nhóm 4 HS mở HeidiSQL, chọn môi trường thực hành được cấp, mở cửa sổ SQL và chạy lệnh tạo CSDL thuvien_mau, sau đó chạy USE thuvien_mau. Các nhóm trả lời: (1) Lệnh nào tạo cơ sở dữ liệu? (2) Lệnh nào chọn cơ sở dữ liệu để các lệnh sau tác động vào đó? (3) Nếu nhóm không có quyền tạo CSDL thì làm gì?

c) Sản phẩm

Lệnh cần chạy:\nCREATE DATABASE thuvien_mau;\nUSE thuvien_mau;\nKết luận: CREATE DATABASE tạo một cơ sở dữ liệu riêng; USE chọn cơ sở dữ liệu hiện hành để các lệnh tạo bảng được áp dụng đúng nơi. Nếu không có quyền tạo, nhóm dùng CSDL mẫu do GV cấp và báo lại GV.

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

  1. Giáo viên

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

    Nêu nhiệm vụ: tạo CSDL thuvien_mau và chọn nó; nhắc chỉ thao tác trên môi trường thực hành được cấp, không mở hay sửa CSDL khác.

    Học sinh

    Nhóm trưởng nhận phiếu nhiệm vụ, các thành viên đọc lại yêu cầu.

  2. Giáo viên

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

    Hướng dẫn nhanh cách mở cửa sổ SQL trong HeidiSQL; theo dõi nhóm chạy lệnh, kiểm tra nhóm nào gặp lỗi quyền truy cập.

    Học sinh

    Nhóm chạy CREATE DATABASE và USE. Dự kiến: Nhóm báo lỗi không có quyền tạo, chuyển sang dùng CSDL mẫu được GV cấp rồi chạy USE.

  3. Giáo viên

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

    Gọi 2 nhóm trình bày kết quả và trả lời câu hỏi (2), (3); yêu cầu một nhóm giải thích vì sao phải có USE.

    Học sinh

    Đại diện nhóm trả lời. Dự kiến: CREATE DATABASE tạo CSDL; USE chọn CSDL hiện hành, nếu không chọn thì lệnh tạo bảng không biết đặt ở đâu.

  4. Giáo viên

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

    Chốt kiến thức: CREATE DATABASE tạo CSDL riêng, USE chọn CSDL hiện hành; quy tắc dùng môi trường riêng hoặc CSDL được cấp để không tác động hệ thống thật.

    Học sinh

    HS ghi lại hai lệnh và vai trò của chúng vào vở.

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

Tạo hai bảng cha và kiểm tra khóa, kiểu dữ liệu

a) Mục tiêu

Viết được lệnh CREATE TABLE có PRIMARY KEY, NOT NULL và kiểu dữ liệu INT, VARCHAR theo từ điển dữ liệu; kiểm tra cấu trúc bằng giao diện trước khi nhập dữ liệu.

b) Nội dung

Nhóm làm theo Phiếu học tập số 1: chạy hai lệnh CREATE TABLE cho bảng DocGia và bảng Sach; mở cấu trúc từng bảng trên giao diện HeidiSQL và đối chiếu tên cột, kiểu, khóa chính, NOT NULL với phiếu. Trả lời: (1) Cột nào là khóa chính? (2) Cột nào không được để NULL? (3) Vì sao hai bảng hiện có 0 hàng?

c) Sản phẩm

Lệnh đúng:\nCREATE TABLE DocGia (MaDG INT PRIMARY KEY, Ten VARCHAR(80) NOT NULL);\nCREATE TABLE Sach (MaSach INT PRIMARY KEY, Tua VARCHAR(120) NOT NULL);\nKết luận: MaDG và MaSach là khóa chính, giá trị duy nhất và không NULL; Ten và Tua không được NULL, nhưng NOT NULL không tự cấm xâu rỗng. Tạo cấu trúc không tự thêm dữ liệu nên DocGia và Sach đều có 0 hàng.

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

  1. Giáo viên

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

    Phát Phiếu học tập số 1, nêu yêu cầu: chạy lệnh theo từ điển, mở giao diện kiểm tra từng cột trước khi nhập dữ liệu.

    Học sinh

    Nhóm đọc từ điển dữ liệu trên phiếu và xác định kiểu, khóa của từng cột.

  2. Giáo viên

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

    Quan sát nhóm, nhắc lỗi thường gặp: quên dấu chấm phẩy, đặt sai kiểu dữ liệu; yêu cầu nhóm mở cấu trúc bảng để so sánh với phiếu.

    Học sinh

    Nhóm chạy hai CREATE TABLE, mở cấu trúc và điền kết quả vào phiếu. Dự kiến: Nhóm thấy cột MaDG, MaSach có khóa PRIMARY KEY; Ten, Tua có NOT NULL; số hàng là 0.

  3. Giáo viên

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

    Mời 2 nhóm trình bày cấu trúc hai bảng và trả lời câu hỏi (1), (2), (3); hỏi thêm: Có nên nhập dữ liệu ngay khi chưa kiểm tra cấu trúc không?

    Học sinh

    Đại diện nhóm trình bày. Dự kiến: Khóa chính là MaDG và MaSach; cột không NULL là Ten và Tua; 0 hàng vì chưa INSERT. Không nên nhập ngay vì sai cấu trúc sẽ khó sửa.

  4. Giáo viên

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

    Chốt: PRIMARY KEY yêu cầu giá trị duy nhất và không NULL; NOT NULL khác với xâu rỗng; kiểm tra cấu trúc trước khi nhập là bước bắt buộc trong quy trình.

    Học sinh

    HS hoàn thiện phần đối chiếu trên Phiếu học tập số 1 và ghi kết luận vào vở.

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

Trắc nghiệm nhanh và đúng sai

a) Mục tiêu

Củng cố kiến thức về CSDL, khóa chính, NOT NULL, lệnh USE và an toàn khi thao tác với cơ sở dữ liệu.

b) Nội dung

GV đọc lần lượt các câu hỏi, HS giơ thẻ Đúng/Sai hoặc A, B, C, D. Đề: (1) Bài này tạo CSDL và bảng cha mới trong môi trường riêng; chưa INSERT nên DocGia và Sach đều có 0 hàng, không dùng bản ghi của bài khác. (2) Hai bảng mới chưa INSERT có tổng mấy hàng? (3) PRIMARY KEY đặt quy tắc gì? A. Duy nhất và không NULL; B. Cho mọi giá trị trùng; C. Tự tạo bản ghi thật; D. Chỉ đổi màu. (4) NOT NULL tự bảo đảm chuỗi không rỗng. (5) Lệnh chọn CSDL trong MySQL là gì? A. USE; B. SELECT tên_tệp; C. IMPORT luôn; D. JOIN. (6) Không nên tự chạy DROP khi chưa biết phạm vi dữ liệu. Sau đó HS làm bài tương tác trên trang NeoEdu để tự kiểm tra.

c) Sản phẩm

Đáp án: (1) Đúng. (2) 0. (3) A. (4) Sai, vì NULL khác xâu có độ dài 0. (5) A, USE chọn CSDL hiện hành. (6) Đúng, vì DROP có thể xóa cấu trúc và dữ liệu. Thứ tự tạo bảng: chọn môi trường riêng, tạo CSDL hoặc chọn CSDL được cấp, tạo cấu trúc bảng, kiểm tra rồi mới nhập.

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

  1. Giáo viên

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

    Giải thích cách giơ thẻ; nêu luật: trả lời nhanh, đúng được một điểm, sai không bị trừ điểm nhưng phải giải thích.

    Học sinh

    HS chuẩn bị thẻ Đúng/Sai và thẻ A, B, C, D trên bàn.

  2. Giáo viên

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

    Đọc từng câu hỏi, đếm ngược 5 giây; ghi nhận số HS trả lời đúng ở mỗi câu.

    Học sinh

    HS giơ thẻ đáp án. Dự kiến: Phần lớn HS chọn đúng câu (3) và (5); một số HS nhầm câu (4) vì cho rằng NOT NULL cấm xâu rỗng.

  3. Giáo viên

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

    Yêu cầu HS giải thích câu (4) và câu (6); hướng dẫn HS vào trang NeoEdu làm bài tương tác để tự kiểm tra thêm.

    Học sinh

    HS giải thích: NULL là không có giá trị, còn xâu rỗng vẫn là một giá trị. HS làm bài tương tác trên trang NeoEdu trong vài phút.

  4. Giáo viên

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

    Chốt đáp án và nhấn mạnh: không dùng DROP để sửa lỗi khi chưa kiểm tra; quy trình đúng là kiểm tra trước, nhập sau.

    Học sinh

    HS đối chiếu đáp án, sửa lỗi sai trong vở.

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

Xử lí tình huống bảng đã tồn tại và mô tả cấu trúc

a) Mục tiêu

Vận dụng quy trình kiểm tra trước khi thay đổi để xử lí tình huống bảng đã tồn tại, không xóa khi chưa biết phạm vi dữ liệu; lập mô tả cấu trúc CSDL thuvien_mau.

b) Nội dung

Tình huống: buổi học sau, HS chạy lại CREATE TABLE DocGia và nhận thông báo bảng đã tồn tại. Cá nhân HS nêu ba việc cần kiểm tra và đề xuất cách xử lí (không dùng DROP ngay). Đồng thời HS viết mô tả cấu trúc gồm tên bảng, tên cột, kiểu, khóa chính, NOT NULL và số hàng hiện tại (0). Bài tập 8 và 9 được dùng làm tiêu chí tự đánh giá.

c) Sản phẩm

Ba việc cần kiểm tra: đang chọn đúng CSDL thuvien_mau; xem cấu trúc và số hàng của bảng đã có; hỏi GV xem nên tái sử dụng hay đặt tên khác. Không xóa tệp hoặc bảng của người khác. Mô tả cấu trúc đủ hai bảng với cột, kiểu, khóa chính, NOT NULL và ghi 0 hàng. Thang chấm bài 8: môi trường riêng hoặc CSDL được cấp 0,2; hai CREATE TABLE đúng 0,4; PRIMARY KEY và NOT NULL đúng 0,25; ghi nhận 0 hàng và phân biệt xâu rỗng 0,15. Bài 9: kiểm tra đúng 0,6; bảo toàn quyền và dữ liệu 0,4.

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

  1. Giáo viên

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

    Chiếu tình huống bảng đã tồn tại và yêu cầu HS nêu ba việc cần kiểm tra; nhắc HS ghi mô tả cấu trúc vào vở làm sản phẩm cuối giờ.

    Học sinh

    HS đọc tình huống, suy nghĩ cá nhân trong 2 phút.

  2. Giáo viên

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

    Đi quanh lớp kiểm tra mô tả cấu trúc của HS, gợi ý khi HS định dùng DROP.

    Học sinh

    HS viết ba việc cần kiểm tra và mô tả cấu trúc hai bảng. Dự kiến: Kiểm tra CSDL đang chọn, xem cấu trúc và số hàng, hỏi GV trước khi thay đổi.

  3. Giáo viên

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

    Mời 2 HS trình bày đề xuất xử lí và mô tả cấu trúc; hỏi cả lớp: Nếu bảng đã có 500 dòng của lớp khác thì có được xóa không?

    Học sinh

    HS trình bày. Dự kiến: Không được xóa; cần báo GV và xác nhận tái sử dụng hoặc đổi tên bảng.

  4. Giáo viên

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

    Nhận xét sản phẩm, nhấn mạnh nguyên tắc: kiểm tra, bảo toàn dữ liệu, xin xác nhận trước khi thay đổi; giao bài tập về nhà.

    Học sinh

    HS hoàn thiện mô tả cấu trúc và ghi nhận nguyên tắc vào vở.

Phiếu học tập

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

Nhiệm vụ: Tạo CSDL thuvien_mau và hai bảng cha DocGia, Sach. Chỉ thao tác trên môi trường thực hành được cấp.

  • Bước 1: Chạy lệnh tạo CSDL và lệnh chọn CSDL: CREATE DATABASE thuvien_mau; USE thuvien_mau;
  • Bước 2: Chạy hai lệnh CREATE TABLE theo từ điển dữ liệu dưới đây.
  • Bước 3: Mở cấu trúc từng bảng trên HeidiSQL, điền bảng đối chiếu.

Từ điển dữ liệu:

  • DocGia: MaDG kiểu INT, khóa chính; Ten kiểu VARCHAR(80), không NULL.
  • Sach: MaSach kiểu INT, khóa chính; Tua kiểu VARCHAR(120), không NULL.

Bảng cần điền (ghi Đúng hoặc Sai với từng ô đối chiếu):

  • Bảng DocGia: tên cột đúng? kiểu đúng? khóa chính đúng? NOT NULL đúng? số hàng hiện tại là bao nhiêu?
  • Bảng Sach: tên cột đúng? kiểu đúng? khóa chính đúng? NOT NULL đúng? số hàng hiện tại là bao nhiêu?

Câu hỏi kết luận:

  • Vì sao MaDG và MaSach phải là khóa chính?
  • NOT NULL có cấm xâu rỗng không? Vì sao?
  • Vì sao hai bảng hiện có 0 hàng?

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

Tự kiểm tra kiến thức (đánh dấu Đúng hoặc Sai, sau đó chọn đáp án khi có A, B, C, D):

  • Bài này tạo CSDL và bảng cha mới trong môi trường riêng; chưa INSERT nên mỗi bảng có 0 hàng.
  • Hai bảng mới chưa INSERT có tổng số hàng là: A. 1; B. 2; C. 0; D. 4.
  • PRIMARY KEY đặt quy tắc: A. Duy nhất và không NULL; B. Cho mọi giá trị trùng; C. Tự tạo bản ghi thật; D. Chỉ đổi màu.
  • NOT NULL tự bảo đảm chuỗi không rỗng.
  • Lệnh chọn CSDL trong MySQL là: A. USE; B. SELECT tên_tệp; C. IMPORT luôn; D. JOIN.
  • Không nên tự chạy DROP khi chưa biết phạm vi dữ liệu.
  • Thứ tự đúng: chọn môi trường riêng; tạo hoặc chọn CSDL được cấp; tạo cấu trúc bảng; kiểm tra rồi mới nhập dữ liệu.

Hướng dẫn về nhà

  • Hoàn thiện mô tả cấu trúc CSDL thuvien_mau trên một trang giấy: tên bảng, tên cột, kiểu dữ liệu, khóa chính, cột NOT NULL và số hàng hiện tại (0 hàng); đối chiếu lại với từ điển dữ liệu của bài.
  • Trả lời lại hai câu hỏi: Vì sao không dùng DROP để sửa lỗi khi chưa biết có dữ liệu? Nếu gặp thông báo bảng đã tồn tại, em sẽ kiểm tra những gì trước khi xử lí?
  • Làm lại bài tập tương tác trên trang NeoEdu (neoedu.vn/learn/11/informatics/bai-19-thud-thuc-hanh-tao-lap-co-so-du-lieu-va-cac-bang) để tự kiểm tra; ghi lại câu sai và giải thích lí do.
  • Chuẩn bị: đọc trước phần Hiểu cách hoạt động và chuẩn bị câu hỏi về lệnh INSERT cho tiết học sau (chỉ đọc, chưa thực hành).

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.