Bài 22. Thực hành cập nhật dữ liệu có tham chiếu bảng
SAU BÀI HỌC NÀY EM SẼ:
Khi cập nhật một bảng có khoá ngoài, dữ liệu của trường khoá ngoài phải là dữ liệu tham chiếu được đến một trường khoá chính của một bảng tham chiếu. HeidiSQL hỗ trợ kiểm soát điều này như thế nào?
Nhiệm vụ 1. Cập nhật bảng bannhac
Hướng dẫn:
Chọn bảng bannhac, nháy chuột chọn thẻ Dữ liệu, em sẽ thấy bảng dữ liệu có các trường idBannhac, tenBannhac, idNhacsi nhưng chưa có dữ liệu.
a) Thêm mới dữ liệu vào bảng bannhac

Thực hiện nhập dữ liệu.
Trường idBannhac có kiểu INT, AUTO_INCREMENT nên không cần nhập dữ liệu cho trường này. Nháy đúp chuột vào ô ở trường tenBannhac để nhập tên bản nhạc.

Hình 22.2 Minh hoạ thao tác nhập dữ liệu
Trường idNhacsi là trường khoá ngoài, đã được khai báo tham chiếu đến trường idNhacsi của bảng nhacsi, vì vậy để đảm bảo tính nhất quán, giá trị hợp lệ chỉ có thể lấy từ các giá trị của idNhacsi có trong bảng nhacsi. Nháy đúp chuột vào ô nhập trường idNhacsi và chọn tên nhạc sĩ trong hộp danh sách.

b) Sửa chữa, cập nhật dữ liệu trong bảng bannhac
Thao tác sửa chữa dữ liệu trong bảng bannhac nếu phát hiện có sai sót, tương tự như đã được giới thiệu ở Bài 21, chỉ cần nháy đúp chuột vào ô dữ liệu muốn sửa.
Sửa dữ liệu trường idNhacsi ở dòng số 2.

c) Xoá dữ liệu trong bảng bannhac
Thực hiện tương tự các bước ở Bài 21 để xoá các dòng dữ liệu trong bảng bannhac.
d) Xoá dữ liệu trong bảng nhacsi
Chú ý rằng bây giờ bảng bannhac đã có dữ liệu với trường idNhacsi tham chiếu đến trường idNhacsi của bảng nhacsi. Do vậy, ta sẽ không thể tuỳ tiện xoá các dòng của bảng nhacsi. MySQL sẽ kiểm tra và ngăn chặn việc xoá các dòng trong bảng nhacsi mà giá trị trường idNhacsi đã có trong trường idNhacsi của bảng bannhac.
Ví dụ: idNhacsi của nhạc sĩ Văn Cao là 2 đã có trong các bản nhạc Trường ca sông Lô, Tiến về Hà Nội ở bảng bannhac. MySQL sẽ ngăn chặn xoá dòng tương ứng với nhạc sĩ Văn Cao ở bảng nhacsi.

Nếu chọn OK, thông báo lỗi sẽ xuất hiện như Hình 22.6.
Hình 22.6. Thông báo lỗi xoá dữ liệu làm mất tính toàn vẹn dữ liệu
Lưu ý: Hệ QTCSDL chỉ có thể chặn được các lỗi theo lôgic đã được khai báo (ví dụ lôgic tham chiếu khoá ngoài). Nó không thể chặn được các lỗi không liên quan đến lôgic nào. Ví dụ: Chọn tên nhạc sĩ sáng tác bản nhạc Hà Nội niềm tin và hi vọng là Phan Nhân hay Đỗ Nhuận thì không sai về lôgic; nếu các em nhập sai tên bản nhạc, tên người (tên nhạc sĩ, ca sĩ) thì lỗi này sẽ xuất hiện ở tất cả các danh sách kết xuất liên quan như bản nhạc, bản thu âm. Vì vậy người làm việc với CSDL luôn phải có sự cẩn thận, mẫn cán trong công việc của mình.
e) Truy xuất dữ liệu trong bảng bannhac
Việc truy xuất dữ liệu trong bảng bannhac là hoàn toàn tương tự như truy xuất dữ liệu trong bảng nhacsi ở Bài 21.
Nhiệm vụ 2
Hãy tìm hiểu một chức năng của phần mềm ứng dụng Quản lí dữ liệu âm nhạc qua giao diện ở Hình 22.7, so sánh với những kiến thức vừa được học trong bài thực hành và cho nhận xét so sánh. Cách tương tác với giao diện này như sau:

Hướng dẫn:
Ứng dụng Quản lí dữ liệu âm nhạc nói trên là một ứng dụng được thiết kế chuyên biệt cho bài toán quản lí dữ liệu âm nhạc, giao diện được thiết kế hướng vào những nghiệp vụ mà người quản lí thường phải làm hằng ngày (không phải là giao diện hướng vào từng bảng dữ liệu). Tất cả các chức năng nhập mới, sửa chữa, xoá, tìm kiếm được tích hợp vào một giao diện. Theo các em:
LUYỆN TẬP
VẬN DỤNG
Hãy thực hành cập nhật và truy xuất bảng Phường/Xã trong CSDL quản lí danh sách tên các phường/xã, tỉnh/thành phố.
Tài liệu bài học
Bản scan SGK xem ngay trên web · slide và phiếu mở từ Google Drive (cần đăng nhập Google để tải).
Xem nguyên văn trang sách của bài Thực hành cập nhật dữ liệu có tham chiếu bảng ngay dưới đây.
Xem ngay Slide bài giảngBài trình chiếu đã dạy trên lớp (PowerPoint).
Mở Drive Phiếu học tậpPhiếu ghi bài trên lớp của bài Thực hành cập nhật dữ liệu có tham chiếu bảng.
Mở Drive Phiếu thực hànhBài tập thực hành kèm theo bài Thực hành cập nhật dữ liệu có tham chiếu bảng.
Mở Drive Trắc nghiệm12 câu ôn tập bài Thực hành cập nhật dữ liệu có tham chiếu bảng — bấm Kiểm tra để xem đúng/sai ngay.
Làm ngayNội dung SGK · bản scan
Bài Thực hành cập nhật dữ liệu có tham chiếu bảng — trang 105–108 của sách giáo khoa.



