Bài 23. Thực hành xuất dữ liệu qua liên kết các bảng
THỰC HÀNH XUẤT DỮ LIỆU QUA LIÊN KẾT CÁC BẢNG
SAU BÀI HỌC NÀY EM SẼ:
Các bảng có thể có quan hệ với nhau qua tham chiếu khoá ngoài; nhờ vậy có thể xuất dữ liệu từ nhiều bảng theo quan hệ giữa chúng. Việc này sẽ được thực hiện cụ thể như thế nào với SQL?
Hướng dẫn:
bannhac (idBannhac, tenBannhac, idNhacsi, idTheloai)
Trong số các trường này không có trường tenNhacsi. Làm thế nào lập được danh sách các bản nhạc cùng với tên nhạc sĩ sáng tác bản nhạc ấy?
Tên nhạc sĩ nằm trong bảng nhacsi, lưu trữ ở trường tenNhacsi.
nhacsi (idNhacsi, tenNhacsi)
bannhac có khoá ngoài là idNhacsi tham chiếu đến trường khoá chính idNhacsi của nhacsi.
Để truy vấn hai bảng qua liên kết khoá, câu truy vấn SQL với mệnh đề JOIN có cấu trúc như sau:
SELECT danh_sach_ten_truong_cua_2_bang FROM ten_bang_a INNER JOIN ten_bang_b ON ten_bang_a.ten_truong = ten_bang_b.ten_truong [WHERE dieu_kien] [ORDER BY truong];
Ví dụ: Để lấy ra danh sách các bản nhạc gồm tenBannhac, tenNhacsi, dùng câu truy vấn:
SELECT bannhac.tenBannhac, nhacsi.tenNhacsi FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;
Nếu muốn dữ liệu kết xuất có cả trường idNhacsi của bảng nhacsi nhằm có thể đối chiếu một cách tường minh, không khó, chỉ cần đổi tên hai trường (cùng tên) ở hai bảng để phân biệt.
SELECT bannhac.tenBannhac, bannhac.idNhacsi AS idNS_BN, nhacsi.idNhacsi AS idNS_NS, nhacsi.tenNhacsi FROM bannhac INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;

Lưu ý: HeidiSQL có hỗ trợ người dùng khi nhập các câu truy vấn theo các phương thức:

Hãy thực hành
Nhiệm vụ 2. Lập danh sách các bản thu âm với đủ các thông tin idBanthuam, tenBannhac, tenCasi
Hướng dẫn:
Để truy vấn được nhiều hơn hai bảng theo liên kết khoá ngoài, hãy lặp lại mệnh đề JOIN trong câu truy vấn SQL theo cấu trúc như sau:
SELECT danh_sach_ten_truong_cua_3_bang FROM ten_bang_a INNER JOIN ten_bang_b ON ten_bang_a.ten_truong = ten_bang_b.ten_truong INNER JOIN ten_bang_c ON ten_bang_b.ten_truong = ten_bang_c.ten_truong [WHERE dieu_kien] [ORDER BY truong];
Nhiệm vụ 3. Tìm hiểu một chức năng
Qua giao diện trong Hình 23.4, em hãy tìm hiểu một chức năng của ứng dụng Quản lí dữ liệu âm nhạc; so sánh với những kiến thức vừa được học và cho nhận xét so sánh.
Cách tương tác với giao diện này tương tự như với giao diện Quản lí danh sách các bản nhạc ở Bài 22 (Hình 22.7), chỉ khác ở chỗ khi nhập bản thu âm chỉ có thể chọn tên bản nhạc, tên ca sĩ từ hộp danh sách với những tên đã có trong CSDL.

Danh sách các bản thu âm có đầy đủ các thông tin tường minh: tên bản nhạc, tên nhạc sĩ và tên ca sĩ được thể hiện.
Theo các em:
LUYỆN TẬP
Lấy danh sách các bản thu âm với đầy đủ các thông tin: idBanthuam, tenBannhac, tenNhacsi, tenCasi.
VẬN DỤNG
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 xuất dữ liệu qua liên kết các 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 xuất dữ liệu qua liên kết các 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 xuất dữ liệu qua liên kết các bảng.
Mở Drive Trắc nghiệm12 câu ôn tập bài Thực hành xuất dữ liệu qua liên kết các 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 xuất dữ liệu qua liên kết các bảng — trang 109–112 của sách giáo khoa.



