Truy vấn trong cơ sở dữ liệu quan hệ tiếp theo SGK Tin học Lớp 11 định hướng tin học ứng dụng trang 71 – Cánh Diều, mời các em tham khảo cùng Bumbii.
Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Giới thiệu các hệ cơ sở dữ liệu. Bài 6. Truy vấn trong cơ sở dữ liệu quan hệ (tiếp theo).
KHỞI ĐỘNG
Theo em, việc khai báo liên kết giữa một số bảng trong một CSDL quan hệ có ý nghĩa gì?
Đáp án:
– Liên kết giữa các bảng thể hiện mối quan hệ tham chiếu từ bảng này đến bảng khác, một mục dữ liệu ở bảng tham chiếu sẽ được giải thích đầy đủ hơn ở bằng được tham chiếu.
– Nhờ có liên kết giữa các bảng mà ta kết nối được các bản ghi ở hai bảng để có được thông tin đầy đủ hơn.
– Nếu không khai báo liên kết giữa các bảng thì hệ quản trị CSDL không kiểm soát được ràng buộc khoá ngoài và không thực hiện được kết nối đúng các bản ghi có liên kết với nhau.
1. Câu lệnh truy vấn SQL với liên kết các bảng
HOẠT ĐỘNG 1
Xét CSDL được mô tả như ở Hình 1. Nếu cần biết tên quyển sách mà người có thẻ thư viện HS-001 đã mượn vào ngày 02/10/2022, ta có thể dùng câu truy vấn trên một bảng được không? Nếu tìm thông tin này bằng cách tra cứu thủ công (không dùng máy tính) thì em sẽ làm như thế nào?
Đáp án:
Xét CSDL được mô tả như ở Hình 1:
– Nếu cần biết tên quyển sách mà người có Số thẻ TV là “HS-001” đã mượn vào ngày “02/10/2022”, ta không thể dùng câu truy vấn trên một bảng được. Lí do dễ thấy là: Thông tin làm căn cứ để tìm gồm Số thẻ TV “HS-001” và ngày mượn “02/10/2022”, đều là dữ liệu trong bảng MƯỢN-TRẢ, thông tin này cho biết điều kiện để tìm (điều kiện này được viết thành biểu thức logic sau từ khoá WHERE). Nhưng dữ liệu cần tìm lại thuộc bảng SÁCH, trong bảng SÁCH không có đủ dữ liệu để thể hiện điều kiện cần tìm.
– Nếu bằng tra cứu thủ công để tìm thông tin nói trên, có thể làm như sau: Tìm trong bảng MƯỢN-TRẢ bản ghi thoả mãn điều kiện: Số thẻ TV là “HS-001” và ngày mượn là “02/10/2022”. Với bản ghi là kết quả tìm được, ta có Mã sách của bản ghi đó là “AN-01”. Tiếp tục tra cứu trong bảng SÁCH để tìm bản ghi có Mã sách “AN-01” để từ đó có được tên cuốn sách cần tìm. Chú ý rằng vì Mã sách là khoá của bảng SÁCH nên chỉ tìm được tên một cuốn sách.
2. Kết xuất thông tin bằng báo cáo
HOẠT ĐỘNG 2
Em đã biết, có thể truy vấn CSDL Quản lí học tập 11 để có được thông tin về kết quả học tập của học sinh lớp 11 ở một số môn học. Theo em, với công cụ truy vấn ta có được dữ liệu trình bày như ở Hình 4 hay không?
Đáp án:
Hình 4 là một báo cáo có được từ CSDL của một trường trung học phổ thông ở các ví dụ đã từng nêu. Để có kết quả học tập của học sinh ở một số môn học, ta có thể dùng truy vấn CSDL.
Tuy nhiên, dùng hình thức báo cáo thì việc trình bày những thông tin kết xuất được sẽ đạt hiệu quả cao hơn, phù hợp hơn với người cần những thông tin này.
VẬN DỤNG
Xét CSDL được mô tả như ở Hình 1. Nếu cần biết cuốn sách đã được mượn với ID = 1 trong bảng MƯỢN – TRẢ, em sẽ viết câu truy vấn như thế nào?
Đáp án:
Câu truy vấn:
SELECT [SÁCH].[Tên sách]
FROM [SÁCH] INNER JOIN [MƯỢN-TRẢ] ON [SÁCH].[Mã sách] = [MƯỢN-TRẢ].[Mã sách]
WHERE [MƯỢN-TRẢ].[ID] = 1
CÂU HỎI TỰ KIỂM TRA
Trong các câu sau, những câu nào đúng?
a) Chỉ có thể viết câu truy vấn SQL trên một bảng của CSDI…
b) Các từ khoá kết nối phải viết trong mệnh đề FROM của câu truy vấn SQL.
c) Chỉ có thể kết nối với điều kiện giá trị ở trường chung giữa hai bảng là bằng nhau.
d) Dữ liệu để đưa vào báo cáo được lấy từ một hay nhiều bảng và truy vấn.
Đáp án:
Các câu đúng là:
b) Các từ khoá kết nối phải viết trong mệnh đề FROM của câu truy vấn SQL.
d) Dữ liệu để đưa vào báo cáo được lấy từ một hay nhiều bảng và truy vấn.
Xem các bài giải khác tại Giải sách giáo khoa tin học lớp 11 Tin học ứng dụng – Cánh Diều
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.