Các khái niệm a Mẫu hỏi Là đối tượng dùng để kết sắp xếp, tìm kiếm và kết xuất dữ liệu xác định từ một hoặc nhiều bảng.. Dùng mẫu hỏi phải dựa vào liên kết giữa các bảng, ta có thể thố
Trang 1Câu hỏi kiểm tra bài cũ:
Yêu cầu
Câu hỏi
Thiết lập mối quan hệ và nhập dữ liệu cho
2 bảng trên.
Cho một CSDL gồm 2 bảng:
HocSinh(MaHS,TenHS,NgaySinh,GioiTinh,Quequan)
Diem(MaHS,DiemToan,DiemLy,DiemHoa)
Trang 2BÀI 8: TRUY VẤN DỮ LIỆU
1 Các khái niệm
a) Mẫu hỏi
Là đối tượng dùng để kết sắp xếp, tìm kiếm và kết xuất dữ liệu xác định từ một hoặc nhiều bảng.
Khái niệm:
Ở bài 1 chương 2 các
em đã được học các đối tượng của Microsoft Access Vậy, một em hãy nhắc lại thế nào là mẫu hỏi
Trang 3Xét ví dụ cơ sở dữ liệu SINH VIÊN:
Vd1: lọc ra những người có cùng ngày sinh
Vd2: lọc ra tên của những người có điểm toán cao nhất
Như vậy:
Với vd1: câu hỏi chỉ liên quan đến một bảng thì bằng thao tác tìm kiếm, lọc ta có thể tìm ra được.
Với vd2 câu hỏi có phức tạp hơn liên quan đến nhiều bảng thì ta cần phải dử dụng mẫu hỏi.
Trang 4Dùng mẫu hỏi phải dựa vào liên kết giữa các bảng, ta có thể thống kê dữ liệu, nhóm và lựa chọn các bản ghi của nhiều bảng theo các điều kiện cho trước.
Chú ý
Trang 5 Sắp xếp các bản ghi;
Chọn các bản ghi thỏa mãn các điều kiện
cho trước;
Chọn các trường để hiển thị;
Thực hiện tính toán như tính trung bìng cộng
tính tổng, đếm bản ghi…;
Tổng hợp và hiển thị thông tin từ nhiều bảng
hoặc mẫu hỏi khác.
Mẫu hỏi thường được sử dụng:
Trang 6b) Biểu thức
Phép toán số học gồm +, -, *, /
• Các phép toan so sánh >, < >=, <=, <>.
• Các phép lôgic and, or, not.
Các phép toán thường dùng bao gồm:
Các toán hạng:
• Tên trường (đóng vai trò là các biến) được ghi trong dấu ngoặc vuông
Vd: [Toán], [Lương],…
• Các hằng số.
Vd: 0.1;1000
• Hằng văn bản, được viết trong dấu nháy kép
Vd: “Nam”, “Nữ”
• Hàm (Sum, avg, max, min, count,…)
Trang 7VD: Tong_diem:[Dtoan] + [Dly] + [Dhoa]
Diem_TB:([Dtoan] + [Dly] + [Dhoa])/3
Cú pháp: <Tên trường>:<Biểu thức số học>
Biểu thức số học:
Được sử dụng để mô tả các trường tính toán trong mẫu hỏi.
Được sử dụng trong các trường hợp sau:
- Thiết lập điều kiện để kiểm tra dữ kiệu đưa vào.
- Thiết lập bộ lọc cho bảng.
Trang 8c) Các hàm
Ta có thể tiến hành gộp nhiều nhóm các bản ghi theo một Điều kiện nào đó và sau đó thực hiện tính trên từng nhóm Này Access cung cấp một số hàng thống kê thông dụng.
Sum: Tính tổng AVG: Tính giá trị trung bình MIN: Tìm giá trị nhỏ nhất
Max: Tìm giá trị lớn nhất.
Count: Đếm số giá trị khác trống (NULL).
Chú ý Bốn hàm đầu tiên chỉ thực hiện trên
các trường kiểu số.
Trang 92 Tạo mẫu hỏi.
Để thiết kế mẫu hỏi ta thực hiện các bước chính sau:
2 1 Chọn Query trong bảng chọn
2 2 Chọn dữ liệu nguồn (các bảng hoặc mẫu biểu khác) cho mẫu hỏi.
2 3 Chọn các trường từ dữ liệu nguồn để đưa vào mẫu hỏi.
2 5 Chọn các trường dùng để sắp xếp các bản ghi trong mẫu hỏi.
2 4 Khai báo các điều kiện cần đưa vào mẫu hỏi để lọc các bản ghi
2.6 Tạo các trường tính toán từ các trường đã có.
2.7 Đặt điều kiện gộp nhóm.
Không nhất thiết phải thực hiện tất cả các bước trên.
Trang 10 Có 2 chế độ thường dùng để làm việc với mẫu hỏi:
2
1 Chế độ thiết kế
Chế độ trang dữ liệu
Mẫu hỏi ở chế độ thiết kế Mẫu hỏi ở chế độ trang dữ liệu
Trang 11Nguồn dữ liệu
Lưới QBE (Query by example)
Nguồn dữ liệu hiển thị cấu trúc
bảng và các mẫu hỏi khác.
Lưới QBE nơi mô tả điều kiện
hỏi mỗi cột thể hiện một trường
sẽ được sử dụng trong mẫu hỏi
Mẫu hỏi chế độ thiết kế
Cửa sổ gồm 2 phần
Trang 12Dưới đây là nội dung của từng hàng:
Field: Khai báo tên các trường được chọn Đó là các trường
sẽ có mặt trong mẫu hỏi hoặc các trường chỉ dùng để lọc, sắp xếp, kiểm tra giá trị,…
Table: Tên bảng hoặc mẫu hỏi chứa trường tương ứng
Trang 13 Sort: Xác định (các trường cần sắp xếp)
Show: Xác định (các trường xuất hiện trong mẫu hỏi)
Criteria: Mô tả điều kiện để chọn các bản ghi đưa vào
mẫu hỏi các điều kiện được viết dưới dạng biểu thức logic
Trang 14Có 2 cách
để thiết kế
m ẫu hỏi
Chọn create query in design view
Chọn create query by using wizard
Để thiết kế một mẫu hỏi mới
Trang 15Để xem hay sửa đổi thiết kế mẫu hỏi :
Thực
hiện
1 Chọn mẫu hỏi cần xem hoặc sửa.
2 Nháy nút
Trang 16Ch ú ý
Khi đang ở chế độ thiết kế mẫu hỏi, ta có thể xem kết qủa mẫu hỏi bằng các cách sau:
3 2
1 Nháy nút
Nháy nút
Chọn lệnh View Datasheet View.
Trang 183 Ví dụ áp dụng:
Vd1.
Khai thác cơ sở dữ liệu “Quản lí học sinh”
Cần tạo mẫu biểu đưa ra danh sách học sinh
có điểm của tất cả các môn từ 7 trở nên
Yêu cầu
Trang 19Cho cơ sở dữ liệu gồm 2 bảng:
HocSinh(MaHS,TenHS,NgaySinh,GioiTinh,Quequan)
Diem(MaHS,DiemToan,DiemLy,DiemHoa)
Yêu cầu
1 Tạo một truy vấn có tên là DS gồm các trường: MaHS, ten HS, DiemToan, DiemLy, DiemHoa, và một
trường TB((DiemToan+diemLy+DiemHoa)/3) ; (dữ liệu lấy từ 2 bảng Hoc Sinh và Diem).
2 Tạo một truy vấn có tên là khen thưởng bao gồm:
MaHS, TenHS, Giới tính, TB>7.5 và được sắp theo thứ tự giảm dần