Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu - Đặng Thị Thu Hiền (Phần 1)

MỤC LỤC

LỜI NÓI ĐẦU . 5

CHƢƠNG 1: TỔNG QUAN VỀ MICROSOFT ACCESS . 7

1. Giới thiệu về Microsoft Office. 7

2. Làm việc với Microsoft Access . 7

2.1 Khởi động Access . 7

2.2 Tạo một cơ sở dữ liệu mới . 8

2.3 Làm việc với cơ sở dữ liệu đã tồn tại. 10

CHƢƠNG 2: BẢNG VÀ MỐI QUAN HỆ . 13

1. Cấu trúc của một bảng . 13

2. Thiết kế bảng. 13

2.1 Tạo bảng. 13

2.2. Đặt khoá chính . 17

2.3 Thuộc tính của trƣờng. 18

2.4 Thuộc tính của bảng. 19

2.5 Cập nhật dữ liệu vào bảng. 20

2.6 Xoá và đổi tên bảng . 20

3. Thiết lập quan hệ giữa các bảng. 21

3.1 Mối quan hệ giữa các bảng . 21

3.2 Cách tạo quan hệ . 22

3.3 Chỉnh sửa quan hệ. 23

3.4 Tạo các toàn vẹn tham chiếu. 24

BÀI TẬP CHƢƠNG 2. 26

CHƢƠNG 3: TRUY VẤN. 29

1. Tổng quan về truy vấn . 29

2. Thao tác trên truy vấn . 30

2.1 Các bƣớc tạo một truy vấn mới. 30

2.2 Đặt điều kiện trong truy vấn . 34

2.3 Tạo trƣờng tính toán trong truy vấn. 352

2.4 Thuộc tính của trƣờng và truy vấn. 36

2.5 Các phép toán và một số hàm trong Access . 37

3. Các loại truy vấn khác. 43

3.1 Truy vấn tính tổng (Totals) . 43

3.2 Truy vấn thông số (Parameter Query) . 45

3.3 Truy vấn Crosstab . 47

3.4 Truy vấn tạo bảng (Make Table Query) . 51

3.5 Truy vấn bổ sung (Append Query) . 53

3.6 Truy vấn xoá (Delete Query) . 54

3.7 Truy vấn chỉnh sửa (Update Query) . 56

BÀI TẬP CHƢƠNG 3. 59

CHƢƠNG 4: MẪU BIỂU. 63

1. Tạo mẫu biểu bằng Autoform và Wizard. 63

1.1 Tạo mẫu biểu bằng AutoForm . 63

1.2 Tạo mẫu biểu bằng Form Wizard . 64

2. Thiết kế Form ở chế độ Design. 66

2.1 Các thành phần trong một Form . 66

2.2 Các bƣớc thiết kế Form. 68

3. Hộp công cụ Toolbox. 73

3.1 Điều khiển Text box. 74

3.2 Điều khiển Combo Box. 75

3.3 Điều khiển Command Button . 83

3.4 Thiết kế dạng Main – Sub Form . 84

BÀI TẬP CHƢƠNG 4. 91

CHƢƠNG 5: BÁO BIỂU . 93

1. Tạo báo biểu bằng Autoreport . 93

2. Tạo báo biểu dùng Report Wizard . 94

3. Tạo báo biểu dùng Design View. 98

4. Tạo các nhãn dùng Label Wizard .102

BÀI TẬP CHƢƠNG 5.1053

CHƢƠNG 6: MACRO VÀ MENU .107

1. Macro .107

1.1 Tạo và sử dụng Macro .107

1.2 Các hành động Macro thƣờng dùng.109

1.3 Gắn Macro với các sự kiện trên Form/Report .109

1.4 Macro AutoExec .111

2. Menu Bar.112

BÀI TẬP CHƢƠNG 6.115

BÀI TẬP TỔNG HỢP .116

CHƢƠNG 7: LẬP TRÌNH CƠ SỞ DỮ LIỆU TRONG MS ACCESS.131

1. Giới thiệu lập trình Visual Basic Application.131

2. Module .132

2.1 Module chuẩn (Standard Module) .133

2.2 Module lớp (Class Module) .148

2.3 Module của form/report (Form/report Module).158

3. Kiểu dữ liệu, hằng và biến .168

3.1 Kiểu dữ liệu.168

3.2 Hằng .170

3.3 Biến .171

4. Các cấu trúc điều khiển.175

4.1 Cấu trúc tuần tự.175

4.2 Cấu trúc rẽ nhánh .176

4.3 Cấu trúc lặp .179

5. Hàm và thủ tục .182

5.1 Hàm.182

5.2 Thủ tục .184

6. Các mô hình truy cập cơ sở dữ liệu .184

6.1 Kiến trúc chƣơng trình ứng dụng MS Access.184

6.2 Kiến trúc DAO (Data Access Objects) .185

6.3 Kiến trúc ADO (ActiveX Data Objects).2144

BÀI TẬP CHƢƠNG 7.241

TÀI LIỆU THAM KHẢO.242

pdf131 trang | Chuyên mục: Hệ Quản Trị Cơ Sở Dữ Liệu | Chia sẻ: yen2110 | Lượt xem: 342 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu - Đặng Thị Thu Hiền (Phần 1), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
gày ở * 0.9 (Giảm10%) 
(c) GiamGiaA : ( Khuyến mãi nhân dịp 30/4 và 1/5 ). 
Đối với khách hàng đến khách sạntrong tháng 5 ( tính theo Ngày vào) thì : 
GiamGiaA = 15% * ThanhTien. 
Ngoài ra : GiamGiaA = 0 
(d) GiamGiaB: ( Khách hàng đặc biệt ) 
Khách loại 3 : GiamGiaB = 10%*ThanhTien 
Khách loại 2 : GiamGiaB = 5%*ThanhTien 
Khách loại 1 : GiamGiaB = 0 
(e) ThucThu= ThanhTien – GiamGiaA – GiamGiaB 
8. Tạo From fKH-LoaiPhong nhƣ sau : 
9. Tạo Report rTinhTien có dạng nhãn nhƣ sau cho tất cả các khách hàng: 
120 
10. Tạo Table THISINHcó các field sau :SoMay(Number–Integer), HoTen (Text-35), 
Ca(text-35). Không qui dịnh field khóa chính. Nhập dữ liệu là thông tin của chính bạn 
 BÀI TẬP 3 
1. Tạo một cơ sở dữ liệu chứa 3 table có nội dung nhƣ hình sau: 
Yêu cầu: 
• Tự xác định cấu trúc các table căn cứ vào dữ liệu chứa trong đó 
• Qui định khóa chính cho các table nhƣ sau: 
ChiTietVanTai là MaVT, TrongTai là MaTrongTai, LoTrinh là MaLoTrinh 
2. Thiết lập quan hệ giữa các table theo sơ đồ quan hệ sau: 
TrongTai ( MaTrongTai, 1 )  ChiTietVanTai ( MaTrongTai, ) 
LoTrinh ( MaLoTrinh, 1 )  ChiTietVanTai ( MaLoTrinh, ) 
3. Tạo query tên CuocPhiVanTai gồm các field SoXe, MaLoTrinh, SoLuongVT, 
NgayDi, NgayDen, ThoiGianVT, CuocPhi, Thuong. Trong đó: 
• ThoiGianVT: là 1 nếu vận chuyển trong ngày, là (NgayDen-NgayDi) trong trƣờng 
hợp ngƣợc lại. 
121 
• CuocPhi: là SoLuongVT x DonGia x 105% nếu SoLuongVT nhiều hơn 
TrongTaiQD, là SoLuongVT x DonGia trong trƣờng hợp ngƣợc lại. 
• Thuong: là 5% của CuocPhi nếu ThoiGianVT vuot ThoiGianQD, là 0 trong trƣờng 
hợp ngƣợc lại. 
4. Tạo một form tên CuocPhiVanTai có dạng sau: 
5. Tạo query tên BangChietTinhCPVT gồm các field SoXe, TenLoTrinh, SoLuongVT, 
NgayDi, NgayDen, CuocPhi. 
6. Tạo một report tên BangChietTinhCPVT theo mẫu sau: 
(góc phải dƣới của mỗi trang phải có số thứ tự trang ) 
7. Tạo query tên Câu 8để lập danh sách các xe có lộ trình vận tải là Hà Nội. 
122 
Query gồm các field SoXe, MaTrongTai, SoLuongVT, NgayDi, NgayDen. 
8. Tạo query tên Cau 9 để lập danh sách các xe có lộ trình vận tải là Nha Trang hoặc 
có SoLuongVT vƣợt trọng tải qui định. Query gồm các field SoXe, TenLoTrinh, 
SoLuongVT, TronTaiQD, NgayDi, NgayDen. 
9. Tạo query tên Cau 10 để lập danh sách các xe có lộ trình Pleiku đƣợc thƣởng hoặc 
các xe có CuocPhi từ 30000 đến 50000. Query gồm các field SoXe, TenLoTrinh, 
CuocPhi, Thuong. 
BÀI TẬP 4 
CSDL: BT4.accdb và quy định các field khóa chính cho các table nhƣ sau : DTDUTHI 
trong table ChiTietDT, SOBD trong table DanhSach, SOBD trong table DiemThi. 
 1. Thiết lập quan hệ cho các table theo sơ đồ quan hệ nhƣ sau : 
ChiTietDT( DTDUTHI, 1 )  DanhSach( DTDUTHI, ∞ ) 
DanhSach( SOBD, 1 )  DiemThi( SOBD, ∞ ) 
2. Tạo Query KET QUA chứa kết quả thi của từng học sinh bao gồm các thông tin : 
SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, TongDiem, XepLoai, DTDuThi 
Biết rằng : TongDiem = Toan + Van + AnhVan + DiemUT 
XepLoai học sinh nhƣ sau : 
* Giỏi nếu TongDiem>=24 và tất cả các môn >=7 
* Khá nếu TongDiem>=21 và tất cả các môn >=6 
* Trung Bình nếu TongDiem>=15 và tất cả các môn >=4 
* Trƣợt nếu ngƣợc lại 
3. Tạo Query GIOI TOAN – VAN – ANH VAN bao gồm các học sinh có ít nhất 1 
môn 10 và có TongDiem>=25 bao gồm các thông tin : SoBD, HoTen, Toan, Van, 
AnhVan, TongDiem, DienGiaiDT 
123 
Kết quả đƣợc sắp xếp giảm dần theo TongDiem 
4. Tạo Query DANH SACH DAU (ĐẬU) gồm các học sinh có XepLoai là Giỏi, Khá 
hoặc Trung Bình với 
các field : SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, TongDiem, XepLoai, 
DTDuThi 
Lƣu ý : Kết quả đƣợc sắp tăng dần theo DTDuThi, cùng DTDuThi thì sắp giảm dần 
theo TongDiem 
5. Tạo query HOC SINH DAT THU KHOA KY THI bao gồm các học sinh “ĐẬU” có 
TongDiem lớn nhất với các field : SoBD, HoTen, Phai, Tuoi, Toan, Van, AnhVan, 
TongDiem, DienGiaiDT 
6. Tạo Form dạng Main/Sub có tên XEM KET QUA để xem thông tin và kết quả thi 
theo từng đối tƣợng nhƣ sau : 
7. Tạo Report dạng nhãn GIAY BAO KET QUA THI để báo kết quả thi của học sinh 
theo mẫu sau : 
124 
BÀI TẬP 5 
Cho CSDL: BT5.accdb và quy định các field khóa chính cho các table: MATRUONG 
trong table TRUONG, MAHS trong table DANHSACH, MAHS và MON trong table 
DIEM 
1. Thiết lập quan hệ cho các table theo hình sau: 
TRUONG( MATRUONG, 1) → DANH SACH( MATRUONG, ∞) 
DANH SACH( MAHS, 1) → DIEM( MAHS, ∞) 
2. Tạo Query Toan gồm các field sau: MaHS, Toan. Trong đó, Toan là cột điểm toán, 
mỗi HS một dòng. 
3. Tạo Query Van gồm các field sau: MaHS, Van. Trong đó, Van là cột điểm văn, mỗi 
HS một dòng. 
4. Tạo Form TRUONG VA DSHS để xem thông tin của trƣờng và danh sách học sinh 
của từng trƣờng, form có dạng sau: 
125 
 Trong đó: (a) TD là tổng điểm của toán và văn. (b) Xếp loại theo tiêu chuẩn sau: Giỏi 
nếu TD>=16 và không có môn nào dƣới 7, Khá nếu TD>=14 và không có môn nào 
dƣới 6, TB nếu TD>=10 và không có môn nào dƣới 4, Kém - còn lại. 
5. Tạo Report Giay Bao Diem có dạng nhãn cho tất cả các học sinh tƣơng tự bài 4. 
6. Tạo Query DSHS_LQD_NTMK_10 gồm các field: MaHS, Ho, Ten, Toan, Van, 
TD. Kết quả vấn tin là danh sách học sinh thuộc trƣờng Lê qúy Đôn (LQD) và trƣờng 
Nguyễn Thị Minh Khai (NTMK) nhƣng có ít nhất 1 môn có điểm 10. 
7. Tạo Query DSHS_Dau gồm các field: MaHS, Ho, Ten, Toan.Van, TD. Kết quả vấn 
tin là danh sách học sinh đậu, có tổng điểm từ 9 trở lên và không có môn nào nhỏ hơn 
4. 
BÀI TẬP 6 
Cho CSDL: BT6.accdb và quy định các field khóa chính cho các Table: LOP trong 
LOP, SoBD trong HOCSINH, SoBD trong DIEM. 
1. Thiết lập quan hệ cho các Table: 
LOP(LOP, 1) → HOCSINH(LOP, ∞); HOCSINH(SoBD, 1) → DIEM(SoBD, 1) 
2. Tạo Form HOC SINH VA DIEM có dạng sau: 
126 
Lƣu ý: 
- Không đƣợc tạo query làm dữ liệu nguồn cho form, mà lấy trực tiếp từ các Table. 
- Mục đích form dùng xem/nhập các thông tin và điểm thi của từng học sinh) 
3. Tạo Form LOP VA DSHS có dạng Main/SubForm để xem thông tin từng lớp và 
danh sách học sinh của các lớp đó, form có dạng sau: 
 Trong đó: * TD là tổng điểm của 3 môn. * XếpLoại: Giỏi nếu TD>=24, Khá nếu 
TD>=21, TB nếu TD>=15, Kém - còn lại. 
4. Tạo Report PHIEU DIEM là các nhãn, mỗi nhãn là phiếu điểm của một học sinh và 
yêu cầu trên trang in có ít nhất 2 cột nhãn tƣơng tự bài 4. 
5. Tạo Query DSHS_KHEN THUONG gồm có các field sau: SoBD, Ho, Ten, Toan, 
Van, NN, TD. 
Kết quả vấn tin là DS học sinh có xếp loại là giỏi nhƣng phải có ít nhất một môn có 
điểm là 10. 
6. Tạo Query DSHS_LUU BAN gồm các field sau: SoBD, Ho, Ten, Toan, Van, NN, 
TD, Lop. 
Kết quả vấn tin là DS học sinh có tổng điểm nhỏ hơn 14 hoặc một trong các môn có 
điểm nhỏ hơn 4. 
BÀI TẬP 7 
 Cho CSDL: BT7.accdb và quy định các field khóa chính cho các Table: MaHD trong 
tbl Hoa don, MaHD và MaSP trong tbl Chi tiet hoa don, MaKH trong tbl Khach hang, 
MaNV trong tbl Nhan vien, MaSP trong tbl San pham. 
127 
1. Thiết lập quan hệ cho các Table: 
tbl Nhan Vien(MaNV,1) → tbl Hoa Don(MaNV,∞) 
tbl Khach Hang(MaKH,1) → tbl Hoa Don(MaKH, ∞ ) 
tbl Hoa Don(MaHD,1) → tbl Chi tiet Hoa don(MaHD,∞) 
tbl San Pham(MaSp,1) → tbl Chi tiet Hoa don(MaSp, ∞ ) 
2. Tạo Form HOA DON VA CTHD có dạng Main/SubForm để xem/nhập hoá đơn và 
chi tiết theo hoá đơn có dạng sau: (ThànhTiền bằng Số lƣợng nhân giá bán) 
128 
3. Tạo Report GIAY MOI là các nhãn, mỗi nhãn là giấy mời của một khách hàng và 
yêu cầu trên trang in có ít nhất 2 cột nhãn, có dạng sau: 
4. Tạo Query QUA TANG gồm có các field sau: 
MaHD, MaKH, NgayLapHD, TenSp, Soluong, Giaban, ThanhTien, Giamgia, 
Quatang. 
Trong đó: ThànhTiền là Số lƣợng nhân giá bán. Giảmgiá là 10% của ThànhTiền nếu 
thành tiền của sản phẩm không dƣới 500 và Soluong sản phẩm bán phải từ 35 trở lên. 
Quà tặng đƣợc tính nhƣ sau: nếu thành tiền ít hơn 1000 thì không đƣợc vé nào, từ 1000 
đến <2000 đƣợc 1 vé ca nhạc, từ 2000 đến <3000 đƣợc 2 vé ca nhạc, v.v (ví dụ: nếu 
thànhtiền = 4000 thì Quàtặng là 4 vé ca nhạc). Sắp xếp theo MaHD theo thứ tự tăng 
dần. 
5. Tạo Query DSHD RUOU_97 gồm các field sau: MaHD, NgayLapHD, SOLUONG, 
THANHTIEN. 
Kết qủa vấn tin là DSHĐ đƣợc lập trong năm 97 có ghi bán sản phẩm “Rƣợu”. 
6. Tạo Query DSHD THANG 1_2_PNAM gồm các field sau: MaHD, NgaylapHD, 
TenCty, ThanhPho. 
Kết quả vấn tin là danh sách hóa đơn đƣợc lập cho các khách hàng ở “Tp HCM” và 
“Cần Thơ” trong các tháng 1 và 2. Sắp xếp theo ngày lập hđ với thƣ tự tăng dần. 
BÀI TẬP 8 
Cho CSDL: BT8.accdb và quy định các field khóa chính cho các Table: MaPBtrong 
PHONG BAN, MaNVtrong NHAN VIEN, MaNVtrong CHI TIET. 
129 
1. Thiết lập quan hệ cho các Table: 
PHONG BAN(MaPB, 1)  NHAN VIEN(MaPB, ) 
NHAN VIEN(MaNV, 1)  CHI TIET(MaNV, 1 ) 
2. Tạo Form PHONG BAN VA DSNVcó dạng Main/SubForm để xem thông tin từng 
phòng ban và danh sách nhân viên của các phòng ban đó, form có dạng sau: (Lƣơng 
bằng HSLƣơng nhân 250000) 
3. Tạo Report PHIEU LUONG là các nhãn, mỗi nhãn là phiếu lƣơng của một nhân 
viên và yêu cầu trên trang in có ít nhất 2 cột nhãn, report có dạng sau: 
130 
4. Tạo Query DSNV_TROCAP_PHUCAPgồm có các field sau: 
MaNV, Ho, Ten, ChucVu, ThamNien, Luong, TroCap, PhuCapTN. 
Trong đó: 
ThâmNiên là số năm làm việc của nhân niên trong công ty, đƣợc tính dựa và ngày bắt 
đầu làm việc (NgayBD). 
Lƣơng là hệ số lƣơng (HSLuong) nhân 250000. 
TrợCấp là 150000 cho các nhân viên có ngày sinh trƣớc ngày 30/4/75. 
PhụCấpTN (phụ cấp thâm niên): chỉ đƣợc tính cho các nhân viên có thâm niên không 
dƣới 5 năm, và cứ mỗi năm thâm niên sau 5 năm đƣợc tính 50000 (ví dụ: ThamNien=5 
có PhuCapTN=50000, 6 năm – 100000, 7 năm – 150000, 8 năm – 200000 v.v) 
5. Tạo Query DSNV_70_TKgồm các field sau: MaNV, Ho, Ten, NTNS, Luong. 
Kết quả vấn tin là DS nhân viên sinh vào năm 1970 và làm việc trong phòng có mã là 
TK. 
6. Tạo Query DSNV_TL_TK_6gồm các field sau: MaNV, Ho, Ten, ChucVu, Luong. 
Kết quả vấn tin là DSNV có chức vụ là thƣ ký (TK) và trợ lý (TL) và có thâm niên từ 
6 năm trở lên. 

File đính kèm:

  • pdfgiao_trinh_nhap_mon_he_quan_tri_co_so_du_lieu_dang_thi_thu_h.pdf