1.1. Câu lệnh truy vấn SQL với các liên kết bảng
– Trong khai thác CSDL quan hệ, kết hợp dữ liệu từ hai hoặc nhiều bảng để tìm ra dữ liệu cần thiết.
– Ghép nối là kiểu kết hợp phổ biến, tạo ra các bản ghi mới với đầy đủ thông tin.
– Kết quả của ghép nối được đưa vào bảng tạm thời.
– Hệ quản trị CSDL chọn dữ liệu thoả mãn điều kiện tìm từ bảng tạm thời để đưa ra kết quả.
– Để tìm Mã sách của các quyển sách mà Trần Văn An đã mượn, hệ quản trị CSDL cần kết hợp dữ liệu từ hai bảng NGƯỜI ĐỌC và MƯỢN-TRẢ.
– Mục đích kết hợp dữ liệu là tạo ra một bảng tạm thời với đầy đủ thông tin của mỗi bản ghi, bao gồm Họ và tên, Số thẻ TV, Mã sách, ngày mượn…
– Khi kết hợp dữ liệu, hai bản ghi thuộc hai bảng khác nhau chỉ được ghép lại nếu thoả mãn điều kiện kết nối.
– Điều kiện kết nối trong trường hợp này là giá trị ở trường Số thẻ TV của hai bản ghi phải trùng nhau.
– Trích rút dữ liệu từ nhiều bảng được thực hiện giống như truy vấn trên một bảng dữ liệu tạm thời sau khi kết nối các bản ghi.
– Với ví dụ ở Hình 2, hệ quản trị CSDL chỉ cần lựa chọn dữ liệu từ bảng kết quả kết nối để trả về kết quả.
– Để kết hợp dữ liệu từ các bảng với trường chung, SQL sử dụng từ khoá JOIN trong mệnh đề FROM, với nhiều kiểu JOIN khác nhau.
– Dưới đây là mẫu viết mệnh đề FROM (trong câu truy vấn) sử dụng INNER JOIN.
– Trong ví dụ trên, kí hiệu q để chỉ bất cứ toán tử so sánh nào: =,<, <=, <>, >, >= (trong đó kí hiệu <> thể hiện toán tử so sánh khác).
– Thực tế, INNER JOIN phổ biến nhất được sử dụng với điều kiện kết nối là sự trùng khớp giá trị trên một trường chung của hai bảng kết nối.
– Ví dụ 1: Câu truy vấn SQL trong Hình 3 kết nối hai bảng NGƯỜI ĐỌC và MƯỢN-TRẢ theo giá trị trường Số thẻ TV để tìm mã sách các quyển sách mà học sinh “Trần Văn An” đã mượn, cho ta thông tin về họ tên, số thẻ TV và mã sách của các cuốn sách đã mượn.
– Mỗi Số thẻ TV trong bảng NGƯỜI ĐỌC tương ứng với nhiều bản ghi trong bảng MƯỢN-TRẢ, nên quan hệ giữa hai bảng là một – nhiều.
Chú ý: Khi sử dụng INNER JOIN để kết nối hai bảng, từ khoá ON đứng trước điều kiện kết nối.
1.2. Kết xuất thông tin bằng báo cáo
– Báo cáo CSDL là văn bản trình bày thông tin từ CSDL, lấy dữ liệu từ nhiều bảng và truy vấn.
– Báo cáo thường được trình bày trực quan và có mẫu quy định, làm nổi bật những mục quan trọng.
– Nhu cầu xem báo cáo trong công tác quản lí là rất lớn.
– Báo cáo Hình 4 được kết xuất từ CSDL của trường trung học phổ thông.
– Truy vấn CSDL có thể được sử dụng để tìm kết quả học tập của học sinh ở các môn học.
– Tuy nhiên, việc trình bày thông tin kết xuất thông qua báo cáo có hiệu quả cao hơn và phù hợp hơn với người cần thông tin.
– Báo cáo ở Hình 5 tổng hợp và so sánh dữ liệu mua bán giữa các mặt hàng, giúp người xem dễ dàng so sánh thông tin.
– Khi sắp xếp các mặt hàng trong báo cáo theo thứ tự giảm dần của tổng tiền thu được, báo cáo trở nên rất hữu ích cho người làm kinh doanh.
– Các hệ quản trị CSDL quan hệ cung cấp công cụ tạo báo cáo tự động và cho phép chỉnh sửa bố cục và định dạng dữ liệu của báo cáo.
– Người phát triển ứng dụng có thể thiết kế các báo cáo phù hợp với nhu cầu người dùng bằng cách sử dụng ngôn ngữ lập trình.
1.3. Thực hành truy vấn trong CSDL quan hệ
Trong CSDL Thư viện được tạo bởi hệ quản trị CSDL Access, giáo viên đã chuẩn bị sẵn một số truy vấn.
a) Em hãy mở xem một truy vấn và chạy thử để biết kết quả.
b) Trong các truy vấn được thiết kế sẵn, em hãy cho biết câu truy vấn nào trả lời cho câu hỏi: Các quyển sách “AI-Trí tuệ nhân tạo” đã được những người nào mượn đọc? Truy vấn đó kết nối những bảng nào của cơ sở dữ liệu? Vì sao em biết điều đó?