Giáo án ppt THUD 11 kết nối: Bài 23 Thực hành truy xuất dữ liệu qua liên kết các bảng

Giáo án điện tử Tin học ứng dụng 11 kết nối tri thức: Bài 23 Thực hành truy xuất dữ liệu qua liên kết các bảng. Bài giảng được thiết kế hiện đại, sáng tạo, sinh động với đầy đủ nội dung, hình ảnh,… giúp học sinh có hứng thú học tập tiếp thu hiệu quả hơn. Giáo viên tải về có thể sử dụng luôn để giảng dạy.

Nội dung chi tiết

... Còn nữa ...

NHIỆT LIỆT CHAgrave;O ĐOacute;N CAacute;C EM ĐẾN TIẾT HỌC MỚI!

KHỞI ĐỘNG

Caacute;c bảng coacute; thể coacute; quan hệ với nhau qua tham chiếu khoacute;a ngoagrave;i; nhờ vậy coacute; thể truy xuất dữ liệu từ nhiều bảng theo quan hệ giữa chuacute;ng. Việc nagrave;y sẽ được thực hiện cụ thể như thế nagrave;o với SQL?

BAgrave;I 23: THỰC HAgrave;NH TRUY XUẤT DỮ LIỆU QUA LIEcirc;N KẾT CAacute;C BẢNG

NỘI DUNG THỰC HAgrave;NH

Lập danh saacute;ch caacute;c bản nhạc với tecirc;n bản nhạc vagrave; tecirc;n taacute;c giả

Lập danh saacute;ch caacute;c bản thu acirc;m với đủ caacute;c thocirc;ng tin idBanthuam, tenBannhac, tenCasi

Tigrave;m hiểu một chức năng của ứng dụng "Quản lyacute; dữ liệu acirc;m nhạc"

01 LẬP DANH SAacute;CH CAacute;C BẢN NHẠC VỚI TEcirc;N BẢN NHẠC VAgrave; TEcirc;N TAacute;C GIẢ

Để truy vấn hai bảng qua liecirc;n kết khoacute;a, cacirc;u truy vấn SQL với mệnh đề JOIN coacute; cấu truacute;c như sau:

SELECT danh_saacute;ch_tecirc;n_trường_của_2_bảng

FROM tecirc;n_bảng_a INNER JOIN tecirc;n_bảng_b

ON tecirc;n_bảng_a.tecirc;n_trường_a=tecirc;n_bảng_b, tecirc;n_trường_b

[WHERE ...]

[ORDER BY ...];

Viacute; dụ:

Để lấy ra danh saacute;ch caacute;c bản nhạc gồm tenBannhac, tenNhacsi, dugrave;ng cacirc;u truy vấn:

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi

FROM bannhac INNER JOIN nhacsi

ON bannhac.idNhacsi = nhacsi.idNhacsi;

Hatilde;y thực hagrave;nh:

  • Lập danh saacute;ch bao gồm idBannhac, tenBannhac, tenNhacsi từ tất cả caacute;c bản nhạc coacute; trong bảng bannhac.
  • Lập danh saacute;ch bao gồm idBannhac, tenBannhac từ tất cả caacute;c bản nhạc của nhạc sĩ Đỗ Nhuận coacute; trong bảng bannhac.

02 LẬP DANH SAacute;CH CAacute;C BẢN THU Acirc;M VỚI ĐỦ CAacute;C THOcirc;NG TIN IDBANTHUAM, TENBANNHAC, TENCASI

Để viết được nhiều hơn hai bảng theo liecirc;n kết khoacute;a ngoagrave;i, hatilde;y lặp lại mệnh đề JOIN trong cacirc;u truy vấn SQL:

Hatilde;y tự viết cacirc;u truy vấn để lập danh saacute;ch caacute;c bản thu acirc;m với đủ caacute;c thocirc;ng tin idBanthuam, tenBannhac, tenCasi

Gợi yacute;

Caacute;c thocirc;ng tin cần lấy ra idBanthuam, tenBannhac, tenCasi

banthuam (idBanthuam, idBannhac, idCasi)

bannhc (idBannhac, tenBannhac, idCasi)

casi (idCasi, tenCasi)

  • Để lấy tecirc;n bản nhạc, cần liecirc;n kết bảng banthuam vagrave; bảng bannhac theo khoacute;a idBannhac.
  • Để lấy tecirc;n ca sĩ, cần liecirc;n kết bảng banthuam với bảng casi theo khoacute;a idCasi.

Kết quả

SELECT banthuam.idBanthuam, bannhac.tenBannhac, casi.tenCasi

FROM banthuam

INNER JOIN bannhac

ON banthuam.idBannhac = bannhac.idBannhac

INNER JOIN casi

ON banthuam.idCasi = casi.idCasi

03 TIgrave;M HIỂU MỘT CHỨC NĂNG CỦA ỨNG DỤNG "QUẢN LYacute; DỮ LIỆU Acirc;M NHẠC"

Phần mềm "Quản liacute; dữ liệu acirc;m nhạc" cũng giống như HeidiSQL, hoạt động như một chương trigrave;nh khaacute;ch của MySQL, nhưng được thiết kế chuyecirc;n biệt cho bagrave;i toaacute;n quản liacute; dữ liệu acirc;m nhạc.

Em hatilde;y tigrave;m hiểu một chức năng của ứng dụng "Quản liacute; dữ liệu acirc;m nhạc".

Cacirc;u hỏi gợi yacute; tigrave;m hiểu:

  • Giao diện của phần mềm coacute; dễ sử dụng khocirc;ng? Coacute; hướng vagrave;o nghiệp vụ hằng ngagrave;y của người quản liacute; website acirc;m nhạc khocirc;ng?
  • Coacute; hỗ trợ nhập dữ liệu vagrave;o trường khoacute;a ngoagrave;i theo tham chiếu đến bảng nhacsi khocirc;ng? Coacute; hỗ trợ đảm bảo tiacute;nh nhất quaacute;n vagrave; toagrave;n vẹn dữ liệu khocirc;ng?
  • Người sử dụng phần mềm coacute; cần biết đến cấu truacute;c của caacute;c bảng dữ liệu khocirc;ng?

LUYỆN TẬP

Lấy danh saacute;ch caacute;c bản thu acirc;m với đầy đủ caacute;c thocirc;ng tin: idBanthuam, tenBannhac, tenNhacsi, tenCasi.

Đaacute;p aacute;n:

SELECT banthuam.idBanthuam, bannhac.tenBannhac, nhacsi.tenNhacsi, casi.tenCasi

FROM banthuam

INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac

INNER JOIN casi ON banthuam.idCasi = casi.idCasi

INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi;

VẬN DỤNG

Bagrave;i 1 (SGK-tr.112) Lấy danh saacute;ch caacute;c bản thu acirc;m với caacute;c thocirc;ng tin: idBanthuam, tenBannhac, tenCasi caacute;c bản nhạc của nhạc sĩ Văn Cao.

Đaacute;p aacute;n:

SELECT banthuam.idBanthuam, bannhac.tenBannhac, nhacsi.tenNhacsi, casi.tenCasi

FROM banthuam

INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac

INNER JOIN casi ON banthuam.idCasi = casi.idCasi

INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi

WHERE nhacsi.tenNhacsi = 'Văn Cao';

Bagrave;i 2 (SGK-tr.112). Lấy danh saacute;ch caacute;c bản thu acirc;m với caacute;c thocirc;ng tin: idBanthuam, tenBannhac, tenTacgia caacute;c bản nhạc do ca sĩ Lecirc; Dung thể hiện.

Đaacute;p aacute;n:

SELECT banthuam.idBanthuam, bannhac.tenBannhac, nhacsi.tenNhacsi

FROM banthuam

INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac

INNER JOIN casi ON banthuam.idCasi = casi.idCasi

INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi

WHERE casi.tenCasi = 'Lecirc; Dung';

Bagrave;i 3 (SGK-tr.112). Lấy danh saacute;ch caacute;c bản thu acirc;m với caacute;c thocirc;ng tin: idBanthuam, tenBannhac, tenTacgia, tenCasi caacute;c bản nhạc do ca sĩ Lecirc; Dung thể hiện thuộc thể loại Nhạc trữ tigrave;nh.

Đaacute;p aacute;n:

SELECT banthuam.idBanthuam, bannhac.tenBannhac, nhacsi.tenNhacsi, casi.tenCasi

FROM banthuam

INNER JOIN bannhac ON banthuam.idBannhac = bannhac.idBannhac

INNER JOIN casi ON banthuam.idCasi = casi.idCasi

INNER JOIN nhacsi ON bannhac.idNhacsi = nhacsi.idNhacsi

WHERE casi.tenCasi = 'Lecirc; Dung';

Bagrave;i 4 (SGK-tr.112). Thực hagrave;nh truy xuất bảng Quận/Huyện qua liecirc;n kết với bảng Tỉnh/Thagrave;nh phố.