Tải bản đầy đủ (.doc) (19 trang)

Truy vấn dữ liệu Tin học 12

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (378.28 KB, 19 trang )

Giáo án Tin học 12
Tuần 12:
Tiết : 23
§8. TRUY VẤN DỮ LIỆU
I. Mục đích yêu cầu
a. Mục đích, yêu cầu:
Về kiến thức: Biết khái niệm và vai trò của truy vấn (mẫu hỏi). Biết vận dụng
một số hàm và phép toán tạo ra các biểu thức số học, biểu thức điều kiện và biểu
thức logic để XD mẫu hỏi. Biết các bước chính để tạo ra một truy vấn. biết SD hai
chế độ làm việc với mẫu hỏi: chế độ thiết kế và chế độ trang DL
Về kỹ năng: Tạo được mẫu hỏi đơn giản.
b. Chuẩn bị đồ dùng dạy học: Giáo án, Sách GK Tin 12, Sách GV Tin 12
c. Phương pháp giảng dạy: Thuyết trình, hỏi đáp, đặt vấn đề, so sánh
II. Các bước lên lớp
1. Ổn định lớp:
2. Kiểm tra bài cũ: Để xóa bỏ một mối liên kết ta làm thế nào?
3. Nội dung bài mới
HĐ của giáo viên HĐ của học
sinh
Nội dung ghi
Trong CSDL chứa
các thông tin về đối
tượng ta đang quản
lý. Dựa vào nhu cầu
thực tế công việc,
người lập trình phải
biết cách lấy cách
thông tin ra theo yêu
Ví dụ: Khi
quản lý học
sinh, ta


thường có
những yêu cầu
khai thác
thông tin,
bằng cách đặt
1. Các khái niệm:
a) Mẫu hỏi (truy vấn):
Mẫu hỏi là một trong những công cụ quan
trọng nhất của CSDL để tổng hợp, sắp xếp
và tìm kiếm DL, biến DL thô đang được
lưu trữ thành những thông tin cần thíêt.
Mẫu hỏi tập hợp thông tin từ nhiều nguồn
DL và hoạt động như 1 bảng.
cầu nào đó. Access
cung cấp công cụ để
tự động hóa việc trả
lời các câu hỏi do
chính người lập
trình tạo ra.
Ví dụ (bên)
Các tóan hạng trong
biểu thức có thể là:
- Tên trường (đóng
vai trò như là biến)
được ghi trong dấu [
]:
Ví dụ: [HODEM],
[LUONG]
- Các hằng số
- Các hằng văn bản

phải được viết trong
cặp dấu ngoặc kép,
ví dụ: “NAM”,
“NỮ”
- Các hàm số:
SUM ,AVG, MAX ,
MIN, COUNT
Ví dụ về biểu thức
số học:
câu hỏi (truy
vấn):
Tìm kiếm học
sinh theo mã
học sinh? Tìm
kiếm những
học sinh có
điểm trung
bình cao nhất
lớp? Tổng số
hàng hóa tính
bằng tiền đã
nhập trong
tháng ? Tiếp
theo yêu cầu
này người lập
trình sử dụng
ngôn ngữ lập
trình để đón
nhận truy vấn
và thực hiện

truy xuất dữ
liệu cho kết
xuất lên màn
hình hoặc in
ra giấy.
b) Tác dụng của mẩu hỏi:
- Sắp xếp các bản ghi
- Chọn các bản ghi thỏa điều kiện nào đó
- Chọn các trường hiển thị trong danh sách
- Thực hiện tính tóan
- Tổng hợp và hiển thị thông tin từ các
Table có quan hệ hoặc mẫu hỏi.
c) Biểu thức trong Access:
Để thực hiện các tính tóan và kiểm tra các
điều kiện, ta phải biết cách viết các biểu
thức đó. Các biểu thức trong Access là:
Biểu thức số học, biểu thức điều kiện và
biểu thức lôgic:
- Các phép tóan thường dùng:
o Phép toán số học: +,-,*,/
o Phép toán so sánh:
<, >, <=,>=,=,<> (không bằng)
o Phép toán Lôgic: AND (và), OR
(hoặc), NOT (phủ định).
o Phép toán ghép chuổi: &
Ví dụ: [HO_DEM]&” “&[TEN], ghép
trường [HO_DEM] và trường [TEN]
- Toán hạng trong biểu thức có thể là :
[SOLUONG]*[DO
NGIA]

200*[DONGIA]

Ví dụ về biểu thức
chuổi
[HODEM]&”
“&[TEN]
Ví dụ về các biểu
thức:
Biểu thức ghép
chuỗi: [HO_DEM]
& “ “&[TEN]
Biểu thức số học :
[SO_LUONG] *
[DON_GIA] để
tính thành tiền
(2*[TOAN]
+2*[VAN]+
[TIN_HOC])/5 
để tính điểm trung
Ghép trường
HO_DEM với
một dấu Space
với trường
TEN
o Tên trường: được viết trong cặp dấu
[ ]
Ví dụ: [HODEM], [TEN]
o Hằng số: 200, 12
o Hằng văn bản (các ký tự) phải được
viết trong cặp dấu kép “ “

Vdụ: “Nam” , “Giỏi”
o Các hàm số như: Sum, Avg, Max,
Min, Count
Ví dụ: SUM([THANHTIEN]): để tính tổng
cột thành tiền
Biểu thức số học được SD để mô tả các
trường tính toán trong mẫu hỏi.
Ví dụ: MatDo:[Sodan]/[Dientich]
Biểu thức Logic Đc SD trong các trường
hợp sau:
 Thiết lập bộ lọc cho bảng
 Thiết lập ĐK lọc để tạo mẫu hỏi.
Ví dụ:[Gtinh]=”Nam” and [Tin]>=8
d) Các hàm số trong Access:
Hàm số trong Access dùng để tính tóan các
dữ liệu trên trường chỉ định. Một số hàm
thông dụng để tính tóan trên trường có dữ
liệu số như sau:
SUM: Tính tổng giá trị số trên trường chỉ
định.
bình
Biểu thức điều kiện:
“Giỏi” OR “Khá” 
để lọc ra danh sách
học sinh Giỏi hoặc
Khá
Biểu thức Lôgic :
[TOAN]>=0 AND
[TOAN]<=0dùng
kiểm tra dữ liệu

nhập vào cột điểm
sao cho điểm thuộc
thang 10 điểm.
Chú ý : Phân biệt
hai cách viết sau đây
:
(2*[TOAN]
+2*[VAN]+
[TIN_HOC])/5
2*[TOAN]
+2*[VAN]+
[TIN_HOC]/5
AVG: Tính giá trị trung bình các giá trị số
trên trường chỉ định.
MIN: Tìm giá trị nhỏ nhất của các số nằm
trên trường chỉ định.
MAX: Tìm giá trị lớn nhất của các số nằm
trên trường chỉ định.
COUNT: Đêm các ô khác rỗng nằm trên
trường chỉ định
ROUND(a,n): làm tròn biểu thức số :a,
đến n số lẻ.
Ví dụ về cách sử dụng hàm số:
ROUND((2*[TOAN]+2*[VAN]+
[TIN_HOC])/5,1)  làm tròn biểu thức
trong ngoặc đến 1 số lẻ.
Để tạo mẫu hỏi ta
thường có những
bước chính sau
2. Tạo mẫu hỏi: Thực hiện 1 trong 2

cách sau:
 Cách 1: Nháy đúp vào Create query
đây:
 Chọn DL nguồn
cho Query
 Chọn các trường
từ DL nguồn
 Khai khái các
ĐK
 Chọn các trường
cần SX các bản
ghi
 Tạo các trường
tính toán
 Đặt Đk gộp
nhóm
Chú ý: Không nhất
thiết phải thực hiện
tất cả các bước này.
Giải thích:
Filed: Khai báo tên
trường được chọn
Table: Tên table
chứa trường đã chọn
Sort: Sắp xếp dữ
liệu nằm trong
truờng đã chọn
Show: cho ẩn /hiện
cột đã chọn
DSHS

(MAHS,HOD
EM, TEN,
GIOITINH,
NGAYSINH,
DIACHI,TO)
MON_HOC
(MA_MON_
HOC ,
TEN_MON_
HOC)
BANG_DIE
M(MAHS,
MA_MON_H
OC,
NGAYKIEM
TRA,
DIEM_SO)
in Design view.
 Cách 2: Nháy đúp vào Create query
by using wizard
Tạo query (mẫu hỏi) bằng phương
pháp thiết kế (Design):
2.1) Dùng Query để lọc dữ liệu, cho ẩn
hiện trường, sắp xếp bản ghi:
Ví dụ 1: Dựa trên Table BANG_DIEM
hãy lọc ra danh sách chứa tất cả các
trường của nó nhưng chỉ chứa các học
sinh có điểm >=8
B1: Trong cửa sổ CSDL, kích vào đối
tượng Queries, kích đúp vào lệnh Create

Query in Design View, xuất hiện- H1
B2:Trong cửa sổ Show Tale kích đúp
vào Table BANG_DIEM để chọn qua
lưới cuối cùng kích vào lệnh Close của
Show Table – H2
B3: Chọn các trường muốn xuất hiện
trong danh sách lọc, theo yêu cầu ở đây
ta chọn hết bằng cách kích đúp chuột vào
tiêu đề BANG_DIEM, bảng bị tô màu
xanh, trỏ chuột vào vùng đã chọn kéo rê
sang lưới QBE (mẫu hỏi theo ví dụ) thả
chuột vào cột đầu tiên của lưới. (H3)
B4:Ở dòng lọc (Criteria) , cột Diem_so,
nhập điều kiện lọc >=8 (H3)
Criteria: ghi điều
kiện lọc, điều kiện
lọc nằm trên một
hàng có ý nghĩa
“Và”
Or: Diễn tả điều
kiện lọc có ý nghĩa
“hoặc”
B4: Kích chuột vào biểu tượng Run (
), xuất hiện ds đã được lọc (H4), nếu
không có gì thay đổi, ta kích vào nút
Close của cửa sổ danh sách lọc, chọn
Yes để đồng ý lưu Query, nhập tên
Query, ví dụ: Q_LOC và Enter.
H1
H2

H3
Gọi là lưới QBE (Query By
Example-lọc theo mẫu)
H4. Danh sách hs được lọc ra theo yêu cầu điểm >=8
4. Củng cố :
Câu 1: Viết biểu thức điều kiện để mô tả sự chọn lựa : loại “Trung bình” và “Yếu”
Câu 2: Cho biết hàm year( ngày), cho kết quả là năm của biểu thức ngày, date() là
hàm cho giá trị ngày hiện thời, NGAY_SINH là trường chứa giá trị
ngày/tháng/năm sinh của học sinh. Lập biểu thức tính tuổi của học sinh?
Câu 3: Cho biết giá trị của biểu thức lôgic sau:
(23>8) AND (123<=12), (23>8) OR (123<=12), NOT (45>=190)
Câu 4:Tại sao người ta phải ghép thêm dấu khoảng trắng vào giữa [HO_DEM] và
[TEN]
Câu 5: Thiết kế Query để được KQ như hình sau:
Hướng dẫn:
1 - Chọn hàm AVG tính trị trung bình trên trường Diem_so
2 - Chọn hàm Max tính điểm cao nhất trên trường Diem_so
3 - Chọn hàm Min tính điểm thấp nhất trên trường Diem_so
5. Dặn dò:Về nhà làm lại ví dụ trên, nhưng dùng cách đặt tên cột mới để đổi tên
cho AvgOFDIEM_SO Điểm trung bình, MaxOfDIEM_SOĐiểm cao nhất,
MinOFDIEM_SOĐiểm thấp nhất, như trong danh sách dưới đây:
Tuần 13:
Tiết : 24, 25
Bài tập & thực hành 6 – MẪU HỎI TRÊN MỘT BẢNG
a) Mục đích, yêu cầu:
• Làm quen với mẫu hỏi kết xuất thông tin từ một bảng.
• Tạo được những biểu thức điều kiện đơn giản
• Làm quen với mẫu hỏi có sử dụng gộp nhóm
• Biết sử dụng các hàm gộp nhóm ở mức độ đơn giản.

b) Chuẩn bị đồ dùng dạy học: Giáo án, sách GK tin 12, Sách GV tin 12, đĩa chứa
các chương trình minh họa (quản lý học sinh:gv biên soạn).
c) Phương pháp giảng dạy: Thực hành.
d) Các bước lên lớp:
1. Ổn định tổ chức: Điểm danh
2. Kiểm tra bài cũ: Để liên kết giữa các bảng ta có những cách nào?
3. Nội dung:
Bài 1: Sử dụng tệp Quanlyhocsinh.Mdb tạo mẫu hỏi liệt kê và sắp xếp thứ tự theo
tổ, họ tên, ngày sinh của các bạn nam
Hướng dẫn: Mở tệp Quanlyhocsinh.Mdb, nhắp vào ngăn Query, nháy đúp vào
Create query in Design view, chọn bảng hocsinh nháy Add. Lần lượt nháy đúp
các trường trong bảng hocsinh. Nếu muốn sắp xếp theo tổ, tạo dòng Sort của cột
To nháy chọn Ascending
Bài 2: Mẫu hỏi có gộp nhóm
Trong CSDL Quanlihocsinh tạo mẫu hỏi Thongke có SD các hàm gộp nhóm để so
sánh trung bình điểm toán và điểm văn giữa các tổ.
Hướng dẫn: tiến hành theo các bước sau:
1. Trong ngăn mẫu hỏi, nháy đúp vào Create query in Design view
2. Nháp đúp vào Table Hocsinh, nháy nút Close để đóng hộp thoại Show table.
3. trên cửa sổ mẫu hỏi chọn trường To (để gộp nhóm theo tổ), chọn các trường
Toan và Van (để tính các giá trị cần đưa vào mẫu hỏi)
4. Để gộp nhóm, nháy nút hoặc chọn lệnh View\ Totals
Tại cột To nháy chọn Group By ở hàng Total, chọn Ascending ở hàng
Sort.
Nháy mũi tên chỉ xuống ở cạnh phải của ô thuộc hàng Total và cột Toán,
chọn Avg và đổi tên trường thành TBToan.
Nháy mũi tên chỉ xuống ở cạnh phải của ô thuộc hàng Total và cột Van,
chọn Avg và đổi tên trường thành TBVan.
5. Nháy nút hoặc chọn lệnh Query\Run để thực hiện mẫu hỏi
6. Lưu lại với tên Thongke.

Bài 3: Sử dụng CSDL Quanlihocsinh, tạo mẫu hỏi Ki_Luc_Diem thống kê các
điểm cao nhất của tất cả các bạn trong lớp về từng môn (Toán, lí, hóa, văn, tin).
4. Củng cố:Nếu trong khi chọn trường để đưa vào mẫu hỏi, nếu ta chọn nhầm
trường thì có thể xóa bỏ nó bằng cách chọn trường đó rồi nhấn phím Delete. Thứ
tự các trường cũng có thể thay đổi bằng cách chọn trường cần di chuyển rồi kéo thả
tới vị trí mới.
5. Dặn dò: Tiết sau thực hành tiếp tục query với các bài tập mới.
Tuần: 13, 14
Tiết : 26, 27 – Ngày soạn: 19/9/2008
Bài tập & thực hành 7 – MẪU HỎI TRÊN NHIỀU BẢNG
a) Mục đích, yêu cầu:
• Tạo mẫu hỏi kết xuất thông tin từ nhiều bảng.
• Củng cố và rèn luyện kĩ năng tạo mẫu hỏi
b) Chuẩn bị đồ dùng dạy học: HS có sách bài tập gv soạn. Chuẩn bị phòng thực
hành. Copy các tệp CSDL làm CSDL cho bài tập
c) Phương pháp giảng dạy: Thực hành.
d) Các bước lên lớp:
1. Ổn định tổ chức: Điểm danh
2. Kiểm tra bài cũ:
3. Nội dung:
Mở tệp KINH_DOANH.MDB nằm trong thư mục My Document, cấu trúc bảng:

Nội dung các bảng:

Hãy làm các bài tập dưới đây
Bài 1: Sử dụng 02 bảng : HOA_DON và SAN_PHAM, lập danh sách chứa tên sản
phẩm (Ten_san_pham) và tạo trường mới để đếm (hàm Count) số lần đặt sản
phẩm đã mua. Đặt tên Query là Q1
Kết quả:
Bài 2: Sử dụng 02 bảng HOA_DON và SAN_PHAM, dùng các hàm AVG, MAX,

MIN để thống kê số lượng trung bình, cao nhất, thấp nhất trong các đơn đặt hàng
theo tên sản phẩm. Đặt tên cho Query là Q_THONGKE
Kết quả:
Bài 3:Sử dụng 02 bảng HOA_DON và KHACH_HANG, đặt điều kiện cho các
trường tương ứng để thiết kế mẫu hỏi thu thập thông tin (Tên khách hàng, địa chỉ,
ngày giao hàng) về các khách hàng có ngày giao hàng sau ngày 18/08/2006 và có
số lượng lớn hơn 30. Đặt tên cho Query là Q3
Kết quả:
Bài 4: Tạo trường mới tổng giá tiền:[don_gia]*[so_luong] rồi dùng hàm Sum trên
trường này để thống kê các khách hàng có tổng số tiền trên các đơn đặt hàng lớn
hơn 100.000 đồng trong các đơn đặt hàng. Hãy lập mẫu hỏi thực hiện công việc
này. Đặt tên Q4
Kết quả:
4. Củng cố: Trong các biểu mẫu có gộp nhóm, cần chọn đúng hàm để gộp
nhóm
5. Dặn dò: Tiết sau học bài 9 - BÁO CÁO VÀ KẾT XUẤT BÁO CÁO.
Tuần 14:
Tiết : 28
BÀI TẬP – ÔN TẬP
CÁC LỆNH CƠ SỞ-QUERY-FORM
a) Mục đích, yêu cầu:
Về kỹ năng: Rèn luyện kỹ năng về thiết kế bảng, vấn tin, biểu mẫu và báo cáo
bằng phương pháp Wizard, lưu trữ. Qua đây GV bộ môn nắm lại trình độ tiếp thu
của hs, từ đó phân loại hs, điều chỉnh bài tập cách dạy phù hợp, rà soát lại phương
pháp giảng dạy, nội dung kiến thức truyền đạt rút kinh nghiệm cho bài thi HK1.
b) Chuẩn bị đồ dùng dạy học: Giáo viên: Giáo án, SGK, SGV. HS xem lại các
bài đã học. Chuẩn bị phòng thực hành. Copy các tệp CSDL làm csdl cho bài tập
c) Phương pháp giảng dạy: Thực hành.
d) Các bước lên lớp:
1. Ổn định tổ chức: Điểm danh

2. Kiểm tra bài cũ:
3. Nội dung:
Câu 1: Tạo tập tin CSDL có tên ONTAP.MDB nằm trong thư mục My Document
Thiết kế các Tables sau: DIEM và SOBAODANH. Tạo mối quan hệ giữa hai
Table này ? Sau đó nhập dữ liệu theo nội dung bên dưới (T1) và (T2).

(T1)
(T2)
Câu 2: Lập danh sách chứa các trường So_bao_danh, Ho_ten, Ngay_sinh,
Toan,Van,Tinhoc, Phongthi và tạo thêm trường mới DiemTB theo công thức
DiemTB=(2*Toan+2*Van+Tinhoc)/5. Sắp xếp trường SO_BAO_DANH theo
chiều tăng dần, đặt tên Query này là: Q_DIEMTB
Câu 3: Lập danh sách đếm số lượng các loại điểm thi môn Toan lớn hơn 7
H dẫn: Chọn vào lưới QBE truờng điểm TOAN hai lần,
Đổi tên Field thành
Số lượng
Đổi tên Field thành
Điểm Tóan
Câu 4: Tạo Form chứa 3 trường SO_BAO_DANH, HO_TEN, NGAY_SINH
trong Form này có chứa một Form khác chứa các thông tin như sau:
SO_BAO_DANH, TOAN, VAN,TINHOC,DIEMTB
Tuần 15:
Tiết : 29
KIỂM TRA THỰC HÀNH (TRÊN MÁY)
a) Mục đích, yêu cầu:
Về kỹ năng: Nắm cách thiết kế Table, lập mối quan hệ giữa các bảng, nhập dữ
liệu. Lập danh sách bằng mẩu hỏi. Thiết kế biểu mẫu (Form) bằng Wizard. Qua
đây GV bộ môn nắm lại trình độ tiếp thu của hs, từ đó phân loại hs, điều chỉnh bài
tập cách dạy phù hợp, rà soát lại phương pháp giảng dạy, nội dung kiến thức
truyền đạt rút kinh nghiệm cho HK2.

b) Chuẩn bị đồ dùng dạy học: Chuẩn bị phòng thực hành.
c) Phương pháp giảng dạy: Thực hành phòng Hi class, chia làm 2 đợt, đợt 2 dành
cho những hs nghỉ học có phép, những hs lần kiểm tra trước bị hỏng máy.
d) Các bước lên lớp:
1. Ổn định tổ chức: Điểm danh
2. Kiểm tra bài cũ:
3. Nội dung:
Nội dung đề :
A) Đề thi thực hành – 45 phút
Câu 1 (1đ): Tạo một tệp CSDL có tên THIHK1.MDB lưu tại thư mục My
Computer, thiết kế 3 Tables như sau được mô tả như sau:
Tên bảng Tên trường Khóa
chính
Kiểu dữ liệu Ghi chú
HOC_SINH Ma_hoc_sinh
Ho_dem
Ten
Text
Text
Text
MON_HOC Ma_mon_hoc Text
Ten_mon_hoc Text
BANG_DIEM ID
Ma_hoc_sinh
Ma_mon_hoc
Ngay_kiem_tra
Diem_so
AutoNumber
Text
Text

Date/Time
Number
Ở thuộc tính
Field Size
chọn Single
(số thực)
Format:Fixed
Decimal
place:1
Câu 2(1đ): Thiết lập mối quan hệ giữa bảng HOC_SINH với BANG_DIEM qua
trường Ma_hoc_sinh, giữa bảng MON_HOC với BANG_DIEM qua trường
Ma_mon_hoc để đảm bảo tính toàn vẹn dữ liệu
Câu 3: (1đ)Nội dung dữ liệu nhập vào cho các bảng như sau:

Câu 4: (2 đ) Tạo biểu mẫu để nhập dữ liệu cho bảng 2 bảng một lần:HOC_SINH

BANG_DIEM
Câu 5: (5 đ) Thiết kế một số mẫu hỏi theo yêu cầu sau đây:
a) Thống kê (điểm trung bình, điểm cao nhất, điểm thấp nhất ) theo từng học sinh
trong lớp. Danh sách hiển thị học sinh theo 05 cột: họ đệm,tên, cột điểm trung
bình, cột điểm cao nhất, cột điểm thấp nhất. Đặt tên Q1
b) Thống kê theo từng môn học, trên trường điểm , để biết trị trung bình, cao nhất,
thấp nhất . Danh sách hiển thị 04 cột : tên môn học, và 3 cột thống kê. Đặt tên Q2
c) Hiển thị danh sách gồm 04 cột, họ đệm, tên, tên môn học và điểm số. Đặt tên Q3
d) Hiển thị danh sách gồm các điểm của tất cả học sinh trong lớp theo một môn
học nào đó (họ đệm, tên và điểm). Đặt tên Q4
e) Hiển thị danh sách gồm các cột: Ten_mon_hoc, Diem_so, Ngay_kiem_tra, ngày
chỉ định lọc ra là 1/1/2005. Đặt tên Q5
H dẫn: Trong cửa sổ thiết kế q5, ở hàng lọc (criteria) & cột Ngay_kiem_tra, nhập
vào ngày chỉ định: 1/1/2005

×