Mục đích: Sinh viên phải thực hiện: Tạo lập được một CSDL Kỹ năng thiết kế cấu trúc Table ở chế độ Design View cho CSDL cần quản lý Khai báo các thuộc tính và ràng buộc dữ liệu của trường, của Table trong CSDL Thiết lập các mối quan hệ giữa các trường trong các table của một CSDL Nhập dữ liệu vào các Table Khai thác và xử lý dữ liệu trong các bảng
Trang 1KHOA KHOA HỌC MÁY TÍNH
============================
BÀI TẬP THỰC HÀNH QUẢN LÝ VÀ XỬ LÝ DỮ LIỆU
CĂN BẢN
Chủ biên : Phí Đắc Hải Hiệu đính : Phí Đắc Hải Biên soạn : Đỗ Công Đức
Trang 4
Phần I: TẠO LẬP DATABASE VÀ TABLEMục đích: Sinh viên phải thực hiện:
Tạo lập được một CSDL
Kỹ năng thiết kế cấu trúc Table ở chế độ Design View cho CSDL cần quản lý
Khai báo các thuộc tính và ràng buộc dữ liệu của trường, của Table trong CSDL
Thiết lập các mối quan hệ giữa các trường trong các table của một CSDL
Nhập dữ liệu vào các Table
Khai thác và xử lý dữ liệu trong các bảng
BÀI THỰC HÀNH SỐ 1 (1 tiết)
Câu 1: Khởi động Access và tạo lập một CSDL (Database) QLHANG.MDB trên ổ đĩa D: Câu 2: Hãy tạo trong CSDL QLHANG.MDB các Table có tên và cấu trúc như sau:
a) Table DM KHO có cấu trúc như sau:
Field Name Data Type Field size
b) Table DM VATTU có cấu trúc như sau:
Field Name Data Type Field size
c) Table DM NHANVIEN có cấu trúc như sau:
Field name Data type Field size
Trang 5 Khởi động Access: Chọn Start/Programs/Microsoft Office/Microsoft Office Access
2003 Xuất hiện cửa sổ và chọn Create a new file… ở Panel bên phải
Xuất hiện cửa sổ New File và chọn Blank Database ở Panel bên phải, xuất hiện cửa sổ File New Database: trong cửa sổ này ta thực hiện như sau:
Tại Save in: Chọn ổ đĩa D:
Đặt tên cho CSDL tại mục File name: QLHANG
Tại mục Saves as type: Microsoft Office Access Database (*.mdb)
CSDL Database QLHANG vừa tạo có giao diện như sau:
Tạo các Table của CSDL QLHANG
Trang 6 Trong cửa sổ Database QLHANG chọn trang Tables và chọn nút New xuất hiện hộp thoại New Table, chọn mục Design View và chọn OK
Xuất hiện cửa sổ Design view để khai báo cấu trúc cho bảng:
Khai báo cấu trúc cho Table như sau:
Vào menu File/Save hoặc kích vào biểu tượng Save trên thanh công cụ
Standard Xuất hiện hộp thoại Saves As:
Trang 7Câu 1: Khởi động Access và mở CSDL (Database) QLHANG
Câu 2: Thực hiện hiệu chỉnh cấu trúc các Table trong CSDL QLHANG như sau:
a) Table DM KHO có cấu trúc như sau:
DIACHI Text Field SizeCaption Địa chỉ50
Để thiết lập trường khóa cho Table ta thực hiện chọn trường cần làm khóa và kích
chuột vào biểu tượng chìa khóa trên thanh công cụ Standard hoặc kích phải chuột vào trường cần tạo khóa và chọn Primary key.
b) Table DM VATTU có cấu trúc như sau:
TENVT Text Field SizeCaption Tên vật tư30
DVT Text Field SizeCaption Đơn vị tính10
QUYCACH Text Field SizeCaption Quy cách50
c) Table DM NHANVIEN có cấu trúc như sau:
NGAYSINH Date/Time CaptionFormat Short DateNgày sinh
PHAINAM Yes/no CaptionFormat Phái namYes/no
LUONGCB Number Field SizeCaption Lương cơ bảnDouble
Trang 8Field name Data type Properties Ghi chú
d) Table CHITIETNHAPXUAT có cấu trúc như sau:
Caption Ngày chứng từ
Câu 3: Thực hiện các thao tác sao chép trường, chèn trường, di chuyển trường, xóa trường
cho table CHITIETNHAPXUAT
Hãy thực sao chép trường DONGIA một lần nữa, sửa lại các tên trường này là THANHTIEN.
Hãy chèn trước trường SOLUONG một trường có tên là DIACHIKH có thuộc tính
như sau:
DIACHIKHO Text Field SizeCaption Địa chỉ khách hàng50
Trang 9 Field MaVT : Thiết kế hộp chọn gồm hai cột tham chiếu số liệu từ trường MaVT, TenVT của Table DM VATTU.
Field LOAIPHIEU : Thiết kế hộp chọn gồm hai cột dữ liệu như sau:
Lưu ý: Độ rộng của các cột trong hộp chọn vừa đủ, thích hợp để hiển thị đầy đủ dữ liệu
của trường, dữ liệu bắt buộc phải nhập trong hộp chọn không được tự nhập giá trịngoài danh sách hộp chọn hộp chọn này hiển thị 4 hàng
Câu 5: Hãy hiệu chỉnh các trường có kiểu dữ liệu Date/Time với thuộc tính Input Mask để
hỗ trợ nhập liệu dạng: / /
Câu 6: Hiệu chỉnh lại Table DM KHO sao cho khi nhập giá trị trường MaKho thì người
dùng buộc phải nhập hai ký tự đầu là chữ
Câu 7: Thực hiện các thao tác: đổi tên, sao chép các Table trong cửa sổ Database như sau:
Đổi tên Table DM NHANVIEN thành DanhMucNhanVien và DM KHO thành DanhMucKho.
Sao chép Table DanhMucNhanVien thành DM NHANVIEN, DanhMucKho thành
DM KHO
Xoá hai Table DanhMucNhanVien và DanhMucChucVu
BÀI THỰC HÀNH SỐ 3
Câu 1: Mở CSDL Database QLHANG.MDB
Câu 2: Thiết lập mối quan hệ giữa các Table
Quan hệ giữa Table DM KHO với CHITIETNHAPXUAT là quan hệ 1- thông qua trường MAKHO
Quan hệ giữa Table DM NHANVIEN với CHITIETNHAPXUAT là quan hệ 1- thông qua trường MANV
Quan hệ giữa Table DM VATTU với CHITIETNHAPXUAT là quan hệ 1- thông qua trường MAVT
Lưu ý: Khi thiết lập quan hệ giữa các Table thì các Table ở trạng thái đóng.
Câu 3: Thực hiện thiết lập quan hệ giữa các Table
Kích vào biểu tượng Relationships hoặc vào menu Tools chọn Relationships xuấthiện hộp thoại Show Table như sau:
Trang 10 Lần lượt chọn các Table cần đưa vào cửa sổ quan hệ trong Show Table và chọn Add Xuất hiện cửa sổ Relationships Thực hiện di chuyển và thay đổi các Table sao cho có
mô hình như hình sau:
Thiết lập quan hệ giữa Table DM KHO và CHITIETNHAPXUAT là quan hệ 1- Nhắp chuột vào trường MAKHO trong Table DM KHO và kéo lê thả chuột vào trường MAKHO trong Table CHITIETNHAPXUAT
Trong cửa sổ Edit Relationships, chọn các thuộc tính ràng buộc dữ liệu tại các check box Enforce Referential Interity, Cascade Update Related Fields, Cascade Delete Related Records, chọn Create để tạo quan hệ.
Tương tự ta lần lược thực hiện tạo các quan hệ giữa các table cho CSDL trên theo môhình sau:
Trang 11Câu 4: Tiến hành nhập dữ liệu cho các Table cho CSDL QLHANG.MDB theo gợi ý sau:
a) Nhập dữ liệu cho Table : DM KHO như sau:
b) Nhập dữ liệu cho Table: DM VATTU như sau:
c) Nhập dữ liệu cho Table : DM NHANVIEN như sau:
Lưu ý : Để nhập liệu cho trường Photo (Ảnh), Anh (Chị) cần thực hiện thao tác chèn File hình
ảnh từ D:\ANH
Hướng dẫn: Kích phải chuột vào trường cần nhập hình ảnh, chọn Insert Object, xuất hiện
hộp thoại chọn Option Create Form File, chọn Browse để chỉ đường dẫn đến D:\ANH và chọn tập tin ảnh
Trang 12d) Nhập dữ liệu cho Table CHI TIET NHAP XUAT có thể nhập như sau:
Trang 13Câu 5: Hãy thực hiện mở Table DM KHO và xóa bản ghi có Makho là PVC, sửa
Makho=KHO1 thành KHO3 Thực hiện mở Table CHITIETNHAPXUAT ta thấy
KHO1 thành KHO3 và không tìm thấy bản ghi có Makho=PVC còn tồn tại Nhận xét?
Câu 4: Thực hiện xóa thuộc tính quan hệ ràng buộc Cascade Update Related Fields,
Cascade Delete Related Fields giữa 2 Table DM KHO và CHITIETNHAPXUAT.
Mở Table DMKHO sửa Makho là KHO2 thành KHO4, xóa bản khi có Makho làKHO3 Xuất hiện thông báo lỗi gì, nhận xét?
Xóa các thuộc tính ràng buộc quan hệ giữa các Table như thuộc tính Cascade UpdateRelated Fields, Cascade Delete Related Fields
Xóa tất cả các quan hệ giữa các Table
Xóa tất cả các Table trong cửa sổ Relationships
Câu 5: Thực hiện thiết lập lại quan hệ cho CSDL trên theo mô hình như hình trên và thiết lập
các thuộc tính toàn vẹn dữ liệu
BÀI THỰC HÀNH SỐ 4
Bài tập này sẽ hướng dẫn cho Sinh viên tự Design các Table và thiết lập mối quan hệtheo mô hình cho trước
1) Xây dựng CSDL QLNHANSU của một cơ quan Mô hình CSDL Quản lý nhân sự có mối
quan hệ Relationship như sau:
Hãy thiết kế các Table cho CSDL trên sao cho:
a) Table DM Phong ban, trường MaPB gồm 2 ký tự bắt buộc nhập và chữ hoa, màu đỏ
b) Table DMNhanvien sao cho:
Trường MaNV là số khi nhập phải hiển thị 4 ký số Ví dụ nhập 1 thì hiển thị là 0001
Trường Ngaysinh chỉ được nhập giá trị có năm cách năm hiện tại 25 năm.
Trường MaPB là hộp chọn gồm 2 cột là MaPB, TenPB lấy dữ liệu từ Table DMPhongban.
Trường MaChucvu là hộp chọn gồm 2 cột MaChucvu, TenChucvu lấy dữ liệu từ Table DMChucvu
Trường MaTrinhdo là hộp chọn tự thiết kế gồm 2 cột như sau:
Trang 14c) Table Congtac, trường Ngaycongtac bắt buộc phải nhập nhỏ hơn hoặc bằng ngày
hiện Nếu nhập lớn hơn sẽ xuất hiện thông báo lỗi “Hôm nay chưa đi công tác”.
Trường NgayKT phải lớn hơn hoặc NgayCongtac, nếu nhập nhỏ hơn sẽ xuất hiện
thông báo lỗi “Ngày kết thúc công tác phải lớn hơn hoặc bằng ngày đi công tác”
d) Table Hoso, trường MaNV là hộp chọn gồm 3 cột MaNV, Holot, Ten lấy dữ liệu từ Table DMNhanvien
Yêu cầu các thuộc tính:
Các hộp chọn hiển thị độ rộng thích hợp và hiển thị đầy đủ dữ liêụ của cột, hộp chọnchỉ hiển thị 4 hàng và bắt buộc phải nhập dữ liệu trong danh sách hộp chọn không đượcnhập giá trị ngoài danh sách Các thuộc tính khác tự thiết kế, Caption hiển thị tiếng việt,
Trang 15 Nhập dữ liệu bảng Congtac như sau:
Nhập dữ liệu bảng Hoso như sau:
2) Xây dựng CSDL QLDIEM một trung tâm học các lớp chuyên đề Mô hình CSDL Quản
lý điểm có mối quan hệ Relationship như :
Trang 16Với mô hình có trước, hãy tự tạo các Table với kiểu dữ liệu thích hợp cho mỗi trườngcũng như thiết lập quan hệ giữa các Table đúng với mô hình đã đưa ra, nhập dữ liệu cho cácbảng như sau:
Nhập dữ liệu cho Table DM LOP như sau:
Nhập dữ liệu cho Table DS HOCVIEN như sau:
Trang 17BÀI THỰC HÀNH SỐ 5 (1 tiết)
Bài tập này sẽ hướng dẫn cho sinh viên các thao tác với dữ liệu trên Table: Sắp xếp dữliệu, lọc danh sách, tìm kiếm
Thực hiện nhập dữ liệu cho các bảng dữ liệu như trên và thực hiện các thao tác sau:
Câu 1: Mở CSDL QLNhansu.MDB Mở Table DM NHANVIEN thực hiện:
a) Làm ẩn các mẫu tin có trong Table
b) Làm hiện lại các mẫu tin đã bị ẩn ở trong Table
Câu 2: Mở Table DM NHANVIEN ở chế độ Datasheet View, lần lượt sắp xếp dữ liệu trong
Table theo các yêu cầu sau:
a) Tăng dần theo NgaySinh
b) Giảm dần theo NgaySinh
c) Tăng dần theo MaNV
d) Tăng dần theo Ten
e) Sắp xếp theo Ten, nếu trùng tên thì sắp xếp tăng dần LuongCB
Câu 3: Mở Table CHI TIET NHAP XUAT ở chế độ Datasheet View và thực hiện trích lọc
như sau:
a) Lọc các mẫu tin có LOAIPHIEU là N
Trang 18b) Lọc các mẫu tin có MaVT là XE01
c) Lọc các mẫu tin có MaVT là XE01 hoặc TU01
d) Lọc các mẫu tin có NGAYCT sau ngày 01/01/2007
e) Lọc các mẫu tin có NGAYCT trong tháng 3
f) Lọc các mẫu tin có NGAYCT từ ngày 01/12/2007 đến ngày 31/12/2008
g) Lọc các mẫu tin có NGAYCT vào năm 2008
Câu 4: Mở Table DM NhanVien ở chế độ Datasheet View và thực hiện thao tác: Tìm người
đầu tiên có tên là Tuấn và thay thế bằng tên Tú
BÀI THỰC HÀNH SỐ 6 (1 tiết)
Bài tập này sẽ hướng dẫn cho sinh viên thao tác với biến, sử dụng hàm
Câu 1: Hãy mở cửa sổ Immediate bằng cách nhấn Ctrl+G, thực hiện các biểu thức theo
bảng liệt kê sau và ghi kết quả vào cột bên cạnh (nếu biểu thức lỗi hãy ghi nguyênnhân lỗi)
16 InStr(“TRUNG TAM VIET HAN DAY TIENG HAN”,”HAN”)
17 InStr(10,“VIET HAN DAY TIENG HAN”,”HAN”)
18 Mid(“TRUNG TAM VIET HAN DAY TIENG HAN”,20,3)
19 20+ VAL(“10”)
Trang 19STT YÊU CẦU THỨC BIỂU
1 Hãy cho biết ngày hiện hành là bao nhiêu và thứ mấy ?
2 Hãy cho biết hôm nay là ngày chẵn hay ngày lẻ ?
3 Cho đến hôm nay, bạn đã sống được bao nhiêu ngày ?
4 Số tuổi của bạn là bao nhiêu ?
5 Bạn sinh vào ngày thứ mấy? Và ngày sinh nhật năm nay của bạn vào
thứ mấy?
6 Điền giá trị ngày tháng năm hiện hành vào chuỗi văn bản sau : “Hômnay ngày tháng năm ”
7 Trích cụm từ DA NANG từ chuỗi: St = “DA NANG LA THANH
PHO CONG NGHIEP”
8 Trích cụm từ CONG NGHIEP từ chuỗi: St = “NEN CONG NGHIEPVIET NAM DANG PHAT TRIEN”
9 Trích cụm từ SAO từ chuỗi: St = “DEM THANH PHO DAY SAO”
10 Hãy cho biết vị trí xuất hiện của từ OFFICE trong chuỗi: St =“MICROSOFT OFFICE 2000”
11 Bạn hãy cho biết năm sinh dương lịch, thì năm âm lịch là năm con
gì? Ví dụ năm 2009 là năm kỷ sửu
12 Bạn hãy nhập một giá trị ngày tháng năm nào đó bất kỳ Hãy cho biếttháng đó có bao nhiêu ngày
13 Bạn nhập vào một giá trị ngày tháng bất kỳ, hãy cho biết tháng đóthuộc quý mấy
Câu 3:Thực hiện các hàm của CSDL.
1 Hãy cho biết ngày hiện hành là bao nhiêu và thứ mấy ?
PHẦN II TRUY VẤN DỮ LIỆU - QUERYYêu cầu: Sinh viên thực hiện:
Nắm được các loại truy vấn, khi nào dùng loại truy vấn nào
Truy vấn được dữ liệu để lấy những thông tin hữu ích
Cách xây dựng và sử dụng truy vấn
Tổng hợp, thống kê, sắp xếp và tìm kiếm dữ liệu
Trích lọc ra những bảng dữ liệu theo yêu cầu người dùng và tạo truy vấn thông số
Dùng truy vấn hành động để tạo bảng dữ liệu mới, sửa, xóa các bản ghi trong bảng
Trang 20BÀI THỰC HÀNH SỐ 7
Câu 1: Mở CSDL Database QLHANG.MDB Thực hiện tạo các SELECT QUERY
a) Hãy tạo Query có tên VatTuNhap để xem các vật tư đã được nhập vào các kho gồm
các thông tin SOCT, MAKHO, TENKHO, MAVT, NGAYCT, LYDO, SOLUONG,DONGIA (nguồn dữ liệu là table CHI TIET NHAP XUAT và DM KHO) nhưng chỉhiển thị các bản ghi có LOAIPHIEU là N (Nhập)
Hướng dẫn các bước tạo Select Query:
Trong cửa sổ Database, chọn trang Queries, chọn New xuất hiện hộp thoại:
Trong hộp thoại này chọn Design View và chọn OK
Trong hộp thoại Show Table chọn Table cần đưa vào truy vấn, chọn nút Add và chọn Close Trong cửa sổ Query 1: Select Query, thiết kế Query như sau:
Trang 21b) Tương tự câu a, hãy tạo Query có tên VatTuxuat để xem các vật tư đã được xuất ra của
các kho
c) Hãy tạo Query có tên NhapXuat Kho1Kho2 cho phép xem số liệu nhập xuất ở 2 Kho1
và Kho2 nhưng phải có số lượng >10 gồm các thông tin (xem hình)
d) Query HANGXUAT2007 cho phép xem tất cả vật tư xuất từ 01/07/2007 đến
31/12/2007(về số lượng)
Câu 2:Hãy mở CSDLQLNHANSU.MDB Thực hiện tạo các SELECT QUERY
a) Query DanhSachSX để liệt kê danh sách các nhân viên phòng Sản Xuất.
b) Query DanhSachSX-KT để liệt kê danh sách các nhân viên của hai phòng : Sản
Xuất và Kỹ Thuật
c) Tạo Query Tuoi25-35 để liệt kê danh sách các nhân viên có tuổi từ 25 đến 35.
d) Tạo Query SapXepTen để liệt kê danh sách các nhân viên ở phòng Sản Xuất bao
gồm các thông tin: MaNV, HoLot, Ten, NgaySinh, LuongCB và sắp xếp tăng dầntheo Tên trước, Họ Lót sau
Trang 22e) Tạo Query DanhSach-DangVien để liệt kê danh sách các nhân viên là Đảng viên với
số liệu được lấy từ 2 Table DM NhanVien và HoSo Các Field cho Query gồmMaNV, HoLot, Ten, NgaySinh, MaChucVu, NgayVaoDang (Danh sách được sắp
xếp tăng dần theo tên).
f) Tạo Query DanhSach-ThieuBang để liệt kê các nhân viên chưa nộp bằng cấp, thông
tin gồm tất cả những Field của Table DM NhanVien
g) Tạo Query BangLuong để lên danh sách và tính lương cho các nhân viên, với Thuc Linh được tính như sau: Thuc Linh = HeSo*540000+PhuCap-Tamung (Không lấy
số thập phân)
h) Tạo Query BangLuongPhongBan sao cho khi thi hành Query sẽ xuất hiện tham số
“Phong ban nao can hien thi:” nguời sử dụng nhập vào mã phòng ban thì Query chỉxuất hiện những người có mã phòng ban đó
i) Tạo Query DanhSachTruoc1975 để liệt kê danh sách các nhân viên có ngày sinh
trước ngày 30/04/1975
j) Tạo Query DanhSachThamSoNgay để lên danh sách nhân viên có ngày sinh trong
khoảng thời gian bất kỳ Khi thi hành Query:
Xuất hiện tham số Từ ngày: người sử dụng nhập thời gian ngày bắt đầu
Xuất hiện tham số Đến ngày : người sử dụng nhập thời gian ngày kết thúc
Câu 3: Hãy tạo Select Query với CSDL QLDiem.MDB
Trong CSDL này, tạo Query có tên TimTen để
khi thi hành Query, xuất hiện tham số “Bat dau
bang?” cho phép người dùng nhập các kí tự đầu của
tên muốn tìm điểm.Ví dụ: Khi chạy Query, ta nhập
vào chữ t (Xem hình) thì kết quả là:
Trang 23b) Query có tên là HieuChinhPhuCap để tính Phụ Cấp của mỗi nhân viên biết rằng:
d) Tạo Query có tên là TaoGhiChu để cập nhật dữ liệu cho trường GhiChu, biết rằng:
Nếu PhuCap=0 thì ghi là “Không có phụ cấp”, ngược lại để trống.
e) Tạo Query có tên là GhiChuAnh để cập nhật dữ liệu cho trường HinhAnh trong Table HoSo biết rằng: Nếu trường PhoTo trong Table DM NhanVien có ảnh thì cập nhật giá trị True cho trường HinhAnh.
Câu 2:Hãy tạo các Update Query với CSDL QLDiem.MDB
Trong CSDL này, hãy tạo Query CapNhatDiemLonNhat, để khi thi hành sẽ cập nhật cho trường Diem theo cách: Trường Diem là giá trị lớn nhất của 2 trường DiemLan1, DiemLan2.
Nếu cả 2 trường đều rỗng (chưa có điểm) thì bỏ trống trường Diem (xem hình).
Ví dụ: sau khi thi hành Query kết quả trong Table BANG DIEM là:
BÀI THỰC HÀNH SỐ 8
Câu 1: Hãy tạo các truy vấn tổng hợp nhóm (Total) với CSDL
THUCHANH_QLNhanSu.MDB
a) Tạo Query với tên TongHopLuongCB với nguồn số liệu từ Table DM NhanVien để
lên bảng tổng hợp lương cơ bản tương ứng với mã phòng ban (Xem hình)