Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)

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

Microsoft Access là một thành phần trong bộ Microsoft Office, là hệ quản trị cơ

sở dữ liệu trên môi trường Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi

để dễ dàng xây dựng các chương trình cho một số các bài toán thường gặp trong quản

lý, thống kê, kế toán

Microsoft Access là phương tiện để trao đổi thông tin trên mạng Internet và

Intranet, giúp người dùng nhanh chóng tạo và sử dụng các chương trình ứng dụng trên

mạng. Access không những dễ dàng liên kết các thông tin liên quan mà còn có thể làm

việc với nhiều nguồn dữ liệu khác: dBASE, Paradox, SQL trên nhiều loại máy tính:

máy tính văn phòng (PC), máy chủ (Server) máy mini và máy lớn (mainframe).

Access đảm nhận hai vai trò: phần mềm trên máy khách (client) hoặc máy chủ và dễ

dàng truy cập các chương trình ứng dụng khác như Microsoft Word, Exel, PowerPoint.

Mỗi một tệp chương trình thường có có một đuôi quy định, ví dụ các tệp của

Microsoft Word có đuôi là.doc, tệp chương trình Pascal có đuôi là. pas Một tệp

chương trình do Access 2003 tạo ra có đuôi là.MDB, và do Access 2013 tạo ra có đuôi

là.ACCDB

Một hệ chương trình do Access tạo ra gọi là một Database (cơ sở dữ liệu).

Trong các ngôn ngữ như C, Pascal, Foxpro,. một hệ chương trình gồm các tệp

chương trình và các tệp dữ liệu được tổ chức một cách riêng biệt. Nhưng trong Access

2013 toàn bộ chương trình và dữ liệu được chứa trong một tệp duy nhất có đuôi

.ACCDB. Như vậy thuật ngữ hệ chương trình hay cơ sở dữ liệu được hiểu là tổ hợp

bao gồm cả chương trình và dữ liệu. Để ngắn gọn nhiều khi ta gọi chương trình thay

cho thuật ngữ hệ chương trình. Như vậy từ đây khi nói đến chương trình hay hệ

chương trình hay cơ sở dữ liệu thì cũng có nghĩa đó là một hệ phần mềm gồm cả

chương trình và dữ liệu do Access tạo ra.

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

2.1 Khởi động Access

Để khởi động (chạy) Microsoft Access bạn phải chắc chắn rằng Microsoft

Office (trong đó có thành phần Microsoft Access) đã được cài đặt đúng cách trên máy

tính.8

Có nhiều cách đề khởi động Microsoft Access phụ thuộc vào hệ điều hành trên máy

tính của bạn

Cách 1: Chọn Start, Program, Microsoft Access

Cách 2: Chạy từ icon trên Desktop hoặc TaskBar

Cách 3: Trong trường hợp không tìm thấy shortcut của chương trình trên Desktop

hoặc trong menu start ta có thể chạy trực tiếp tập tin Msaccess trong thư mục đã cài

đặt Office thông thường là “C:\Program Files\Microsoft Office\Office”.

Để thuận tiện cho quá trình trình bày, dưới đây sử dụng Access 2013 cho tất cả các

giao diện và hướng dẫn thực hành.

Hình 1.1 là giao diện của Access, gồm:

- Thanh tiêu đề

- Các thanh công cụ lệnh

- Các đối tượng trong cơ sở dữ liệu hiện hành

- Thanh trạng thái

pdf 131 trang yennguyen 2540
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)

Giáo trình Nhập môn hệ quản trị cơ sở dữ liệu (Phần 1)
0 
TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI 
KHOA CÔNG NGHỆ THÔNG TIN 
ĐẶNG THỊ THU HIỀN 
ĐỖ THANH THỦY 
BÀI GIẢNG 
NHẬP MÔN HỆ QUẢN TRỊ 
CƠ SỞ DỮ LIỆU ACCESS 
TRƢỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI 
KHOA CÔNG NGHỆ THÔNG TIN 
TS. ĐẶNG THỊ THU HIỀN 
Th.S ĐỖ THANH THỦY 
Th.S NGUYỄN KIM SAO 
GIÁO TRÌNH 
NHẬP MÔN HỆ QUẢN TRỊ 
CƠ SỞ DỮ LIỆU 
Hà nội, 01/2015 
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 ................................................................ 35 
2 
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 ................................................................................................ 105 
3 
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) ....................................................... 214 
4 
BÀI TẬP CHƢƠNG 7 ................................................................................................ 241 
TÀI LIỆU THAM KHẢO ........................................................................................... 242 
5 
LỜI NÓI ĐẦU 
 Trong sự phát triển của kinh tế tri thức hiện nay, không thể phủ nhận vai trò của 
công nghệ thông tin. Đặc biệt lĩnh vực cơ sở dữ liệu đã và đang đƣợc nhiều ngƣời 
quan tâm. Rất nhiều hệ quản trị cơ sở dữ liệu đã đƣợc ứng dụng nhƣ Foxpro, Access, 
SQL Server, Informix, Oracle, Nhƣng đơn giản và thân thiện hơn cả là hệ quản trị 
CSDL Access, mặc dù nó không có những công cụ hỗ trợ mạnh nhƣ Informix hay 
Oracle, nhƣng nó cũng hỗ trợ tƣơng đối tốt về mặt quản lý dữ liệu vừa và nhỏ, đồng 
thời nó cũng cung cấp công cụ cho phép chúng ta có thể lập trình đƣợc. Chính vì vậy 
mà nhiều khi ta còn gọi là ngôn ngữ Access. Microsoft Access cung cấp hệ thống 
chƣơng trình ứng dụng rất mạnh, giúp ngƣời dùng mau chóng và dễ dàng tạo lập các 
trình ứng dụng từ bất kể nguồn dữ liệu nào thông qua Query, Form, Report kết hợp với 
việc sử dụng một số lệnh Access Basic hay còn gọi là lập trình VBA. 
 Microsoft Access đã trải qua nhiều phiên bản, từ phiên bản Microsoft Access 
đầu tiên phát hành vào năm 1992 đến nay đã qua nhiều lần phát hành với trên 130 triệu 
bản. Vì vậy có thể nói rằng Access là một trong những chƣơng trình cơ sở dữ liệu phổ 
biến nhất thế giới. Hiện nay một số phiên bản đang đƣợc sử dụng rộng rãi là Microsoft 
Access 2007, Microsoft Access 2010, Microsoft Access 2013. Trong tài liệu này 
chúng tôi dùng phiên bản Access 2013 để minh hoạ. 
 Xuất phát từ thực tế nhu cầu học tập của sinh viên chuyên nghành CNTT nói 
chung và sinh viên trƣờng ĐH Giao Thông Vận tải nói riêng. Chúng tôi viết cuốn giáo 
trình bám sát theo đề cƣơng môn học của trƣờng, để phục vụ cho sinh viên năm thứ 
nhất theo học môn “Nhập môn hệ quản trị cơ sở dữ liệu”. 
Giáo trình đƣợc xây dựng gồm 7 chƣơng: 
Chƣơng 1: Giới thiệu các khái niệm cơ bản của Microsoft Access 
Chƣơng 2: Trình bày cách tạo bảng và cách sử dụng bảng để tổ chức dữ liệu cho bài 
toán. 
Chƣơng 3: Trình bày cách tạo và sử dụng truy vấn để tổng hợp, sắp xếp và tìm kiếm 
dữ liệu. 
Chƣơng 4: Trình bày cách thiết kế và sử dụng mẫu biểu để tổ chức nhập dữ liệu cho 
một bảng, truy vấn hoặc các bảng có quan hệ với nhau. 
Chƣơng 5: Trình bày cách sử dụng báo biểu để tổ chức in dữ liệu của một bảng, truy 
vấn. 
6 
Chƣơng 6: Giới thiệu về Macro và Menu dùng thiết kế giao diện chƣơng trình. 
Chƣơng 7: Trình bày về lập trình trong Access. 
 Trong quá trình biên soạn giáo trình này, mặc dù chúng tôi đã cố gắng hết sức 
nhƣng không tránh khỏi những sai sót. Chúng tôi rất mong nhận đƣợc ý kiến đóng góp 
của độc giả để cuốn sách hoàn thiện hơn. 
Hà nội, ngày 12 tháng 01 năm 2015 
Nhóm tác giả 
TS. Đặng Thị Thu Hiền 
Th.S Đỗ Thanh Thủy 
Th.S Nguyễn Kim Sao 
7 
CHƢƠNG 1: TỔNG QUAN VỀ MICROSOFT ACCESS 
1. Giới thiệu về Microsoft Office 
 Microsoft Access là một thành phần trong bộ Microsoft Office, là hệ quản trị cơ 
sở dữ liệu trên môi trƣờng Windows, trong đó có sẵn các công cụ hữu hiệu và tiện lợi 
để dễ dàng xây dựng các chƣơng trình cho một số các bài toán thƣờng gặp trong quản 
lý, thống kê, kế toán 
 Microsoft Access là phƣơng tiện để trao đổi thông tin trên mạng Internet và 
Intranet, giúp ngƣời dùng nhanh chóng tạo và sử dụng các chƣơng trình ứng dụng trên 
mạng. Access không những dễ dàng liên kết các thông tin liên quan mà còn có thể làm 
việc với nhiều nguồn dữ liệu khác: dBASE, Paradox, SQL trên nhiều loại máy tính: 
máy tính văn phòng (PC), máy chủ (Server) máy mini và máy lớn (mainframe). 
Access đảm nhận hai vai trò: phần mềm trên máy khách (client) hoặc máy chủ và dễ 
dàng truy cập các chƣơng trình ứng dụng khác nhƣ Microsoft Word, Exel, PowerPoint. 
 Mỗi một tệp chƣơng trình thƣờng có có một đuôi quy định, ví dụ các tệp của 
Microsoft Word có đuôi là.doc, tệp chƣơng trình Pascal có đuôi là. pas  Một tệp 
chƣơng trình do Access 2003 tạo ra có đuôi là.MDB, và do Access 2013 tạo ra có đuôi 
là.ACCDB 
 Một hệ chƣơng trình do Access tạo ra gọi là một Database (cơ sở dữ liệu). 
Trong các ngôn ngữ nhƣ C, Pascal, Foxpro,... một hệ chƣơng trình gồm các tệp 
chƣơng trình và các tệp dữ liệu đƣợc tổ chức một cách riêng biệt. Nhƣng trong Access 
2013 toàn bộ chƣơng trình và dữ liệu đƣợc chứa trong một tệp duy nhất có đuôi 
.ACCDB. Nhƣ vậy thuật ngữ hệ chƣơng trình hay cơ sở dữ liệu đƣợc hiểu là tổ hợp 
bao gồm cả chƣơng trình và dữ liệu. Để ngắn gọn nhiều khi ta gọi chƣơng trình thay 
cho thuật ngữ hệ chƣơng trình. Nhƣ vậy từ đây khi nói đến chƣơng trình hay hệ 
chƣơng trình hay cơ sở  ... c Form và Report sau: 
- Form1: Nhập dữ liệu cho hai bảng DMPhong, Phanphoi. 
- Form2: Nhập dữ liệu cho hai bảng DMTaisan, Phanphoi. 
- Form3: giới thiệu về chƣơng trình, hình ảnh nhà cơ quan. 
- Report1: Báo cáo từng phòng có các loại tài sản nào. 
- Report2: Báo cáo từng tài sản hiện có mặt tại những phòng nào. 
Vấn đề đặt ra là cần tạo một menu chính ngang gồm 3 mục, khi chọn một mục lại hiện 
ra một menu dọc tƣơng ứng, chọn một mục của menu dọc sẽ chạy một Form hay 
Report tƣơng ứng. Hệ thống menu nhƣ sau: 
Nhập dữ liệu In báo cáo Hệ thống 
Nhập DMPhong và PhanPhoi Báo cáo tài sản trong 
phòng 
Giới thiệu chƣơng trình 
Nhập DMTaisan và PhanPhoi Tài sản có ở đâu Về Access 
 Về Windows 
113 
Quá trình thực hiện nhƣ sau: 
- Tạo nhóm lệnh xác định các lệnh menu 
con 
- Tạo một macro khác để tạo menu chính 
- Đính kèm menu vào điều khiển, biểu 
mẫu, báo biểu, hay cơ sở dữ liệu 
Bƣớc 1: Tạo nhóm macro chứa các lệnh 
menu con 
Macro nhóm là một macro chứa nhiều hơn 
hai lệnh macro khác. 
a. Tại thẻ Creat, nhóm Other, bấm chọn 
Macro. 
c. Mỗi lệnh bạn muốn tạo shortcut menu: 
- Phần Add new action, chọn Submacro 
nhập đoạn văn bản hiện trên menu 
Lƣu ý: Để tạo một phím tắt, thêm tiền tố 
“&” phía trƣớc chữ cái thiết lập 
- Tại cột Action, các hành động cần thiết lập 
d. Lƣu và đặt tên cho macro 
Bƣớc 2: Tạo macro tạo menu chính 
a. Tại thẻ Create, nhóm Other, bấm chọn 
Macro 
b. Phần Action, chọn AddMenu 
c. Phần Menu name, gõ tên của menu 
d. Phần Macro name chọn tên menu đã tạo 
trong bƣớc 1 
e. Lƣu và đặt tên cho menu 
114 
Bƣớc 3: Đính kèm menu theo điều khiển, 
biểu mẫu, báo biểu hay cơ sở dữ liệu 
Đƣa menu vào Add-Ins tab của form hoặc 
report 
a. Tại khung Navigation Pane, mở ở khung 
nhìn Design View của form hoặc report 
b. Tại cửa sổ thuộc tính của Form hoặc 
Report, chọn tab Other. Tại hộp thuộc tính 
Shortcut Menu gõ tên macro đã tạo ở bƣớc 2 
Khi đó sẽ xuất hiện tab Add-Ins chứa menu 
vừa tạo 
115 
BÀI TẬP CHƢƠNG 6 
Xây dựng giao diện cho tất cả các ví dụ và bài tập của các chƣơng trƣớc. 
116 
BÀI TẬP TỔNG HỢP 
BÀI TẬP 1 
Cơ sở dữ liệu đƣợc lƣu file BT1.accdb nhƣ sau 
1. Quy định các field khóa chính cho các table nhƣ sau : LOP trong table LOP, MAHS 
trong table DSHS, MAHS trong table DIEM. 
2. Thiết lập quan hệ cho các table theo sơ đồ quan hệ nhƣ sau: 
LOP(LOP, 1)  DSHS(LOP,∞) 
DSHS(MAHS, 1)  DIEM(MAHS, 1) 
3. Tạo Query KET QUA THIchứa kết quả thi của từng học sinh bao gồm các thông 
tin: LOP, MAHS, HOTEN, NU, NAMSINH, TOAN, LY, HOA, VAN, DTN, DTB, 
XEPLOAI 
Biết rằng: DTN là điểm thấp nhất trong 4 điểm TOAN, LY, HOA, VAN 
DTB = (TOAN*3+LY+HOA+VAN*2)/7 (lấy 2 số lẻ) 
XEPLOAI học sinh nhƣ sau : 
* Lên Lớpnếu DTB>=5 và DTN >=4 
* Lƣu Ban nếu ngƣợc lại 
4. Tạo Form dạng Main/Sub có tên là LOP để xem thông tin và kết quả thi của từng 
lớp nhƣ sau: 
117 
5. Tạo Query HOC SINH XUAT SAC bao gồm các học sinh có DTB>=8.5 và 
DTN>=8 với các field: LOP, MAHS, HOTEN, NAMSINH, NU, TOAN, LY, HOA, 
VAN, DTN, DTB 
6. Tạo Query HOC SINH GIOI TOAN bao gồm các học sinh Lên Lớp có điểm TOAN 
lớn hơn điểm LY, điểm HOA và điểm VAN với các field : LOP, MAHS, HOTEN, 
NAMSINH, NU, TOAN, LY, HOA, VAN, DTB 
7. Tạo query HOC SINH DAT THU KHOA KY THI bao gồm các học sinh Lên Lớp 
có DTB lớn nhất với các field : LOP, MAHS, HOTEN, NAMSINH, NU, TOAN, LY, 
HOA, VAN, DTB 
8. Hãy tạo table gồm các thông tin sau: 
SOMAY (Text, 3) 
HOTEN (Text, 30) 
NGAYSINH (Date/Time) 
NOISINH (Text, 20) 
- Qui định field SOMAY làm khóa chính 
- Lƣu table với tên SINH VIEN 
- Nhập dữ liệu là thông tin của bạn vào các field trên 
118 
9. Tạo Report GIAY BAO DIEM có dạng nhãn để báo kết quả thi của các học sinh 
theo mẫu sau: 
BÀI TẬP 2 
File Cơ sở dữ liệu BT2.accdb nhƣ sau: 
 1. Qui định field khóa chính cho các Table: MaDKtrong tDangKy, LoaiKHtrong 
KhachHang, LoaiPhong trong tLoaiPhong, MaDK trong tChiTietKH. 
2. Thiết lập quan hệ cho các table nhƣ sau : 
tLoaiPhong( LoaiPhong, 1 )  tDangKy( LoaiPhong,∞) 
tDangKy( MaDK, 1 )  tChiTietDK( MaDk, 1 ) 
tKhachHang( LoaiKH, 1 )  tChiTietDK( LoaiKH,∞) 
3. Tạo Query qChiTietDangKygồm các field sau : MaDK, LoaiKH, TenKH,NgaySinh, 
Phai, DiaChi, DienThoai, SoPhong, LoaiPhong, NgayVao, SoNgayO. 
Trong đó Số Ngày ở = Ngày Ra – Ngày Vao 
4. Tạo Query qKhachHang99 gồm các field nhƣ qChiTietDangKy nhƣng chỉ gồm các 
khách hàng thuê phòng là năm 1999 (tính theo Ngày Vào) 
5. Tạo Query qKhach-DienThoai gồm các field nhƣ qChiTietDangKy nhƣng là danh 
sách những khách vãng lai mà khách sạn không có số điện thoại liên lạc. 
119 
6. Tạo Query qKhachNu-Duoi30 gồm các field nhƣ qChiTietDangKy nhƣng là các 
khách hàng Nữ ở phòng loại A và dƣới 30 tuổi (tuổi < 30 ) 
7. Tạo Query qTinhTiengồm các field MaDK, SoPhong, LoaiPhong, LoaiKH, TenKH, 
NgayVao, NgayRa, SoNgayO,DonGia, ThanhTien, GiamGiaA, GiamGiaB, ThucThu. 
Trong đó : 
(a) Số Ngày Ở= Ngày Ra – Ngày Vào 
(b) ThanhTien : Tính theo yêu cầu sau : 
Nếu Số Ngày ở <10 Thành tiền = Đơn Gía * Số ngày ở 
Nếu 10 <=Số Ngày ở <30 Thành Tiền = Đơn Gía* Số Ngày ở * 0.95 (Giảm5%) 
Nếu Số ngày ở >= 30 Thành Tiền = Đơn Gía* Số Ngà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_phan_1.pdf