Bài giảng Tin quản lý 2 - Thiết kế câu truy vấn dữ liệu (Query)
Tại saophải thiếtkếtruyvấn?
¡Đápứngnhucầulấythôngtin theo các
yêu cầu khác nhau từCSDL củaNSD
¡Ví dụ:
lHóađơnHD001 thuộcngàynàovàđã
muacácmặthànggì, sốlượngbaonhiêu?
lMặthàngnàođượcmuavới sốlượng
nhiềunhấttrong1 lần?
THIẾT KẾ CÂU TRUY VẤN DỮ LIỆU (Query) Simple query Total query Crosstab query Parameter query Action query Tin quản lý 2 - Query 2 Tạ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 … Tin quản lý 2 - Query 3 Cá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 4. Cách thức hiển thị truy vấn l Điều kiện lọc, nếu trường này không thuộc bảng đã xác định ® quay lại bước 3 l Sắp xếp dữ liệu; Có cho phép trùng lặp không l Xác định trường biểu thức tính, nếu biểu thức chứa các trường không thuộc bảng đã xác định ® quay lại bước 3 Tin quản lý 2 - Query 4 Ví 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” Tin quản lý 2 - Query 5 Cách thiết kế Query B1: Chọn đối tượng B2: Chọn cách tạo truy vấn Tin quản lý 2 - Query 6 Cách thiết kế Query B3: Chọn bảng chứa dữ liệu cho truy vấn Tin quản lý 2 - Query 7 Cách thiết kế Query Field Tên trường/cột Table Tên bảng Sort Sắp xếp dữ liệu Show Có hiển thị trường dữ liệu đó không? Criteria Điều kiện lọc/ giới hạn bản ghi? Để xem kết quả của thiết kế: chọn menu Query/ Run Hoặc nút trên thanh Toolbar Tin quản lý 2 - Query 8 Xâ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,… Tin quản lý 2 - Query 9 Xâ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]” Tin quản lý 2 - Query 10 Trườ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 Tin quản lý 2 - Query 11 Xây dựng trường biểu thức Cửa sổ hiển thị công thức tính Dãy các nút toán tử hay dùng Danh sách đối tượng có thể tham gia biểu thức Tên query hiện hành Lựa chọn các hàm tính toán để xây dựng công thức § Kiểu của thuộc tính § 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 Tin quản lý 2 - Query 12 Mộ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) ¡ Left(Xâu ký tự, Số ký tự) ¡ Right(Xâu ký tự, Số ký tự) ¡ Mid(Xâu ký tự, Vị trí bắt đầu, Số ký tự) ¡ Len(Xâu ký tự) ¡ Round(Giá trị số) ¡ Month(Giá trị ngày) ¡ Datepart(“phần cần lấy”, Giá trị ngày) Tin quản lý 2 - Query 13 Hàm Datepart() ¡ Dùng để trích rút phần tương ứng trong 1 chuỗi giá trị có kiểu Date ¡ Datepart(“phần cần lấy”, Giá trị ngày) l q: quarter – quý l yyyy: year – năm l m: month – tháng l 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) Tin quản lý 2 - Query 14 Sử 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 Tin quản lý 2 - Query 15 CHẾ ĐỘ HIỂN THỊ CỦA QUERY ¡ DATASHEET ¡ DESIGN VIEW ¡ SQL VIEW Tin quản lý 2 - Query 16 DESIGN VIEW Tin quản lý 2 - Query 17 SQL VIEW Tin quản lý 2 - Query 18 MỘ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 Tin quản lý 2 - Query 19 MỘ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ập kết quả l Ví dụ: Tên NV đã bán hàng từ 1/1 ® 15/1 ðDùng Query Property ð Unique Value Tin quản lý 2 - Query 20 Quy định cách hiển thị giá trị cột ¡ Giá trị Ngày tháng được lưu trữ 01/31/03 ¡ Giá trị Số nhập vào 1535500 ¡ Giá trị tỷ lệ của 15/25 là 0.6 ðHiển thị theo 1 cách dễ xem ð31-01-03 ð1,535,500 ð60% ðQuy định thuộc tính của trường (Field Property): Format, Decimal Place Tin quản lý 2 - Query 21 Xâ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 Tin quản lý 2 - Query 22 Chú ý 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. Tin quản lý 2 - Query 23 Chú ý chọn trường vào biểu thức ¡ Nếu các bảng tham gia thiết kế có tên trường giống nhau ] chỉ rõ trường tham gia 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??? Tin quản lý 2 - Query 24 Nhữ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ó
File đính kèm:
- Bài giảng Tin quản lý 2 - Thiết kế câu truy vấn dữ liệu (Query).pdf