Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Trang 1THIẾT KẾ CÂU TRUY
VẤN DỮ LIỆU (Query)
Simple queryTotal queryCrosstab queryParameter queryAction query
Trang 2Tại sao phải thiết kế truy vấn?
¡ Đáp ứng nhu cầu lấy thông tin theo các yêu cầu khác nhau từ CSDL của NSD
¡ Ví dụ:
l Hóa đơn HD001 thuộc ngày nào và đã
mua các mặt hàng gì, số lượng bao nhiêu?
l Mặt hàng nào được mua với số lượng
nhiều nhất trong 1 lần?
l …
Trang 3Các bước xây dựng query
1 Phân tích yêu cầu lấy thông tin
2 Xác định loại truy vấn
3 Xác định bảng/ trường chứa dữ liệu cần
thiết cho yêu cầu
Trang 4Ví dụ
¡ Hóa đơn HD001 thuộc ngày nào và đã
mua mặt hàng gì với số lượng bao nhiêu?
l Lấy thông tin: về hóa đơn số HD001
l Bảng:
¡ Hóađơn: xác định Ngày mua
¡ CThóađơn: số lượng mua của từng mặt hàng
¡ Hànghóa: Tên mặt hàng đã mua
l Cách thức hiển thị
¡ Điều kiện lọc: SoHD=“HD001”
Trang 5Cách thiết kế Query
B1: Chọn đối tượng B2: Chọn cách tạo
truy vấn
Trang 6Cách thiết kế Query
B3: Chọn bảng chứa dữ
liệu cho truy vấn
Trang 7Để xem kết quả của thiết kế:
chọn menu Query/ Run
Hoặc nút trên thanh Toolbar
Trang 8Xây dựng điều kiện lọc dữ liệu
¡ Loại điều kiện
l Điều kiện VÀ : trên cùng dòng (AND)
l Điều kiện HOẶC : trên nhiều dòng (OR)
¡ Điều kiện miền giá trị (điều kiện và)
l >= [giá trị 1] And <= [giá trị 2]
l Between [giá trị 1] And [giá trị 2]
¡ Loại giá trị
l Xâu ký tự: “Hà Nội”
l Ngày tháng: #01/31/03#
l Số: 5, 2300,…
Trang 9Xây dựng điều kiện lọc dữ liệu
¡ Điều kiện là xâu ký tự cho trước
l Ví dụ
¡ Các tỉnh bắt đầu bằng từ “Hà”
¡ Tên là “Hoa”, với họ bất kỳ
¡ Dùng ký tự đại diện cho xâu ký tự:
¡ *: thay thế cho nhiều ký tự bất kỳ (“Hà*”)
¡ ?: thay thế cho 1 ký tự (“H?”)
¡ []: nhận 1 ký tự trong dãy (“H[aoe]”)
¡ [kt1-kt2]: 1 ký tự thuộc miền (“H[a-f]”)
¡ Từ khóa LIKE
Ví dụ Like “Hà*”, Like “HH00[1-5]”
Trang 10Trường xây dựng từ biểu thức
¡ Cú pháp
Tên trường: Biểu thức tính
¡ Ví dụ
l Tên hàng: Tenhang
l Thuế VAT: Dongia * 0.05
l Thành tiền: Dongia * Soluong
Trang 11Xây dựng trường biểu thức
§ Danh sách hàm trong cùng nhóm
§ Danh sách trường thuộc đối tượng
§Danh sách nhóm hàm
Trang 12Một số hàm thường dùng
¡ [Bthức logic 1] Or [Bthức logic 2]
¡ [Bthức logic 1] And [Bthức logic 2]
¡ IIf(BT logic, Thao tác_đúng, Thao tác_sai)
Trang 13l ww: thứ tự tuần trong năm
l d: day – ngày trong tháng
l w: thứ trong tuần
l Y: số thứ tự ngày trong năm
¡ Ví dụ: datepart(“ww”,Ngayban)
Trang 14Sử dụng biểu thức trong Criteria
¡ Điều kiện lọc là biểu thức logic chứa hàm, công thức
l Ví dụ 1: Xem HD mua trong tháng 1
¡ Điều kiện: Between…And…, >=… And <=…
¡ Hoặc: month(Ngayban)=1
l Ví dụ 2: Xem thông tin khách lẻ
¡ Điều kiện: like “KL???”, like “KL*”
¡ Hoặc: left(MaKH,2)=“KL”
¡ Cách làm: Tại dòng Criteria của trường
cần lọc, chọn Expression tương tự ở trên
Trang 15CHẾ ĐỘ HIỂN THỊ CỦA QUERY
¡ DATASHEET
¡ DESIGN VIEW
¡ SQL VIEW
Trang 16DESIGN VIEW
Trang 17SQL VIEW
Trang 18MỘT SỐ LỰA CHỌN HIỂN THỊ DỮ LIỆU
¡ Giới hạn 1 vài bản ghi đầu tập kết quả
l Ví dụ: Xem mặt hàng có số lượng bán ít nhất/ nhiều nhất trong 1 lần mua
ðDùng Query Property
ð Top Values
Trang 19MỘT SỐ LỰA CHỌN HIỂN THỊ DỮ LIỆU
¡ Loại bỏ các bản ghi trùng lặp trong tậpkết quả
l Ví dụ: Tên NV đã bán hàng từ 1/1 ® 15/1
ðDùng Query Property
ð Unique Value
Trang 20Quy định cách hiển thị giá trị cột
¡ Giá trị Ngày tháng được lưu trữ 01/31/03
ðQuy định thuộc tính của trường (Field
Property): Format, Decimal Place
Trang 21Xây dựng trường biểu thức
B1: Bấm phải chuột vào
trường cần xây dựng B2: Chọn Build từmenu nhanh
Trang 22Chú ý khi chọn bảng trong query
¡ Mối quan hệ giữa các bảng thể hiện sự
phụ thuộc dữ liệu
l Quan hệ Hanghoa vs CT_Hoadon: Hóa
đơn đó có mua những mặt hàng nào
l Quan hệ Hoadon vs Nhanvien: Hóa đơn
đó được lập bởi nhân viên nào
l …
ðCác bảng tham gia truy vấn phải có quan
hệ với nhau, tránh chọn bảng độc lập sẽdẫn đến sinh ra các bộ dữ liệu sai
Trang 23Chú ý chọn trường vào biểu thức
¡ Nếu các bảng tham gia thiết kế có têntrường giống nhau ] chỉ rõ trường thamgia biểu thức thuộc bảng nào
¡ Ví dụ: Xem hóa đơn do khách lẻ mua
l Bảng: Hoadon, Khachhang
l Trường: SoHD, MaKH, Ngayban
l Điều kiện:
¡ trường MaKH: like “KL*”
¡ Nếu dùng left(MaKH,2) thì sao???
Trang 24Những lỗi thường gặp
¡ Giá trị lưu trong trường khóa ngoại là gì?
¡ Giá trị hiển thị ¹ giá trị lưu trữ?
¡ Sử dụng hàm thiếu đối số
¡ Đặt điều kiện không đúng với trường có