Bài giảng Tin quản lý 2 - Thiết kế các kiểu truy vấn khác
Parameter Query
¡ĐẶT VẤN ĐỀ
lGiảsửngười dùngcócácyêucầuthôngtin
ChobiếttổngsốtiềnbánhàngcủaTháng1
ChobiếttổngsốtiềnbánhàngcủaTháng4
TínhsốtiềncủahóađơnHD001
TínhsốtiềncủahóađơnHD015
¡Nhậnxét:cácyêucầutừngnhómtương
tựnhauvềmặtthiếtkế, chỉ khácđiều
kiệnlọcthôngtin
Thiết kế các kiểu truy vấn khác Parameter query Crosstab query Action query PARAMETER QUERY Tin quản lý 2 - Query 3 Parameter Query ¡ ĐẶT VẤN ĐỀ l Giả sử người dùng có các yêu cầu thông tin ØCho biết tổng số tiền bán hàng của Tháng 1 ØCho biết tổng số tiền bán hàng của Tháng 4 Ø… ØTính số tiền của hóa đơn HD001 ØTính số tiền của hóa đơn HD015 Ø… ¡ Nhận xét: các yêu cầu từng nhóm tương tự nhau về mặt thiết kế, chỉ khác điều kiện lọc thông tin Tin quản lý 2 - Query 4 Giải pháp? ¡ Mỗi yêu cầu thiết kế 1 truy vấn? ¡ Nhược điểm l Tốn thời gian l Tốn bộ nhớ ¡ Liệu có cách làm tổng quát không? l Chỉ có chung một thiết kế l Điều kiện thay đổi mỗi khi thực hiện truy vấn đó. ð Điều kiện = Parameter (Tham số ầu vào) Tin quản lý 2 - Query 5 Cách tạo Parameter query ¡ Xác định khuôn dạng chung (mẫu thiết kế) của một lớp yêu cầu l Xây dựng truy vấn theo cách thông thường ¡ Đặt Parameter vào vị trí cần tham số thay đổi khi thực hiện query l Parameter chính là một biến sẽ nhận giá trị khi thực hiện ¡ Thực hiện truy vấn và nhập giá trị cho Parameter thông qua cửa sổ Tin quản lý 2 - Query 6 Ví dụ 3 ¡ Cho biết tổng tiền của 1 hóa đơn bất kỳ ¡ Phân tích l Thiết kế truy vấn: tính tổng tiền của từng hóa đơn l Xđ bảng: CT_Hoadon, Hanghoa l Xđ trường: SoHD, Thanhtien l Chọn Total query: Groupby theo SoHD và chọn Sum cho Thanhtien l Đặt Parameter tại cột SoHD trên dòng Criteria với tên [Nhap so HD can xem] Tin quản lý 2 - Query 7 Ví dụ 3 (tiếp) Tham số thay đổi khi thực hiện thường là điều kiện lọc dữ liệu Cửa sổ để nhập giá trị vào tham số khi thực hiện truy vấn Tin quản lý 2 - Query 8 Ví dụ 4 ¡ Tính tổng số tiền của 1 khách hàng bất kỳ trong một tháng nào đó. ¡ Phân tích l Tính tổng số tiền của từng khách hàng theo từng tháng. l Chọn Total query l Đặt lần lượt các Parameter ¡ [Nhap MaKH] trên cột Mã KH; nếu NSD không biết đầy đủ mã KH thì Like “*”&[Nhap MaKH] ¡ [Nhap thang] trên cột Tháng Tin quản lý 2 - Query 9 Ví dụ 4 (tiếp) Các Parameter lần lượt của truy vấn Các cửa sổ yêu cầu nhập giá trị Parameter khi thực hiện truy vấn CROSSTAB QUERY Tin quản lý 2 - Query 11 CROSSTAB QUERY ¡ NSD muốn có thông tin phân tích, tổng hợp từ một nhóm bản ghi ¡ Kết quả được trình bày dưới dạng bảng 2 chiều ð Dễ so sánh các số liệu theo chiều ngang hay chiều dọc ð Tương tự như Pivot Table trong Excel Tin quản lý 2 - Query 12 Dữ liệu thô Dữ liệu đã được tổng hợp theo tháng Tin quản lý 2 - Query 13 Dữ liệu đã được phân tích, tổng hợp theo tháng cho từng mặt hàng Tin quản lý 2 - Query 14 Cấu trúc của Crosstab Giá trị nkGiá trị k1Tiêu đề dòng k … … Giá trị 22 Tiêu đề 2 Tiêu đề dòng 2 Giá trị 11Tiêu đề dòng 1 Tiêu đề nTiêu đề 1 Value Column Heading Row Heading Tin quản lý 2 - Query 15 Cấu trúc của Crosstab ¡ Dữ liệu trong Crosstab được gộp nhóm ¡ Trường được chọn làm Column heading ’ Giá trị của trường đó làm tiêu đề cột ¡ Trường được chọn làm Row heading ’ Giá trị của trường đó làm tiêu đề hàng ¡ Trường được chọn là Value (dữ liệu phân tích) ’ Giá trị của trường được tính toán, xử lý. Giá trị nkGiá trị k1Tiêu đề dòng k … … Giá trị 22 Tiêu đề 2 Tiêu đề dòng 2 Giá trị 11Tiêu đề dòng 1 Tiêu đề nTiêu đề 1 Tin quản lý 2 - Query 16 Yêu cầu của Crosstab ¡ Crosstab đúng yêu cầu khi l Chỉ có 1 trường làm Column Heading l Có thể có nhiều trường làm Row Heading l Chỉ có 1 trường làm Value ¡ Các thao tác trên Crosstab làm tương tự như Total Query Tin quản lý 2 - Query 17 Ví dụ 1 ¡ Yêu cầu: Tính Tổng số tiền bán hàng của từng mặt hàng theo từng tháng. Kết quả trình bày dữ liệu với tháng làm Column Heading ¡ Phân tích l Xđ bảng: Hoadon, CT_hoadon, Hanghoa l Xđ trường: Thang=Month(Ngayban), Mã hàng, Tên hàng, Thành tiền l Chọn Query - Crosstab query l Column Heading: Thang; Row Heading: Mã hàng, Tên hàng; Value: Thành tiền Tin quản lý 2 - Query 18 Ví dụ 1 (tiếp) Các trường làm tiêu đề thường chọn gộp nhóm (Groupby) Trường dữ liệu phân tích chọn 1 hàm gộp nhóm Chỉ định cấu trúc của Crosstab Tin quản lý 2 - Query 19 Ví dụ 2 ¡ Tính Tổng số tiền bán hàng của từng mặt hàng theo từng tháng và tổng số tiền bán của mặt hàng đó. Kết quả trình bày dữ liệu với tháng làm Column Heading ¡ Phân tích l Tương tự ví dụ 1 l Khác: Tổng số tiền bán hàng của mặt hàng ’ Tính tổng dữ liệu theo dòng Tin quản lý 2 - Query 20 Ví dụ 2(tiếp) ¡ Trường làm Row Heading có thể chọn Hàm gộp nhóm để có giá trị gộp theo dòng. Chọn Sum tại dòng Total để tính toán số liệu theo dòng Tin quản lý 2 - Query 21 Một vài cách dùng khác ¡ Có thể hiển thị xâu ký tự nào đó trong tên tiêu đề cột/ trường. l Ví dụ: Tháng 1, Tháng 2, … với “Tháng” do người dùng kết hợp với giá trị tính được từ biểu thức month(Ngayban) ðDùng cộng xâu “Tháng ”&month(Ngayban) ðVới & là toán tử nối 2 xâu ACTION QUERY Tin quản lý 2 - Query 23 Action query ¡ Các query thực hiện các thao tác thay đổi dữ liệu trên 1 nhóm các bản ghi ¡ Có 3 kiểu Action query l Update query: Cập nhật, thay đổi giá trị trong một vài trường của 1 nhóm bản ghi l Delete query: Xóa gi 1 số bản ghi trong bảng theo yêu cầu l Insert (Append) query: Thêm vào bảng dữ liệu nào đó 1 nhóm các bản ghi Tin quản lý 2 - Query 24 UPDATE QUERY – VÍ DỤ ¡ Đơn giá của các mặt hàng thuộc loại Rượu hay Bia đều được tăng lên 20%. ¡ Phân tích l Bảng được cập nhật: Hàng hóa l Bản ghi được cập nhật: Mặt hàng thuộc loại Rượu hay Bia. l Trường được cập nhật: Dongia*(1+20%) l Các bảng tham gia truy vấn ¡ Hàng hóa ¡ Loại hàng l Loại truy vấn: chọn Update query Tin quản lý 2 - Query 25 Tin quản lý 2 - Query 26 Update query (tiếp) Công thức thay đổi dữ liệu được ghi vào dòng Update To Cột chứa điều kiện để giới hạn các bản ghi cần cập nhật Chỉ đưa vào lưới thiết kế q Trường cần thay đổi q Trường chứa điều kiện giới hạn bản ghi được cập nhật Tin quản lý 2 - Query 27 DELETE QUERY ¡ Xóa thông tin về các mặt hàng có Đơn giá<2000. ¡ Phân tích l Bảng sẽ thay đổi: Hàng hóa l Các bản ghi bị xóa: Dongia<2000 l Loại query: Delete query Trường chứa điều kiện giới hạn bản ghi để xóa Tin quản lý 2 - Query 28 Delete query (tiếp) ¡ Xóa thông tin chi tiết các Hóa đơn của khách tên Nam. ¡ Phân tích l Bảng thay đổi: CTHoadon l Các bản ghi bị xóa: TenKH like “*Nam” l Loại query: Delete query Nếu bản ghi cần xóa không thuộc cùng bảng chứa điều kiện, chỉ rõ bảng đó Tin quản lý 2 - Query 29 APPEND QUERY ¡ Cho phép người dùng chèn thêm dữ liệu vào một bảng DL (ĐÍCH) bất kỳ từ một bảng dữ liệu khác (NGUỒN) BẢNG DỮ LIỆU NGUỒN … … … BẢNG DỮ LIỆU ĐÍCH … … … APPEND QUERY ¡ Bảng dữ liệu NGUỒN cần đảm bảo cấu trúc tương tự với cấu trúc của bảng dữ liệu ĐÍCH Tin quản lý 2 - Query 30 APPEND QUERY – Ví dụ ¡ Chèn vào CT_Hoadon các lượt mua sản phẩm của hóa đơn có mã là HD043. ¡ Phân tích: l Bảng nhận dữ liệu thêm: CT_Hoadon l Bảng chứa dữ liệu thêm: Temp l Loại truy vấn: Append Query Tin quản lý 2 - Query 31 Append query (tiếp) Điền tên bảng cần chèn dữ liệu Tên các trường tương ứng để chèn dữ liệu Bảng Temp chứa dữ liệu chèn
File đính kèm:
- Bài giảng Tin quản lý 2 - Thiết kế các kiểu truy vấn khác.pdf