I. Mục tiêu bài học
- Hiểu cách nhập và cập nhật dữ liệu cho bảng có khóa ngoại (trường tham chiếu) đến khóa chính của bảng khác.
- Nhận biết cách HeidiSQL/MySQL kiểm soát toàn vẹn tham chiếu khi thêm, sửa, xóa dữ liệu.
Khóa ngoại
Tham chiếu
Toàn vẹn dữ liệu
HeidiSQL
MySQL
II. Kiến thức cốt lõi: cập nhật bảng có tham chiếu
- Với bảng có khóa ngoại, giá trị ở trường khóa ngoại bắt buộc phải tồn tại trong trường khóa chính của bảng được tham chiếu.
- Khi thao tác xóa hoặc sửa có thể làm “đứt liên kết” tham chiếu, hệ QTCSDL sẽ ngăn chặn để đảm bảo tính toàn vẹn dữ liệu (báo lỗi).
Ghi nhớ: Khóa ngoại chỉ nhận giá trị hợp lệ từ bảng được tham chiếu. Nếu không, thao tác cập nhật sẽ bị từ chối.
III. Nhiệm vụ 1: Cập nhật bảng bannhac
Bảng bannhac gồm các trường: idBannhac, tenBannhac, idNhacsi (trong đó idNhacsi là khóa ngoại tham chiếu đến idNhacsi của bảng nhacsi).
a) Thêm mới dữ liệu
- Mở bảng
bannhac→ thẻ Dữ liệu. - Nhập
tenBannhac. - Với
idNhacsi: không nhập tùy tiện, chọn từ danh sách vì phải khớpidNhacsitrong bảngnhacsi.
b) Sửa/Cập nhật dữ liệu
- Nháy đúp vào ô dữ liệu cần sửa (tương tự Bài 21).
- Có thể sửa
idNhacsinhưng vẫn phải chọn giá trị hợp lệ (đang tồn tại trongnhacsi).
c) Xóa dữ liệu trong bảng bannhac
- Xóa các dòng bản nhạc như thao tác đã học (tương tự Bài 21).
d) Xóa dữ liệu trong bảng nhacsi (lưu ý quan trọng)
Nếu nhạc sĩ đã được tham chiếu trong
bannhac (đã có bản nhạc dùng idNhacsi đó) thì không thể xóa nhạc sĩ tương ứng trong nhacsi.
- MySQL sẽ chặn và báo lỗi vì việc xóa sẽ làm mất toàn vẹn tham chiếu.
e) Truy xuất dữ liệu trong bảng bannhac
- Sắp xếp theo
idBannhacgiảm dần. - Sắp xếp theo tên bản nhạc.
- Lấy danh sách bản nhạc của một nhạc sĩ cụ thể (ví dụ nhạc sĩ Văn Cao).
IV. Nhiệm vụ 2: Tìm hiểu giao diện ứng dụng quản lí
Quan sát giao diện “Quản lí dữ liệu âm nhạc”:
- Nhập bản nhạc: nhập tên + chọn nhạc sĩ → Nhập.
- Tìm kiếm: nhập từ khóa tên bài hát, có thể chọn nhạc sĩ → Tìm.
- Danh sách bản nhạc hiển thị theo trang; chọn trang để xem.
- Sửa: chọn dòng (radio) → thông tin hiện lên phía trên → sửa → Nhập để lưu.
- Xóa: tick checkbox các dòng → Xóa.
Nhận xét: Giao diện ứng dụng thường hướng theo nghiệp vụ (thao tác hằng ngày), người dùng có thể không cần biết cấu trúc bảng vẫn thao tác được.
V. Luyện tập – Vận dụng
- Luyện tập: Cập nhật dữ liệu bảng
banthuam; truy xuất theo các tiêu chí khác nhau. - Vận dụng: Thực hành cập nhật và truy xuất bảng Quận/Huyện trong CSDL quản lí danh sách Quận/Huyện – Tỉnh/Thành phố.