Bài giảng Truy vấn dữ liệu (Query)
I - NHỮNG KHÁI NIỆM CƠ BẢN
1 . Chức năng:
Dùng Khai thác, cập nhật, thêm xoá, sửa, trích lọc . . . dữ liệu trong
các bảng phụ vụ yêu cầu.
2 . Các công cụ truy vấn
- Dùng Ngôn ngữ truy vấn trên dữ liệu SQL (Structured Query
Language)
- Dùng công cụ của Access QBE (Query By Example) truy vấn bằng
hình thực trực quan
3 . Ứng dụng của Query
- Lựa chọn các Field cần thiết (không lấy tất cả các trường của bảng). Lựa
chọn những Mẫu tin, xếp theo thứ tự cột nào đó.
- Tham khảo những Mẫu tin của một Table theo một thứ tự quy định rồi
dùng Query như một dữ liệu nguồn cho biểu mẫu.
- Tham khảo dữ liệu của nhiều bảng khác nhau. Thực hiện các phép tính.
- Tạo dữ liệu cơ sở cho Form, Report hay Query khác
- Thực hiện những thay đổi trong bảng, v .v.v
4 . Các loại truy vấn
- Truy vấn chọn lựa (Select Query)
- Truy vấn tạo bảng (Make Table Query)
- Truy vấn cập nhật (Update Query)
- Truy vấn thêm (Append Query)
- Truy vấn xóa (Delete Query)
- Truy vấn chéo (Crosstab Query)
truy vấn chọn Truy vấn chọn là loại truy vấn dùng để chọn lựa, rút trích dữ liệu từ các bảng dữ liệu thỏa mãn một hoặc nhiều điều kiện nào đó. 2 . Các hình thức truy vấn chọn thường gặp - Truy vấn chọn lựa đơn giản. - Truy vấn chọn lựa tổng hợp theo nhóm - Truy vấn tìm kiếm các giá trị lớn nhất, nhỏ nhất, giá trị có trong bảng này mà không có trong bảng khác (gọi chung là truy vấn tìm giá trị đặc biệt) 3 . Truy vấn chọn lựa đơn giản - Trong cửa sổ làm việc của Msaccess chọn Object là Query D.click vào dòng lệnh Create query in design view xuất hiện cửa sổ QBE và hộp thoại Show table. - Lần lượt chọn các bảng sẽ tham gia trong query và nhấn vào nút add để đưa bảng vào vùng chứa bảng của query. Sau khi chọn đủ các bảng cần thiết nhấn vào nút Close để đóng cửa sổ Showtable trở về với cửa sổ query. - Đưa các field cần hiển thị dữ liệu vào vùng lưới QBE Lần lượt D.Click chọn các field cần hiển thị dữ liệu trong query của từng bảng để làm xuất hiện field đó trong vùng field của bảng QBE. Có thể tạo ra field mới dựa vào các field đã có trong các bảng & các phép toán.. 12 Sử dụng các thành phần cần thiết trong vùng lưới QBE trên các cột để tạo truy vấn có sắp xếp dữ liệu (Dòng SORT), đưa điều kiện để chọn lọc dữ liệu (dòng CRITERIA) hoặc muốn cột đó có xuất hiện trên truy vấn hay không (dòng SHOW). Lưu ý : Muốn thay đổi định dạng của dữ liệu trong 1 field của bảng query , ta bấm chuột phải vào tên field đó chọn lênh properties - Chuyển cửa sổ truy vấn về dạng Datasheet view để kiểm tra kết quả hoàn chình truy vấn Đóng và lưu truy vấn 4 . Truy vấn chọn lựa tổng hợp a - Chức năng: Dùng để tổng hợp thông tin theo một hay một số cột dữ liệu. b - Thực hiện: - Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn - Thực hiện lệnh: View/Totals - Trong vùng lưới QBE: - Tại hàng Field chọn các trường Total chọn các phép toán tương ứng. Criteria: Chọn điều kiện giới hạn tính tổng (Nếu có) Phép toán Ý nghĩa Groupby Sum Avg Min Max Count First Last Where Expression Nhóm lại thành nhóm theo từng field Tính tổng các giá trị của một trường Tính giá trị trung bình của một trường Tính giá trị nhỏ nhất của một trường Tính giá trị lớn nhất của một trường Đếm số giá trị khác rỗng có trong một trường Giá trị của trường ở bản ghi đầu tiên trong bảng Giá trị của trường ở bản ghi cuối cùng trong bảng Giới hạn điều kiện khi tính tổng Trường kiểu biếu thức - Lưu và thực hiện truy vấn 13 5 . Truy vấn tìm các giá trị đặc biệt a - Chức năng: - Truy vấn kết quả này dùng để tìm các giá trị đặc biệt trong bảng dữ liệu chẳng hạn như tìm giá trị lớn nhât, nhỏ nhất, tìm giá trị có trong bảng này mà không có trong bảng kia. b - Truy vấn tim giá trị lớn nhất hoặc nhỏ nhất - Thực hiện truy vấn chọn lựa đơn giản : Thực hiện truy vấn chọn lựa đơn giản thỏa mãn các yêu cầu đưa ra (trừ yêu cầu giá trị dặc biệt). - Tạo truy vấn tổng hợp theo giá trị đặc biệt cần tìm - Thực hiện sắp thứ tự cho field cần tìm giá trị đặc biệt : Nếu yêu cầu giá trị lớn nhất thì sắp thứ tự giảm dần. Nếu yêu cầu giá trị nhỏ nhất thì sắp thứ tự tăng dần - Click chọn ô Top value trên thanh công cụ nhập vào số 1 Enter (Số 1 có nghĩa là ta chọn các giá trị nào được xếp hạng 1 trong field). - Chuyển cửa sổ truy vấn về dạng Datasheet view để kiểm tra kết quả hoàn chình truy vấn Đóng và lưu truy vấn c - Truy vấn tim giá trị có trong bảng 1 mà không có trong bảng 2 - Xác định field cần tìm. - Xác định bảng đóng vai trò bảng 1 (bảng chứa giá trị cần tìm); bảng đóng vai trò bảng 2 (bảng không chứa giá trị cần tìm). (lưu ý thông thường bảng 1 là bảng đóng vai trò 1 trong mối quan hệ 1 - ∞ và giá trị cần tìm thường thuộc field được chọn làm khóa) - Đưa bảng 1 vào tham gia truy vấn Đưa các field cần thiết vào tham gia truy vấn) kèm theo các điều kiện như truy vấn chọn lựa thông thường. - Tại phần điều kiện của field chứa dữ liệu cần tìm nhập câu lệnh sau : NOT IN (SELECT TÊN FIELD FROM BẢNG 2) - Chuyển cửa sổ truy vấn về dạng Datasheet view để kiểm tra kết quả hoàn chình truy vấn Đóng và lưu truy vấn V - TRUY VẤN THAM SỐ (Parameter Query) 1 . Khái niệm Nếu thường xuyên chạy cùng một truy vấn, nhưng mỗi lần một tiêu chuNn khác nhau, thay vì phải thiết kế lại truy vấn sau mỗi lần thực hiện, có thể tiết kiệm thời gian bằng cách tạo truy vấn tham số. Khi thực hiện loại 14 này Access sẽ nhắc nhập điều kiện chọn trong hộp thoại enter parameter Value. Ví dụ: Giả sử thường xuyên chạy một truy vấn để liệt kê danh sách nhân viên của một cơ quan nào đó có mã cơ quan nhập vào bất kỳ. Chú ý: Nội dung các tham số mà chúng ta nhập vào có thể là hằng ( số,chuỗi,ngày..) nhưng không được biểu thức. 2 . Tạo truy vấn tham số - Tạo truy vấn chọn và đưa các bảng cần thiết vào tham gia truy vấn. - Kéo các trường cần thiết vào vùng lưới QBE. - Tại hàng Criteria gõ vào biểu thức có chứa tham số với chú ý tên tham số phải nằm giữa 2 dấu ngoặc vuông ( [ ]) - Tên tham số cũng là chuỗi nhắc nhở.Access cho phép có khoảng trắng và độ dài tối đa 255 ký tự. - Quy định kiểu dữ liệu cho tham số: Chọn queries/ parameter query. - Trong hộp thoại query parameters: Trong mục Parameter - chọn tham số, trong mục Data type chọn kiểu dữ liệu tương ứng. Ví dụ: Tạo truy vấn để hiển thị danh sách các khách hàng mua một mặt hàng nào đó (mặt hàng được nhập bất kỳ từ bàn phím). Ví dụ : Tạo truy vấn để hiển thị danh sách các khách hàng mua hàng có họ lót được nhập từ bàn phím. 15 3 . Truy vấn nhiều tham số Có thể tạo truy vấn , khi chạy truy vấn nhập nhiều dữ liệu cho điều kiện chọn lựa. Muốn vậy tạo truy vấn nhiều tham số. Ví dụ: Tạo một truy vấn hiển thị danh sách các khách hàng mua hàng trong khoảng thời gian nào đó (Thời gian được nhập từ bàn phím). - Tạo truy vấn chọn và đưa các 2 bảng dshang và dskhach vào tham gia truy vấn. - Kéo các trường tenhang, tenkhach, ngaymua vào vùng lưới QBE. - Tại hàng Criteria của trường NGAYSINH chọn: - Between [Từ ngày] and [Đến ngày] - Chọn query/Parameter khai báo kiểu dữ liệu cho 2 tham số là date/time. Khi chạy truy vấn sẽ cho kết quả sau 4 . Kết hợp giữa truy vấn tham số và truy vấn tính tổng Trong nhiều bài toán quản lý người ta thường gặp những yêu cầu như: Hãy thống kê xem mỗi loại hàng trong một tháng nào đó bán được với tổng số lượng là bao nhiêu? Tổng thành tiền là bao nhiêu? (Tháng được nhập từ bàn phím). Vì vậy trước hết chúng ta phải thực hiện truy vấn tính tổng xong mới kết hợp truy vấn tham số. Ví dụ: Hãy tạo một truy vấn để hiển thị tổng thanhtien của mỗi mặt hàng bán được trong một năm nào đó (Năm được nhập từ bàn phím). 16 - Tạo một truy vấn chọn, đưa bảng Dshang và dskhach vào tham gia truy vấn. - Đưa các trường tenhang, ngayban, thanhtien vào vùng lưới QBE. - Chọn View/Totals - Trong hàng Total: Chọn Group by đối với trường tenhang, và year([ngayban]) - Trong hàng Criteria đối với trường Ngaysinh, ta chọn tham số sau: - [Nhap vao nam ban hang]. VI - TRUY VẤN TẠO BẢNG 1 . Tác dụng Truy vấn này sẽ trích, lấy ra một số cột dữ liệu trong các bảng hoặc các truy vấn có sẳn tạo thành bảng mới. Kết quả của truy vấn làm xuất hiện thêm bảng mới thuộc đối tượng table trong cơ sở dữ liệu . 2 . Cách tạo truy vấn - D.Click vào dòng lệnh Create query in design view chọn các bảng cần tham gia vào truy vấn. - Chọn lựa các field cần thiết tham gia vào truy vấn (thực hiện như Select query) - Xem trước kết quả trong chế độ sheet view - Click Menu Query chọn Maketable Query (hoặc click nút Query type và chọn maketable query) Xuất hiện hộp thoại yêu cầu đặt tên cho bảng mới đặt tên bảng OK - Click nút lệnh RUN để thực hiện truy vấn chọn Yes để trả lời đồng ý tạo ra bảng mới khi hộp thoại thông báo. - Đóng, lưu và đặt tên cho truy vấn trở về phần table để kiểm tra lại kết quả do truy vấn tạo ra. 17 VII - TRUY VẤN CẬP NHẬT – UPDATE QUERY 1 . Công dụng: - Truy vấn này dùng thay đổi, tính toán lại một hay nhiều cột dữ liệu trong bảng cần cập nhật. - Kết quả của truy vấn không làm xuất hiện thêm bảng mới trong cơ sở dữ liệu mà chỉ làm thay đổi nội dung của một hoặc nhiều cột trong bảng dã được chọn. 2 . Thực hiện: - D.Click vào dòng lệnh Create query in design view chọn bảng có chứa cột cần cập nhật. - Click Menu Query chọn Update Query (hoặc click nút Query type và chọn Update query). - Chọn field cần cập nhật & field chứa điều kiện đưa vào phần Field Nhập công thức tính toán trong phần Update to, điều kiện vào phần Criteria - Bước 4. Thực hiện Run truy vấn này sẽ xuất hiện hộp thông báo số mẫu tin được cập nhập trong bảng chọn nút Yes để đồng ý cập nhật dữ liệu. - Lưu truy vấn lại để xem kết quả trở về Table mở bảng có chứa cột cần cập nhập xem kết quả. Nhận xét: truy vấn cập nhật này sử dụng khi nào cần tính toán, hay làm thay đỗi dữ liệu trong các cột đã có trong bảng được chọn. Còn khi tính cho cột nào đó mà cột này chưa cho trong bảng thì ta không dùng truy vấn 18 cập nhật( Updtae Query) mà chỉ sử dụng truy vấn chọn lựa (Select Query bình thường) để tạo ra thêm cột mới này. VIII - TRUY VẤN THÊM – APPEND QUERY 1 . Chức năng: - Truy vấn này dùng để thêm vào một bảng nào đó một hay nhiều mNu tin(dòng) thông tin mới - Kết quả của truy vấn làm xuất hiện thêm những dòng dữ liệu mới trong bảng đã chọn . 2 . Cách thực hiện: Truy vấn này có ba dạng thêm: Thêm vào bảng mỗi lần một mNu tin Thêm vào bảng nhiều mNu tin bằng cách dùng tham biến. Thêm vào bảng nhiều mNu tin bằng từ một bảng đã có dùng tham biến. a - Dạng thêm vào bảng chỉ một mu tin: - Tạo Query không chọn bảng nào. - Nhập dữ liệu cần thêm vào hàng field name trong lưới QBE (dữ liệu text viết trong dấu nháy đôi, dữ liêu số viết bình thường..) - Click nút lệnh Query type
File đính kèm:
- baigiangphanquery.pdf