Mục tiêu Nắm được khái niệm về truy vấn, các loại truy vấn trong cơ sở dữ liệu và cách tạo một truy vấn mới.. Khái niệm truy vấn Công cụ cho phép khai thác và xử lý dữ liệu Kết nối
Trang 1Tiết 08 Tổng quan về truy vấn
Cách tạo một truy vấn mới
Trang 2Mục tiêu
Nắm được khái niệm về truy vấn, các loại truy vấn trong
cơ sở dữ liệu và cách tạo một truy vấn mới.
Vận dụng thực hành tạo truy vấn dựa trên các yêu cầu
cụ thể
Trang 3Tài liệu tham khảo
1) Bùi Thế Tâm, Giáo trình Microsoft Access, NXB GTVT, 2006 2) Phan Chánh Minh, Sử dụng Access 7.0, NXB Trẻ, 1997
3) Nguyễn Hồng Phương, Thực hành xây dựng cơ sở dữ liệu
bằng Access,NXB Đại học Khoa học tự nhiên,2007
Trang 43.1 Khái niệm truy vấn
Công cụ cho phép khai thác và xử lý dữ liệu
Kết nối dữ liệu từ nhiều bảng,
Sắp xếp dữ liệu theo các tiêu chí khác nhau
Tính toán trên trường mới
Chỉ định điều kiện để lọc lấy những bản ghi cần thiết…
Một query được đặc trưng bởi một câu hỏi và một câu trả lời
Trang 5Ví dụ về truy vấn
HSCB MACB HOTEN NGAYSINH QUEQUAN DIENTHOAI CB001 Nguy n Thành Trung ễ 04/08/1984 Phú Thọ 0912765341
CB002 Lê Th Y n ị ế 22/11/1976 Hà N i ộ 0166670456
CB003 Tr n Ng c Anh ầ ọ 12/05/1986 Thái Nguyên 098765352
CB004 Hoàng Xuân Vũ 16/01/1981 H i Phòng ả 0987132776
LUON
HESOLUON
- Hãy hiển thị thông tin về lương của một cán bộ bao gồm: HOTEN,
MANGACH, BACLUONG, HESOLUONG, PHUCAP?
- Hãy hiển thị những cán bộ có quê quán ở “ Phú Thọ” bao gồm:HOTEN, QUEQUAN?
Trang 6 Select Query: Truy vấn chọn
Crosstab Query: Truy vấn tham khảo chéo
Action Query :Truy vấn hành động
+ Make Table Query: Truy vấn tạo bảng
+ Append Query: Truy vấn nối
+ Update Query: Truy vấn cập nhật
+ Delete Query: Truy vấn xóa
SQL Query: Truy vấn viết bởi ngôn ngữ SQL
Pass throught Query: Truy vấn chuyển giao
Các loại truy vấn trong cơ sở dữ liệu
Trang 73.2 Các chế độ hiển thị truy vấn
Cửa sổ thiết kế truy vấn(Design view)
Cửa sổ hiển thị truy vấn(Datasheet view)
Cửa sổ lệnh SQL(SQL view)
phachdiem.mdb
Trang 83.3 Tạo truy vấn
3.3.1 Tạo mới 1 truy vấn
A Các bước chính để xây dựng một truy vấn, gồm:
1 Chọn nguồn dữ liệu cho truy vấn mới, gồm: các bảng, các truy vấn
đã được tạo từ trước
2 Tạo lập quan hệ giữa các bảng, truy vấn nguồn
3 Chọn các trường từ các bảng, truy vấn nguồn để đưa vào truy vấn mới
4 Đưa vào các điều kiện để chọn lọc các bản ghi thoả mãn các điều kiện đưa vào
5 Chọn các trường để sắp xếp các bản ghi
6 Xây dựng các cột (trường) mới từ các trường đã có trong bảng,
Trang 9Ví dụ: Trong CSDL PHACHDIEM đã có 3 bảng:
Bảng DSTS(SOBD, HOTEN, NAMSINH, TENTINH)
Bảng BD_PHACH(SOBD, PHACH)
Bảng PH_DIEM(PHACH, DTOAN, DLY,DHOA)
Y/c:* Tạo truy vấn gồm các trường:[HOTEN], [SOBD], [TENTINH],
[DTOAN], [DLY], [DHOA], [TONGDIEM]
* Tạo truy vấn gồm các thí sinh có tổng điểm lớn hơn hoặc bằng điểm chuẩn (giả sử điểm chuẩn là 16)
* Truy vấn cần được sắp xếp theo chiều tăng của trường [TENTINH]
và thứ tự giảm của trường [TONGDIEM]
phachdiem.mdb
3.3 Tạo truy vấn
3.3.1 Tạo mới 1 truy vấn
Trang 10
Để giải quyết bài toán trên, ta xây dựng truy vấn [KETQUATS] theo
trình tự sau:
Bước 1: Trong cửa sổ Database của CSDL TSINH chọn mục Query,
sau đó bấm nút New, kết quả nhận được cửa sổ:
3.3 Tạo truy vấn
Trang 113.3 Tạo truy vấn
Bước 2: Chọn nút Design View, Access sẽ mở hộp Show Table có
dạng:
Trang 123.3 Tạo truy vấn
Bước 3: Chọn các bảng DSTS, BD_PHACH, PH_DIEM, sau đó bấm
nút Add Cuối cùng bấm Close để đóng cửa sổ show table Kết quả nhận được cửa sổ Select Query như sau:
Trang 133.3 Tạo truy vấn
Bước 4: Tạo mối quan hệ giữa các bảng:
Bước 5: Chọn các trường đưa vào truy vấn bằng cách kéo tên trường
trong các bảng/truy vấn nguồn từ phần trên đặt xuống dòng Field của phần dưới.
phachdiem.mdb
Trang 14 Mỗi truy vấn có tối đa là 32 bảng tham gia.
Tối đa là 255 trường
Kích thước tối đa của bảng dữ liệu (do truy vấn tạo ra)
là 1 gigabyte
Số trường dùng làm khóa sắp xếp tối đa là 10
Số truy vấn lồng nhau tối đa là 50 cấp
Số ký tự tối đa trong ô của vùng lưới là 1024
Số ký tự tối đa trong dòng lệnh SQL là 64000
Số ký tự tối đa trong tham số là 255
Một số chú ý khi tạo truy vấn
Trang 153.3.2 Thay đổi thứ tự và xóa các trường
Thay đổi thứ tự các trường bằng cách kéo thả các trường cần thay đổi trên vùng lưới QBE
Xóa các trường bằng cách chọn các trường cần xóa trên vùng lưới QBE, sau đó nhấn phím Del
3.3.3 Thể hiện hoặc che dấu tên bảng trong vùng lưới QBE
Tại chế độ Design view thực hiện View/ Table name
3.3.4 Xem kết quả truy vấn
Tại cửa sổ Database chọn tên truy vấn rồi chọn Open hoặc trong khi đang ở chế độ Design view thực hiện View/Datasheet view
Trang 163.3.5 Đổi tiêu đề cột (trường) trong truy vấn
- Đổi tên trường trong vùng QBE: Gõ tên mới ngay trước tên trường Đặt dấu : giữa tên mới và tên trường
Ví dụ: Ta có thể đổi tên trường [DTOAN], [DLY], [DHOA] như sau:
Diemtoan: DTOAN, diemly: DLY, diemhoa: DHOA
- Khi đưa vào trường mới vào mà sử dụng biểu thức tính toán ta phải thêm dấu [ ] vào tên trường tính toán
Ví dụ: Tongdiem: [DTOAN] + [DLY] + [DHOA]
Trang 173.3.6 Định thứ tự sắp xếp:
+ Bấm chuột vào ô Sort của trường cần sắp xếp
Trong đó: Ascending: Sắp theo thứ tự tăng dần
Descending : Sắp theo thứ tự giảm dần
Ví dụ: ta chọn
Trường [TENTINH] sắp chiều Ascending
Trường [TONGDIEM] sắp chiều Descending
3.3.7 Thể hiện hoặc che dấu các trường trong Dynaset
Trong lưới thiết kế QBE, tại hàng Show ứng với trường cần che dấu hay hiển thị
Minh hoạ:phachdiem.mdb
Trang 18Bài tập về nhà
Xây dựng CSDL luongGV gồm các bảng:
-Bảng HSNS(maCB, hoten,NS, DT, QQ, donvi, chucvu, trinhdo, chuyenmon, hslkhoidiem)
-Bảng LUONG(maCB, mapccv, mapckv,mangach, bac, hslhientai, loaithuong, tamung, ungho)
- Bảng PCCV(mapccv, chucvu, hspccv)
-Bảng LOAITHUONG(loaithuong, danhhieu,tienthuong)
Yêu cầu xây dựng truy vấn:
1 Tính lương GV toàn trường và sắp xếp theo chiều giảm
của lương GV.
2 Đưa ra bảng lương của từng đơn vị.