Tin học 11 · SGK

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

Hình 22.1 Giao diện thêm mới dữ liệu
Hình 22.1 Giao diện thêm mới dữ liệu

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
Hình 22.2 Minh hoạ thao tác nhập dữ liệu

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.

Hình 22.3. Nhập dữ liệu cho trường khoá ngoài
Hình 22.3. Nhập dữ liệu cho trường khoá ngoài

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.

Hình 22.4. Giao diện sửa dữ liệu
Hình 22.4. Giao diện sửa dữ liệu

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.

Hình 22.5. Minh hoạ xoá dữ liệu có tham chiếu
Hình 22.5. Minh hoạ xoá dữ liệu có tham chiếu

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ình 22.7. Giao diện Quản lí danh sách các bản nhạc
Hình 22.7. Giao diện Quản lí danh sách các bản nhạc

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

Nộ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.

SGK bài 22 – trang 105
Trang 105
SGK bài 22 – trang 106
Trang 106
SGK bài 22 – trang 107
Trang 107
SGK bài 22 – trang 108
Trang 108