Truy vấn hành động

Một phần của tài liệu GIÁO TRÌNH Mô đun HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS NGHỀ QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ CAO ĐẲNG (Trang 78 - 95)

I. Giới thiệu về truy vấn

4 Truy vấn hành động

9. 4.1. Truy vấn tạo bảng mới (Make Table Query)

Truy vấn tạo bảng sẽ tạo ra một bảng từ tất cả hoặc một phần dữ liệu từ một hoặc nhiều bảng.

a) Các bước thực hiện truy vấn tạo bảng mới

 Để tạo truy vấn tạo bảng chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn. Đưa các trường vào vùng lưới QBE

 Chọn Query/ Make Table Query

 Trong mục Table Name: Đặt tên cho bảng muốn tạo mới

 Chọn Current Database: CSDL hiện thời

 Another Database: Tạo bảng trong CSDL khác

 Chọn OK

Hình 3.40. Cửa sổ Make Table

 Trong hàng Sort: Sắp xếp dữ liệu (nếu cĩ)

 Show: Cĩ hiển thị trường trong bảng kết quả hay khơng

 Trong hàng Criteria: Đặt điều kiện (nếu cĩ)

 Click vào nút “Run” trên thanh cơng cụ để xem kết quả chạy Query vừa tạo. Sau khi chạy truy vấn thì một bảng mới sẽ được tạo ra trong mục Tables

 Lưu truy vấn

b) Ví dụ

Tính tổng sinh viên ở mỗi khoa, thơng tin gồm: MaKhoa, TenKhoa, Tổng SV, kết quả lưu vào một bảng mới tên là TongSV_Khoa.

Đây là truy vấn tạo bảng mới kết hợp với truy vấn tính tổng, ngồi ra cũng cĩ thể kết hợp truy vấn tạo bảng mới với những truy vấn khác đã học như truy vấn chéo, truy vấn chọn, truy vấn tham số… Thực ra truy vấn tạo bảng cĩ bản chất dựa vào những truy vấn trên nhưng kết quả được lưu vào một bảng trong cửa sổ Tables

 Tạo truy vấn tính tổng sinh viên ở mỗi khoa như đã học

71

 Trong mục Table Name: gõ vào TongSV_Khoa

 Chọn Current Database: CSDL hiện thời

Hình 3. 41. Cửa sổ Make Table cho truy vấn tạo bảng mới

 Chọn OK

Hình 3.42. Vùng lưới QBE thiết kế truy vấn tạo bảng mới

 Click vào nút “Run” trên thanh cơng cụ để xem kết quả chạy Query vừa tạo, thì Access sẽ thơng báo là cĩ bao nhiêu mẫu tin trong bảng mới vừa tạo, chọn Yes

Hình 3.43. Hộp thoại thơng báo số mẫu tin trong bảng mới

72 Hình 3.44. Cửa sổ Tables khi cĩ bảng mới tạo

 Lưu truy vấn

Nếu chạy truy vấn này một lần nữa thì Access sẽ thơng báo là xĩa bảng TongSV_Khoa cũ đã tạo, sau đĩ tạo một bảng mới khác cùng tên và chèn các mẫu tin vào bảng mới đĩ.

Hình 3.45. Thơng báo xĩa bảng cũ của Access

10. 4.2. Truy vấn thêm dữ liệu (Append Query)

Truy vấn nối dữ liệu dùng để nối dữ liệu từ một bảng này vào sau một bảng khác hoặc thêm một mẫu tin vào một bảng.

a) Các bước thực hiện truy vấn thêm dữ liệu

Loại truy vấn nối dữ liệu từ một bảng này vào sau một bảng khác:

 Tạo truy vấn chọn và đưa bảng cho dữ liệu vào tham gia truy vấn tại hộp thoại Show Table.

 Chọn Queries/Append Query

 Chọn Current Database: CSDL hiện thời

73 Hình 3 46. Hộp thoại Append

 Trong mục Table name: Chọn bảng nhận dữ liệu vào và chọn OK.

 Trong vùng lưới QBE của truy vấn:

- Tại hàng Field: Đưa các trường của bảng cho vào.

- Trong hàng Append to: Đưa các trường tương ứng của bảng nhận và đặt điều kiện nếu cần thiết.

Hình 3. 47. Vùng lưới QBE truy vấn nối dữ liệu  Chú ý

Trong truy vấn thêm dữ liệu thì các trường được nối với nhau tương ứng phải cùng kiểu dữ liệu. Nếu các trường tương ứng khơng cĩ cùng kiểu dữ liệu thì sẽ khơng được nối. Nếu các trường cĩ Field size khơng phù hợp thì tuỳ theo việc nối dữ liệu mà sẽ cắt bớt hoăc thêm vào ký tự trắng.

Loại truy vấn thêm một bản ghi tự nhập vào một bảng đã cĩ:

 Tạo truy vấn chọn và trong hộp thoại Show Table sẽ khơng chọn một bảng nào hết.

74

 Chọn Current Database: CSDL hiện thời

 Another Database: Tạo bảng trong CSDL khác

 Trong mục Table Name: Chọn bảng nhận dữ liệu và chọn OK.

 Trong vùng lưới QBE của truy vấn:

- Tại hàng Field: Gõ vào dữ liệu mẫu tin cần thêm.

- Tại hàng Append to: Đưa các trường tương ứng của bảng nhận.

b) Ví dụ

Truy vấn thêm dữ liệu 1: Hãy nối các mẫu tin từ bảng SinhVien_TH vào bảng SinhVien_NN.

 Tạo truy vấn chọn và tại hộp thoại Show Table chọn bảng SinhVien_TH

 Chọn Queries/Append Query

 Chọn Current Database: CSDL hiện thời

 Tại Table Name: Chọn bảng SinhVien_NN

 Tại hàng Field: chọn tất cả các trường trong bảng SinhVien_TH

 Tại hàng Append: Chọn tất cả các trường nhận dữ liệu tương ứng trong bảng SinhVien_NN

Hình 3.48. Vùng lưới QBE truy vấn thêm dữ liệu 1

 Lưu truy vấn và chạy xem kết quả của truy vấn, thì Access sẽ thơng báo số mẫu tin được nối vào bảng SinhVien_NN như sau:

75 Hình 3.49. Access thơng báo số mẫu tin nối vào bảng nhận

Nếu chạy truy vấn vừa tạo thêm một lần nữa thì Access sẽ xuất hiện thơng báo lỗi vì dữ liệu khĩa chính sẽ bị trùng lặp, cho nên truy vấn thêm dữ liệu chỉ được phép chạy một lần duy nhất.

Hình 3.50. Access thơng báo lỗi khi chạy truy vấn thêm dữ liệu lần 2

Truy vấn thêm dữ liệu 2: Hãy thêm một mẫu tin vào bảng MonHoc với dữ liệu tự

nhập như sau: MaMH: 18, TenMH: “Lý thuyết đồ thị”, Số tiết :90

 Tạo truy vấn chọn và trong hộp thoại Show Table sẽ khơng chọn một bảng nào hết.

 Chọn Queries/Append query. Hộp thoại Append xuất hiện:

 Chọn Current Database: CSDL hiện thời

 Trong mục Table Name: Chọn bảng MonHoc

76 Hình 3.51. Vùng lưới QBE truy vấn thêm dữ liệu 2

 Lưu truy vấn và chạy xem kết quả của truy vấn.

Mở bảng MonHoc, chúng ta sẽ thấy mẫu tin mới được thêm vào.

Hình 3.52. Bảng MonHoc sau khi thêm mẫu tin

11. 4.3. Truy vấn cập nhật (Update Query)

Truy vấn này dùng để sửa đổi dữ liệu đồng loạt trên một số mẫu tin của bảng.

a) Các bước thực hiện truy vấn cập nhật

 Tạo một truy vấn chọn và đưa bảng vào tham gia truy vấn tại Show Table.

 Chọn Query/Update query

 Tại hàng Field: Chọn trường cần cập nhật dữ liệu

 Tại hàng Update to: Đưa vào giá trị hoặc biểu thức cập nhật

 Tại hàng Criteria: Đưa vào điều kiện (nếu cĩ)

 Lưu truy vấn và chạy xem kết quả của truy vấn. Lưu ý:

 Truy vấn cập nhật chỉ chạy một lần duy nhất tại vì nếu chạy truy vấn bao nhiêu lần thì dữ liệu sẽ được cập nhất mới bấy nhiêu lần và như vậy thì dữ liệu khơng cịn được cập nhật đúng nữa.

 Trong truy vấn cập nhật chỉ nên hiển thị các trường cần cập nhật và các trường điều kiện trong vùng lưới QBE, khơng nên hiển thị tất cả các trường trong bảng như những truy vấn khác.

77

b) Ví dụ: Tạo truy vấn để cập nhật giá trị cho trường HocBong=(HocBong)+50000

cho những sinh viên học ngành TH.

 Tạo một truy vấn chọn và đưa bảng SinhVien vào tham gia truy vấn.

 Chọn Query/Update Query

 Trong vùng lưới QBE cĩ nội dung như sau:

Hình 3.53. Vùng lưới QBE truy vấn cập nhật

 Lưu truy vấn và chạy xem kết quả của truy vấn, khi đĩ Access sẽ thơng báo số mẫu tin trong bảng được cập nhật là bao nhiêu, như hình sau:

Hình 3.54. Access thơng báo số mẫu tin được cập nhật

Nếu chạy truy vấn trên thêm lần nữa thì HocBong sẽ được cộng thêm 50000 nữa và như vậy thì HocBong bị cập nhật sai.

12. 4.4. Truy vấn xĩa dữ liệu (Delete Query)

Truy vấn xố giúp chúng ta loại bỏ các mẫu tin từ một bảng (Khơng xĩa cấu trúc của bảng).

a) Các bước thực hiện truy vấn xĩa dữ liệu

 Để tạo truy vấn xố chúng ta tạo truy vấn chọn và đưa bảng vào tham gia truy vấn

 Chọn Query/ Delete Query

 Trong vùng lười QBE tại hàng Field chọn các trường cần so sánh với điều kiện xố

78

 Tại hàng Delete: Chọn phép tốn Where

 Tại hàng Criteria: Chọn điều kiện xố

 Lưu truy vấn và chạy truy vấn, mở bảng xem kết quả các mẫu tin cĩ bị xĩa hay khơng.

b) Ví dụ:

 Tạo truy vấn để xố những sinh viên cĩ MaSV là “A01”.

 Tạo truy vấn chọn và đưa bảng SinhVien vào truy vấn.

 Chọn Query/ Delete Query

 Trong vùng lưới QBE cĩ nội dung như sau:

Hình 3.55. Vùng lưới QBE truy vấn xĩa

 Khi chạy truy vấn thì Access sẽ thơng báo số mẫu tin bị xĩa, click “Yes” để xĩa, “No” thì ngừng.

Hình 3.56. Access thơng báo số mẫu tin bị xĩa Mở bảng SinhVien thì mẫu tin cĩ nội dung sinh viên A01 đã bị xĩa.

79 Hình 3.57. Bảng SinhVien đã bị xĩa mẫu tin “A01”

Câu hỏi và bài tập

A. Câu hỏi

1. Nêu khái niệm truy vấn, cho ví dụ?

2. Truy vấn gồm cĩ những loại nào?

3. Truy vấn chọn cĩ những chức năng nào mạnh hơn chức năng Filter trong bảng, cho ví dụ minh họa?

4. Trình bày các bước tạo mới một truy vấn?

5. Trình bày thao tác lưu và chạy xem kết quả của truy vấn?

6. Nêu các thao tác thường dùng trên vùng lưới QBE?

7. Nêu ý nghĩa và ký hiệu của các tốn tử, cấu trúc và cơng dụng của các hàm thường dùng trong truy vấn chọn?

8. Trong những trường hợp nào thì sử dụng phép tốn Like?

9. Nêu cĩ nhiều phép tốn logic (And, Or, Not) trên nhiều trường thì Access sẽ thực hiện thứ tự ưu tiên nhu thế nào? Cho ví dụ minh họa?

10. Nêu cấu trúc tạo trường mới, cho ví dụ?

11. Sử dụng cộng cụ nào để lấy 3 mẫu tin đầu tiên trong bảng thực hiện kết quả truy vấn chọn?

12. Nêu khái niệm truy vấn tính tổng? Cho ví dụ?

13. Trình bày các bước thực hiện truy vấn tính tổng? So sánh với các bước thực hiện truy vấn chọn?

14. Trình bày các phép tốn thường dùng trong truy vấn tính tổng?

15. Cĩ thể tính tổng trên nhiều trường gom nhĩm khơng? Cho ví dụ?

16. Trong truy vấn tính tổng, điều kiện được đặt ở những trường nào? Cho ví dụ minh họa?

17. Nêu khái niệm truy vấn tham số? Cho ví dụ cụ thể?

18. Trình bày các bước thực hiện truy vấn tham số? So sánh với truy vấn chọn?

19. Cĩ thể kết hợp truy vấn tham số với truy vấn tính tổng được khơng? Cho ví dụ minh họa?

80

20. Nêu khái niệm truy vấn chéo? Dấu hiện để phân biệt truy vấn tính tổng với truy vấn chéo?

21. Trình bày cách xác định 3 yếu tố trong truy vấn chéo?

22. Trình bày các bước thực hiện truy vấn chéo?

23. Bảng kết quả của những truy vấn nào (Truy vấn chọn, tính tổng, tham số, chéo) cĩ thể chỉnh sửa được?

24. Truy vấn hành động cĩ bao nhiêu loại? Muốn kiểm tra kết quả thực hiện của truy vấn hành động thì xem ở đâu?

25. Nêu khái niệm truy vấn tạo bảng mới? Cĩ thể kết hợp truy vấn tạo bảng mới với những loại truy vấn nào? Cho ví dụ?

26. Trình bày các bước thực hiện truy vấn tạo bảng mới?

27. Nêu khái niệm truy vấn thêm dữ liệu? Cĩ bao nhiêu loại truy vấn thêm dữ liệu?

28. Trình bày các bước thực hiện truy vấn thêm dữ liệu?

29. Trong truy vấn thêm dữ liệu nếu các trường cho và nhận tương ứng khơng cùng kiểu dữ liệu thì sẽ ra sao?

30. Nêu khái niệm truy vấn cập nhật?

31. Trình bày các bước thực hiện truy vấn cập nhật?

32. Nêu khái niệm truy vấn xĩa dữ liệu?

33. Trình bày các bước thực hiện truy vấn xĩa dữ liệu?

34. Trong các loại truy vấn hành động, truy vấn nào chỉ nên chạy truy vấn 1 lần? Giải thích vì sao như vậy?

B. Bài tập

Bài 1. Sử dụng CSDL QuanLySinhVien.mdb đã tạo ở bài tập chương 2 để tạo các

truy vấn theo yêu cầu sau :

I- Truy vấn chọn

1. Hiển thị danh sách sinh viên gồm các thơng tin sau: MaSV, HoSV, TenSV, NgaySinh, GioiTinh.

2. Hiển thị danh sách sinh viên như câu 1 nhưng sắp xếp theo MaSV tăng dần. 3. Hiển thị danh sách sinh viên gồm các thơng tin sau: Masv, HoSV, TenSV, NgaySinh, GioiTinh, MaKH, HocBong (sắp xếp MaKH tăng dần, MaSV giảm dần)

81 4. Hiển thị bảng điểm sinh viên gồm các thơng tin: MaSV, HoSV, TenSV, MaMH, Diem

5. Hiển thị thơng tin sinh viên với các mơn học thơng tin: MaSV, HoSV, TenSV, TenMH, SoTiet

6. Hiển thị danh sách sinh viên cĩ tên là “Chính”

7. Hiển thị danh sách sinh viên cĩ Nơi sinh là “Sài Gịn”

8. Hiển thị danh sách sinh viên cĩ Nơi sinh là “Sài Gịn” hoặc “Hà Nội” 9. Hiển thị danh sách sinh viên cĩ Nơi Sinh là “Hà Nội” và học Khoa “TH” 10. Hiển thị danh sách sinh viên cĩ Họ là “Trần” và học Khoa “NN”

11. Hiển thị danh sách sinh viên cĩ Mã số bắt đầu là B và học Khoa “NN” 12. Hiển thị danh sách sinh viên cĩ GioiTinh là “Nữ” và nơi sinh là “Bến tre” 13. Hiển thị danh sách sinh viên cĩ ngàysinh >=01/01/1997

14. Hiển thị danh sách sinh viên khơng cĩ Học Bổng

15. Hiển thị danh sách sinh viên cĩ Học bổng và học Khoa “TH”

II- Truy vấn chọn với các cột tính tốn tự tạo ra thơng qua các hàm

1. Hiển thị danh sách sinh viên gồm các cột sau: MaKH, MaSV, HoSV,TenSV, Namsinh, Tuoi, sắp xếp tuổi theo thứ tự tăng dần. Biết rằng tuổi sẽ là Năm hiện Hành – Năm Sinh.

2. Hiển thị danh sách sinh viên gồm các cột sau: MaSV, HoTenSV, GioiTinh, MaKH, TenKhoa. biết rằng HoTenSV= [HoSV] & [TenSV].

3. Hiển thị danh sách sinh viên gồm các thơng tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 12.

4. Hiển thị danh sách sinh viên gồm các thơng tin sau: MaSV, HoTenSV, Ngaysinh, NoiSinh nhưng chỉ lọc Sinh viên sinh vào tháng 11 và năm 1997.

5. Hiển thị danh sách sinh viên gồm các thơng tin sau: MaSV, HoTenSV, HocBong, MaKhoa, TenKhoa, HocBongMoi. Biết rằng Học bổng mới = 10%*[HocBong] +[HocBong]

6. Hiển thị danh sách sinh viên gồm các thơng tin sau: MaSV, HoTenSV,TenMH, Diem, DanhGia. Biết rằng nếu điểm <5 thì DanhGia là Rớt, ngược lại là Đậu.

III- Truy vấn tính tổng

82 2. Hãy đếm số sinh viên của từng Khoa, thơng tin gồm: MaKH, TenKhoa, TongSoSV, chỉ hiển thị khoa “TH” hoặc “NN”.

3. Cho biết Học Bổng cao nhất, thấp nhất của từng khoa, thơng tin hiển thị: MaKhoa, TenKhoa, HBMax, HBMin

4. Hãy đếm số sinh Viên Nam của từng Khoa là bao nhiêu, thơng tin gồm: MaKhoa, TenKhoa, TongSVNam

5. Hãy đếm số sinh Viên Nữ của từng Khoa là bao nhiêu, thơng tin gồm: MaKhoa, TenKhoa, TongSVNu

6. Cho biết tuổi trung bình của Sinh viên trong từng Khoa là bao nhiêu thơng tin gồm: MaKhoa, TenKhoa, TuoiTB

7. Hiển thị bảng điểm tổng hợp của sinh Viên gồm thơng tin: MaSV, HoTenSV, DiemTB, TongSoMonThi. Trong đĩ DiemTB là điểm trung bình của các Mơn thi, TongSoMonThi là tổng số các mơn thi của các sinh viên. Điểm TB lấy 2 số lẻ.

8. Hãy đếm số sinh viên của từng Mơn Học thơng tin gồm: TenMH, TongSoSV. 9. Cho biết tổng học bổng của mỗi khoa, thơng tin gồm: MaKH, TenKH, TongHocBong, chỉ hiển thị các khoa cĩ tổng học bổng >3000000.

10. Cho biết tổng số tiết học của mỗi sinh viên học khoa “TH”, thơng tin gồm: MaSV, HoTenSV, TongSoTiet.

IV- Truy vấn tham số

1. Hiển thị danh sách sinh viên cĩ MaKh được nhập từ bàn phím.

2. Hiển thị danh sách sinh viên cĩ Năm sinh là một khoảng thời gian được nhập từ bàn phím.

3. Tính tổng học bổng của mỗi Quan, cĩ Quan được nhập từ bàn phím, thơng tin gồm: Quan, TongHB.

4. Đếm số lượng sinh viên của từng khoa, cĩ MaKh và giới tính được nhập từ bàn phím, thơng tin gồm: MaKhoa, TenKhoa, GioiTinh, TongSV

5. Cho biết Học Bổng cao nhất, thấp nhất của từng khoa, cĩ MaKh được nhập từ bàn phím, thơng tin hiển thị: MaKh, TenKhoa, HBMax, HBMin.

Một phần của tài liệu GIÁO TRÌNH Mô đun HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ACCESS NGHỀ QUẢN TRỊ MẠNG MÁY TÍNH TRÌNH ĐỘ CAO ĐẲNG (Trang 78 - 95)

Tải bản đầy đủ (PDF)

(158 trang)