giáo trình tin học ứng dụng dành cho ngành kinh tế tác giả: bm. hệ thống thông...
TRANSCRIPT
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 1/147
TRƯỜNG ĐẠI HỌC NHA TRANGKHOA CÔNG NGHỆ THÔNG TIN-BM HỆ THỐNG THÔNG TIN
GIÁO TRÌNH
TIN HỌCỨNG DỤNGDÀNH CHO NGÀNH KINH TẾ
TỦ SÁCH CÔNG NGHỆ THÔNG TIN
NĂM 2013WWW D YK
EMQUYN
HON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 2/147
i
MỤC LỤC
LỜ I MỞ ĐẦU ........................................................................................................... iv
CHƯƠ NG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU .............................................. 3
1.1. Các khái niệm ......................................................................................................... 3
1.2. Ví dụ ........................................................................................................................ 4
1.3. Mô hình dữ liệu ...................................................................................................... 5
1.4. Bài tập ..................................................................................................................... 6
CHƯƠ NG 2. MÔ HÌNH DỮ LIỆU QUAN HỆ ..................................................... 7 2.1. Thuộc tính, bộ, lược đồ quan hệ và quan hệ ....................................................... 7
2.1.1. Thuộc tính và kiể u d ữ liệu: ................................................................................. 7
2.1.2. Lược đồ quan hệ: ................................................................................................ 8
2.1.3. Quan hệ ............................................................................................................... 8
2.2. Lược đồ cơ sở dữ liệu và cơ sở dữ liệu ................................................................. 9
2.3. Ràng buộc toàn vẹn ............................................................................................. 12
2.3.1. Ràng buộc Khóa của lược đồ quan hệ .............................................................. 13
2.3.2. M ố i liên hệ giữ a các quan hệ; Ràng buộc Khóa ngoại .................................... 14
2.3.3. Các ràng buộc khác .......................................................................................... 17
2.4. Cập nhật dữ liệu và vi phạm ràng buộc toàn vẹn ............................................. 18
2.4.1. Thêm (Insert, Append) ...................................................................................... 18
2.4.2. Xóa (Delete) ...................................................................................................... 18
2.4.3. S ử a (Update) ..................................................................................................... 19
2.5. Bài tập ..................................................................................................................... 20
CHƯƠNG 3. ĐẠI SỐ QUAN HỆ ......................................................................... 22
3.1. Biểu thứ c cơ bản ..................................................................................................... 22
3.2. Phép chọn (SELECT) ............................................................................................ 23
3.3. Phép chiếu (PROJECT) ......................................................................................... 24
3.4. Phép tích Descartes (CARTESIAN PRODUCT) ................................................ 26
3.5. Phép kết nối bằng (EQUI JOIN) .......................................................................... 27
3.6. Phép nhóm dữ liệu (GROUP) ............................................................................... 29
3.7. Bài tập ..................................................................................................................... 32
CHƯƠ NG 4. GIỚ I THIỆU HỆ QUẢN TRỊ CSDL MICROSOFT ACCESS .. 37
4.1. Giớ i thiệu Microsoft Access .................................................................................. 37 WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 3/147
ii
4.2. Khởi động Access 2013 .......................................................................................... 37
4.3. Tạo cơ sở dữ liệu mớ i ............................................................................................. 37
4.4. Mở một CSDL đã có trong máy tính .................................................................... 39
4.5. Các đối tượ ng chính của một CSDL Access......................................................... 39
4.6. Các toán tử sử dụng trong MS Access .................................................................. 40
4.7. Một số hàm sử dụng trong MS Access ................................................................. 41
4.8. Bài tập ...................................................................................................................... 42
CHƯƠ NG 5. BẢNG (TABLE) ............................................................................... 43
5.1. Các khái niệm ....................................................................................................... 43
5.1.1. Bảng .................................................................................................................. 43
5.1.2. Tr ườ ng d ữ liệu (field) ........................................................................................ 44
5.1.3. Bản ghi (record) ................................................................................................ 44
5.1.4. Khóa chính (primary key) ................................................................................. 44
5.1.5. M ố i liên hệ giữ a các bảng (relationship) .......................................................... 45
5.2. Xây dự ng cấu trúc bảng ...................................................................................... 46
5.2.1. S ử d ụng chế độ Design View để t ạo bảng ......................................................... 46
5.2.2. T ạo khóa chính .................................................................................................. 53
5.2.3. Lư u bảng ........................................................................................................... 54
5.2.4. Hiệu chỉ nh bảng ................................................................................................ 54
5.3. Thiết lập mối quan hệ giữ a các bảng ................................................................. 54
5.4. Cập nhật bảng ...................................................................................................... 56
5.4.1. Xem và nhậ p d ữ liệu .......................................................................................... 56
5.4.2. Nhậ p d ữ liệu sử d ụng Lookup ........................................................................... 56
5.4.3. M ột số lỗ i có thể xả y ra khi nhậ p d ữ liệu .......................................................... 57
5.4.4. Xóa bản ghi ....................................................................................................... 59
5.4.5. S ắ p xế p d ữ liệu .................................................................................................. 59
5.4.6. Lọc d ữ liệu ......................................................................................................... 60
CHƯƠ NG 6. TRUY VẤN (QUERY) .................................................................... 61
6.1. Các khái niệm ....................................................................................................... 61
6.2. Công cụ tạo Query trong Access 2013 .................................................................. 62
6.2.1. T ạo Query bằ ng công cụ Query Design: .......................................................... 62
6.2.2. Cách nhậ p biể u thức điề u kiện trên lướ i QBE .................................................. 64
6.3. Truy vấn chọn (Select Query) ............................................................................... 67
6.3.1. Simple Select query (Truy vấ n chọn đơ n giản) ................................................. 67
6.3.2 Group By Select Query (Truy vấ n vớ i phép nhóm) ............................................. 71
6.3.3 Crosstab Query ................................................................................................... 75
6.3.4. Find Duplicate query ........................................................................................ 78
6.3.5. Find Unmatched Query ..................................................................................... 79 WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 4/147
iii
6.4. Action Query (Truy vấn hành động) ................................................................... 81
6.4.1. Make Table query (Truy vấ n t ạo bảng) ............................................................ 81
6.4.2 Update query (Truy vấ n cậ p nhật) ...................................................................... 83
6.4.3 Delete Query (Truy vấ n xóa) .............................................................................. 84
6.4.4 Append Query (Truy vấ n nố i) ............................................................................. 85
6.5. Truy vấn có tham số ............................................................................................... 86
CHƯƠ NG 7. BIỂU MẪU (FORM) ....................................................................... 87
7.1 . Khái niệm Form ................................................................................................ 87
7.2. Sử dụng Form Wizard để tạo Form ................................................................... 87
7.3. Sử dụng Design View để tạo Form ..................................................................... 90
7.4. Main-Sub Form .................................................................................................... 93
7.5. Sử dụng nút lệnh (Command Button) ............................................................. 100
CHƯƠ NG 8. BÁO CÁO (REPORT).................................................................. 104
8.1. Khái niệm về Report .......................................................................................... 104
8.2. Sử dụng Report Wizard để tạo báo cáo ........................................................... 104
8.3. Tạo báo cáo có phân nhóm ............................................................................... 109
8.4. Tạo báo cáo có Custom Field, SubTotal và Total ........................................... 114
8.5. Báo cáo có nguồn dữ liệu là câu truy vấn ........................................................ 119
CHƯƠ NG 9. BÀI TẬP THỰ C HÀNH .............................................................. 120
9.1. Bài tập 1 – Quản lý Sinh viên ........................................................................... 120
9.2. Bài tập 2 – Quản lý Bán hàng ........................................................................... 127
9.3. Bài tập 3 – Quản lý Cử a hàng bán thiết bị máy vi tính .................................. 135
9.4. Bài tập 4 – Quản lý Dự án ................................................................................. 141
TÀI LIỆU THAM KHẢO .................................................................................... 145
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 5/147
iv
LỜ I MỞ ĐẦU
Ngày nay các hệ thống thông tin đóng một vai trò quan tr ọng trong hoạt động
của doanh nghiệ p. Các hệ thống thông tin như kế toán, khách hàng, thông tin về sản
xuất, phân phối hàng hóa… giúp quản tr ị doanh nghiệ p một cách hiệu quả, đưa racác quyết định hợ p lý. Sự phát triển của công nghệ thông tin làm cho việc xây dựng
và vận hành các hệ thống cơ sở dữ liệu trên đượ c dễ dàng, tiện lợ i.
Trong phạm vi của môn học Tin học ứng dụng dành cho sinh viên các ngành
kinh tế, chúng tôi quyết định chọn chủ đề cơ sở dữ liệu để giảng dạy, nhằm cung
cấ p các kiến thức và k ỹ năng căn bản, làm tiền đề cho ngườ i học tiế p cận vớ i việcxây dựng hay sử dụng các hệ thống thông tin sau này. Nội dung của môn học gồm
hai phần chính:
Phần I: Nhập môn Cơ sở d ữ liệu. Phần này cung cấ p các kiến thức lý thuyết
về cơ sở dữ liệu, cụ thể là mô hình tổ chức dữ liệu quan hệ và các phép toán xử lý
số liệu.
Phần II: H ệ quản tr ị Cơ sở d ữ liệu Microsoft Access.Trong phần này, ngườ i
học ứng dụng các kiến thức trong phần I cho một phần mềm cụ thể là Microsoft
Access, rèn luyện các k ỹ năng về thiết lập cơ sở dữ liệu, thực hiện các câu truy vấn,xây dựng các biểu mẫu nhậ p liệu, các báo cáo…
Trong giáo trình này, chúng tôi cố gắng cung cấ p những kiến thức cơ bản nhất
nên cũng không thể tránh những thiếu sót. Chúng tôi mong nhận đượ c những ý kiến
đóng góp để giáo trình môn học đượ c hoàn thiện hơn.
KHOA CÔNG NGHỆ THÔNG TINBỘ MÔN HỆ THỐNG THÔNG TIN
2013
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 6/147
1
Phần INHẬP MÔN CƠ SỞ DỮ LIỆU
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 7/147
3
CHƯƠNG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU
1.1. Các khái niệm
1)
Dữ liệu (Data)Dữ liệu là các sự kiện có thể ghi nhận lại đượ c và có một ngữ ngh ĩa nào đó. Ví dụ:
− Tên của một ngườ i: ‘Nguyễn Văn Tuấn’
− Số điện thoại: ‘0903.123.456’
− Địa chỉ: ‘120 Ngô Gia Tự’
− Ngày sinh: 21/12/1990
2) Cơ sở d ữ liệu (Database)
Cơ sở dữ liệu là một tậ p hợ p các dữ liệu có liên quan với nhau, được lưu trữ trên các
thiết bị tr ữ tin, thỏa mãn yêu cầu sử dụng cho nhiều ngườ i dùng khác nhau và cho nhữngmục đích khác nhau.
Ví dụ: Thông tin của sinh viên Trường Đại học Nha Trang như họ tên, địa chỉ , quê
quán, giớ i tính, ngày sinh được lưu tr ữ trong sổ sách (trước đây) hoặc trong hệ thống máy
tính (hiện nay). Các thông tin này hình thành nên một cơ sở d ữ liệu về sinh viên và đượ ccác phòng ban của trườ ng sử dụng nhằm phục vụ cho các nhu cầu quản lý khác nhau.
Các tính chất của cơ sở dữ liệu:
− Một cơ sở dữ liệu đại diện cho một vấn đề nào đó trong thế giớ i thực. Chẳng hạnnhư cơ sở dữ liệu về sinh viên của một trường đại học, cơ sở dữ liệu về hàng hóa
và khách hàng của một công ty… Những thay đổi trong thế giớ i thực sẽ đượ c phản ánh lại trong cơ sở dữ liệu.
− Các dữ liệu trong cơ sở dữ liệu phải liên quan vớ i nhau theo một ý ngh ĩa logic nàođó. Tậ p hợ p các dữ liệu ngẫu nhiên không thể đượ c xem là một cơ sở dữ liệu
− Cơ sở dữ liệu đáp ứng đượ c các yêu cầu khác nhau của nhiều ngườ i sử dụng.
3) H ệ quả n trị cơ sở d ữ liệu (Database Management System - DBMS)
Cơ sở dữ liệu có thể đượ c tạo ra và quản lý thủ công trên sổ sách hoặc trên máy tính.
Ở đây chỉ quan tâm đến cơ sở dữ liệu trên máy tính.
Một hệ quản tr ị cơ sở dữ liệu là một hệ thố ng các phần mề m máy tính cho phépngườ i sử dụng có thể tạo và quản lý một cơ sở dữ liệu. Hệ quản tr ị CSDL có các chức năngchính sau:
− Đị nh nghĩa dữ liệu: tạo cấu trúc để lưu trữ dữ liệu tùy theo mục đích của cơ sở dữ liệu.
− Thao tác d ữ liệu: cho phép ngườ i dùng có thể truy vấn các dữ liệu trong cơ sở dữ
liệu, hay cậ p nhật các thay đổi trong thế giớ i thực vào cơ sở dữ liệu.
− Chia sẻ : cho phép nhiều ngườ i dùng có thể khai thác dữ liệu một cách đồng thờ i.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 8/147
4
− Bả o vệ hệ thố ng: nhằm bảo đảm cho cơ sở dữ liệu luôn an toàn trong trườ ng hợ pxảy ra hỏng hóc phần cứng cũng như phần mềm máy tính. Bảo vệ khỏi các hành
vi phá hoại từ bên ngoài.
Hình 1-1. Mô tả đơn giản một hệ thống cơ sở dữ liệu
Một số hệ quản tr ị cơ sở dữ liệu phổ biến hiện nay:
− Microsoft Access: thích hợp cho ngườ i dùng cá nhân, các doanh nghiệ p nhỏ.
− Oracle, DB2, SQL Server: dành cho các doanh nghiệ p có các hệ thống thông tin
lớ n.
1.2. Ví dụ
Chúng ta hãy xem xét một ví dụ về cơ sở dữ liệu BanHang nhằm quản lý các thông
tin về khách hàng, các mặt hàng, các lần bán hàng cùng vớ i số lượ ng hàng bán của một
công ty. Hình 1-2 bên dướ i thể hiện cấu trúc và một vài dữ liệu ví dụ cho cơ sở dữ liệu
trên. Cơ sở dữ liệu đượ c tổ chức thành ba hồ sơ. Mỗi hồ sơ lưu trữ dữ liệu về các đối tượ ng
có kiểu giống nhau. Hồ sơ KhachHang lưu trữ thông tin của các khách hàng của công ty.
Hồ sơ MatHang lưu trữ thông tin về các mặt hàng mà công ty có bán. Hồ sơ BanHang ghi
nhận các lần bán hàng.
Quá trình thiết lập cơ sở dữ liệu trên gồm hai bước. Đầu tiên là định nghĩa cấ u trúc
cho các hồ sơ. Hồ sơ KhachHang được định ngh ĩa gồm có các thông tin là mã khách hàng
(MaKH), họ khách hàng (HoKH), tên khách hàng (TenKH), địa chỉ (DiaChi) và điện thoại
(DienThoai). Hồ sơ MatHang có các thông tin là mã hàng, tên hàng, đơn vị tính và đơn giá.
Hệ Quản trị Cơ sở dữ liệu
Người dùng
Chương trình ứng dụng
Phần mềm quản lý lưu trữ dữ liệu
Phần mềm xử lý thao tác trên dữ liệu
Cấu trúc cơsở dữ liệu
Cơ sởdữ liệu
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 9/147
5
Tương tự như vậy cho hồ sơ HoaDonBan. Chú ý r ằng là các hồ sơ lưu trữ thông tin gì là
tùy thuộc vào nhu cầu của đơn vị xây dựng phần mềm quản lý.
Ví dụ: Công ty có thể q uan tâm đến giớ i tính của khách hàng và do đó họ thêm cột
giớ i tính vào hồ sơ khách hàng. Một chú ý khác là các hồ sơ có thể liên quan vớ i nhau,
chẳng hạn như trong hồ sơ HoaDonBan có thông tin về MaKH, cho biết hóa đơn đó bán chokhách hàng nào.
Hình 1-2. Cơ sở dữ liệu BanHang
Bướ c thứ hai là thao tác trên cơ sở dữ liệu, liên quan đến cậ p nhật và truy vấ n. Cậ pnhật là phản ánh sự thay đổi trong thế giớ i thực vào cơ sở dữ liệu chẳng hạn như: ghi nhận
thêm một mặt hàng mớ i là ‘Sô cô la sữ a’ với đơn giá 30.000 một ‘túi’. Hoặc: bán 50 hộ p‘Bánh Choco-Pie’ cho khách hàng ‘Lê Cường’ vào ngày 20/03/2011. Một ví dụ liên quan
đến truy vấn là: tính doanh thu ngày ‘12/2/2010’.
1.3. Mô hình dữ liệu
Để đảm bảo tính đúng đắn, việc định nghĩa cấ u trúc của một cơ sở dữ liệu phải tuân
theo một mô hình d ữ liệu nào đó. Bên dướ i là một số mô hình đượ c sử dụng từ trước đến
nay:
− Mô hình dữ liệu mạng (Network Data Model)
− Mô hình dữ liệu phân cấ p (Hierachical Data Model)
− Mô hình dữ liệu quan hệ (Relational Data Model)
− Mô hình dữ liệu hướng đối tượ ng (Object-Oriented Model)
Việc đề cậ p chi tiết đến các mô hình trên nằm ngoài phạm vi của tài liệu này. Ở đâychỉ nhấn mạnh r ằng Mô h ì nh dữ l iệ u quan h ệ là một mô hình đơn giản, có nền tảng toán
học chặt chẽ. Do đó mô hình này đư ợ c sử dụng phổ biến r ộng rãi trên khắ p thế giớ i trong
các hệ quản tr ị cơ sở dữ liệu thương mại ngày nay như Access, Oracle, DB2, SQL
Server… Đó cũng là mô hình đượ c trình bày trong các chương tiế p theo.
KhachHang HoTenKH DiaChi
Nguyễn Trang 12 Hồng BàngLê Cường 60 Trần PhúMai Hòa 22 Bạch Đằng
MatHang MaMH TenMH DonViTinh DonGia
S03 Sữa chua Vinamilk Lốc 4.000
B02 Bánh Choco-Pie Hộp 15.000
K01 Kem Mote-Rosa Ký 20.000
BanHang STT NgayBan HoTenKH MaMH SoLuong
1 12/2/2010 Nguy n Trang S03 20
2 12/2/2010 Lê Cường B02 303 17/2/2010 Mai Nguyễn K01 100
4 25/3/2010 Nguyễn Trang K01 10
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 10/147
6
1.4. Bài tập1) Một trung tâm Anh ngữ cần tổ chức một cơ sở dữ liệu nhằm quản lý hoạt động giảng
dạy của trung tâm. Các thông tin cần quản lý như sau:
− Danh sách các học viên đăng k ý học.− Danh sách các lớ p học cụ thể, môn học của lớ p (TOEIC, IELTS, Headway…)
ngày khai giảng lớ p.
− Học viên nào đăng k ý lớ p nào, cuối khóa thi đạt điểm bao nhiêu.
Yêu cầu: Hãy định ngh ĩa cấu trúc cho cơ sở dữ liệu nói trên và cung cấ p một số dữ
liệu mẫu như trong ví dụ Hình 1-2.
2) Một công ty sản xuất bánh k ẹo cần tổ chức một cơ sở dữ liệu nhằm quản lý nhân sự
của công ty. Các thông tin cần quản lý như sau: − Danh sách các phòng ban và các nhân viên theo từng phòng ban. Dữ liệu về
nhân viên bao gồm họ tên, địa chỉ, năm sinh, hệ số lương của nhân viên đó.
− Bảng lương chi trả hàng tháng cho từng nhân viên, biết r ằng lương đượ c tính
theo ngày công làm việc của nhân viên trong tháng:
Lương = 100.000 x Số ngày công x Hệ số lương. Yêu cầu: Hãy định ngh ĩa cấu trúc cho cơ sở dữ liệu nói trên và cung cấ p một số dữ
liệu mẫu như trong ví dụ Hình 1-2.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 11/147
7
CHƯƠNG 2. MÔ HÌNH DỮ LIỆU QUAN HỆ
Trong mô hình dữ liệu quan hệ, một cơ sở dữ liệu là một tậ p hợ p các quan hệ. Mỗi
quan hệ có thể đượ c xem là một bảng các giá tr ị.
KhachHang MaKH HoTen DiaChi
A001 Nguy n Trang 12 Hồng Bàng
B002 Lê Cường 60 Trần Phú
C003 Mai Nguyễn 22 Bạch Đằng
Mỗi dòng trong bảng thể hiện một đối tượ ng hay một sự kiện trong thế giớ i thực.
Mỗi dòng gồm nhiều giá tr ị có liên quan vớ i nhau. Tên cột giúp thể hiện ý ngh ĩa c ủa các
giá tr ị trong một dòng. Ví dụ bảng trên đượ c gọi là bảng KhachHang vì mỗi dòng cho biết
thông tin về một đối tượ ng khách hàng cụ thể. Các tên cột MaKH, HoTen, DiaChi cho biết ý
ngh ĩa của từng thành phần (giá tr ị) trong mỗi dòng.
Theo thuật ngữ của mô hình quan hệ, mỗi dòng đượ c gọi là một bộ, tiêu đề của cáccột đượ c gọi là thuộc tính, một bảng đượ c gọi là một quan hệ. Phần tiế p theo sẽ định ngh ĩacác khái niệm bộ, thuộc tính, quan hệ một cách chính xác hơn.
2.1. Thuộc tính, bộ, lượ c đồ quan hệ và quan hệ
2.1.1. Thuộ c tính và kiể u d ữ liệu:
Thuộc tính thể hiện tính chất, đặc điểm của một đối tượng nào đó trong thực tế. Ví
dụ đối tượ ng sinh viên có thể có các thuộc tính như họ tên, giới tính, ngày sinh, địa chỉ,
quê quán…. Đối tượ ng hàng hóa có thể có các thuộc tính tên hàng hóa, đơn vị tính, đơngiá…
Mỗi thuộc tính thuộc một kiể u d ữ liệu. Chẳng hạn tên và địa chỉ của một ngườ i gồm
các ký tự nên đượ c gọi là kiể u chuỗ i (text). Ngày sinh thuộc khái niệm ngày tháng nên
đượ c gọi là kiể u ngày giờ (datetime). Đơn giá một mặt hàng có thể dùng để tính toán nên
thuộc kiể u số (number). Một kiểu dữ liệu khác cũng đượ c sử dụng phổ biến là kiể u logic
(true/false hoặc yes/no)
Thuộc tính Kiểu dữ liệu Ví dụ
HoKH ShortText ‘Nguyễn Thị’
TenKH ShortText ‘Trang’
DiaChi ShortText ‘120 Ngô Gia Tự’
NgaySinh DateTime 12/10/1990
DonGia Number 300.000
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 12/147
8
2.1.2. Lược đồ quan hệ:
Một lược đồ quan hệ R, biểu thị bở i R A 1 , A 2 , …, A n) , gồm có tên quan hệ R và danh
sách n thuộc tính A 1, A 2 , … , A n .
Lược đồ quan hệ được dùng để mô t ả một quan hệ. Ví dụ một lược đồ có 5 thuộc tính
dùng để mô tả khách hàng đượ c thể hiện như sau: KhachHang(MaKH, HoKH, TenKH, DiaChi, DienThoai)
Trong đó KhachHang là tên lượng đồ quan hệ. MaKH, HoKH, TenKH, DiaChi,
DienThoai là các thuộc tính. Nếu trình bày đầy đủ kiểu dữ liệu của các thuộc tính thì có thể
viết như sau:
KhachHang(MaKH: shor t tex t , HoKH: shor t tex t , TenKH: shor t tex t , DiaChi:shor t tex t , DienThoai: shor t tex t)
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
2.1.3. Quan hệ
Một quan hệ r phát sinh từ lược đồ quan hệ R (A 1, A 2 , … , A n) là một tậ p hợ p m bộ
r = {t 1 , t 2 , … , t m }, trong đó mỗi bộ là một danh sách n giá tr ị t = {v 1 ,v 2,… , vn}, mỗi
giá tr ị vi là tương ứng vớ i thuộc tính Ai
Ví dụ: xét quan hệ kh phát sinh từ lược đồ quan hệ KhachHang (MaKH, HoKH,
TenKh, DiaChi, DienThoai) trên. Quan hệ này có 4 bộ:
t1 = {‘00001’, ‘Nguyễn Hùng’, ‘Dũng’, ‘12 Tôn Đản’, ‘08.0897678’}
t2 = {‘00002’, ‘Tr ần Ngọc’, ‘Sơn’, ‘32 Phan Chu Trinh’, ‘058.876543’}
t3 = {‘00003’, ‘Nguyễn Thị’, ‘Hoa’, ‘12 Lê H ồng Phong’, ‘08.9876543’}
t4 = {‘00004’, ‘Lê Minh’, ‘An’, 56 Tr ần Nhật Duật’, ‘098957433’}
Trong quan hệ trên, mỗi bộ t 1, t 2 , t 3 , t 4 đại diện cho một đối tượ ng khách hàng cụ
thể. Trong bộ t 2 giá tr ị v 3 = ‘Sơn’ tương ứng vớ i thuộc tính A 3 là TenKH cho biết tên của
khách hàng này là ‘Sơn’. Để đơn giản và rõ ràng, quan hệ k h trên đượ c trình bày lại theo
dạng bảng như hình bên dướ i :
Hình 2-1. Quan hệ thể hiện dướ i dạng bảng
k h MaKH HoKH TenKH DiaChi DienThoai00001 Nguyễn Hùng Dũng 12 Tôn Đản 08.0897678
00002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.876543
00003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 098957433
thuộc tínhtên quan hệ
bộ
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 13/147
9
Từ lược đồ quan hệ KhachHang, cũng có thể xây dựng một quan hệ kh2 khác gồm 5
bộ ứng vớ i 5 khách hàng, hoặc một quan hệ kh3 cũng có 5 bộ nhưng có thông tin MaKh,
HoKH, TenKh, DiaChi, DienThoai khác.
Định ngh ĩa trên cho thấy ứng vớ i một lượt đồ quan hệ, thì có thể có nhiều quan hệ
khác nhau. Xét tại một thời điểm nào đó thì ch ỉ có một quan hệ phản ánh đúng thực tế trong thế giớ i thực. Quan hệ đó đượ c gọi quan hệ hiện hành. Khi thế giớ i thực thay đổi,
quan hệ hiện hành cũng thay đổi theo bằng các thao tác thêm, xóa, sửa. Chẳng hạn như khicó một khách hàng mớ i (thêm), một khách hàng thay đổi DienThoai (sửa). Do đó khi nóiđến tên của một lược đồ quan hệ, ví dụ R hay KhachHang, chúng ta ngầm hiểu r ằng đócũng là tên của quan hệ hiện hành của lược đồ. Còn tênđi kèm vớ i danh sách thuộc tính,
R (A 1, A 2, … , A n) hay KhachHang(MaKH, HoKH, TenKH…), thì chỉ có một ý ngh ĩa duy
nhất là lược đồ quan hệ.
Tính thứ t ự của các bộ trong quan hệ: Thứ tự của các bộ trong một quan hệ là không
quan tr ọng: theo định ngh ĩa quan hệ là một t ậ p hợ p của các bộ, nên thứ tự các bộ là khôngcó ý ngh ĩa. Theo lý thuyết tậ p hợ p thì {A, B, C} = {C, B, A}
Giá tr ị NULL:
Trong một số trườ ng hợ p, trong một bộ giá tr ị của một thuộc tính là không có hoặc
có nhưng không đượ c biế t. Giá tr ị NULL đượ c sử dụng trong các trườ ng hợ p này. Xét bộ
sau trong quan hệ KhachHang
t1 = {‘00100’, ‘Tr ần Hùng’, ‘Dũng’, NULL, NULL}
Bộ trên có giá tr ị NULL tại thuộc tính địa chỉ và điện thoại do công ty có thể chưa có
thông tin này và sẽ đượ c bổ sung sau.
2.2. Lược đồ cơ sở dữ liệu và cơ sở dữ liệu
Một lược đồ cơ sở dữ liệu S là tậ p hợp các lược đồ quan hệ S = { R 1, R 2, … , R p}
trong đó Ri là các lược đồ quan hệ có liên quan vớ i nhau.
Một cơ sở dữ liệu DB phát sinh từ lược đồ cơ sở dữ liệu S là tậ p các quan hệ DB = {r1 , r2 , …, r3 } trong đó ri là quan hệ phát sinh từ lược đồ Ri.
Ví dụ: Vớ i mục đích quản lý khách hàng,
Hình 2-2 thể hiện một lược đồ cơ sở dữ liệu đượ c gọi là BanHang gồm có 7 quan hệ:BanHang = {NhanVien, KhachHang, NhaCungCap, HangHoa, HoaDonBan, CTHDB,LoaiHH };
Hình 2-3 thể hiện một cơ sở dữ liệu tương ứng với lược đồ BanHang.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 14/147
10
Hình 2-2. Lược đồ cơ sở dữ liệu quan hệ BanHang
KhachHang MaKH HoKH TenKH DiaChi DienThoai00001 Nguyễn Hùng Dũng 12 Tôn Đản 08.0897678
00002 Tr ần Ngọc Sơn 32 Phan Chu Trinh 058.876543
00003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Tr ần Nhật Duật 09895743300005 Tr ần Thị Lan 89 Bạch Đằng 08.9876544
00006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Tr ần An 8 Thái Nguyên 08.9876546
00009 Ngô Văn Nam 7 Ngô Gia Tự 08.9876541
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.9876542
00011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Tr ần Văn Ninh 1 2/4 053.675474
NhanVien MaNV HoTenNV GioiTinh DienThoai Luong
01 Tr ần Văn Lan Nam 058.836532 $0.0002 Đào Bạch Cúc Nữ 08.8762211 $12.0003 Nguyễn Thị Thườ ng Nữ 08.8234567 $300.0004 Phan Thị Thu Trang Nữ 08.8234567 $80.0005 Nguyễn Ngọc Phong Nam 08.8234567 $0.0006 Hồ Thị Hoa Nữ 08.8762211 $0.0007 Nguyễn Hoàng Vũ Nam 08.8234565 $1,234.0008 Tr ịnh Thanh Tú Nữ 08.8234563 $897.0009 Nguyễn Hoàng Long Nam 08.8234561 $19.0010 Tr ịnh Thị Bông Nữ 058.1235476 $200.00
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
NhanVien
MaNV HoTenNV GioiTinh DienThoai Luong Hinh
NhaCungCap
MaNCC TenNCC
HangHoa
MaHH TenHH DVT MaLoaiHH MaNCC
LoaiHH
MaLoaiHH TenLoaiHH
HoaDonBan
SoHDB NgayBan MaKH MaNV
CTHDB
SoHDB MaHH SoLuong DonGiaBan
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 15/147
11
NhaCungCap MaNCC TenNCC01 Việt Tiến02 SamSung03 Intel04 Ngọc Thanh05 Khatoco
HangHoa MaHH TenHH DVT MaLoaiHH MaNCC001 Lux thùng 01 03002 kep toc lố 04 02
003 cai toc lố 04 02
004 sua tam chai 02 04
005 omo thùng 02 04006 viso thùng 02 02
007 camay thùng 02 04
008 son moi thỏI 03 04
009 chi cây 03 04010 phan hộp 03 04111 Dove cái 01 04
LoaiHH MaLoaiHH TenLoaiHH
01 Xà phòng02 Sua tam
03 Mỹ phẩm
04 Nữ trang
HoaDonBan SoHDB NgayBan MaKH MaNV000000001 11/11/12 00001 05
000000002 01/01/12 00010 05
000000004 10/05/12 00011 04000000005 25/01/13 00010 01
000000006 12/05/12 00003 02000000007 25/02/13 00001 03
000000777 03/03/13 00012 09009999999 19/09/12 00003 06
087666666 08/04/13 00009 08
098777777 02/05/12 00009 10098888888 13/01/13 00012 03099999999 23/04/12 00007 03
111111111 25/04/13 00002 03
222222222 05/05/13 00003 05222333333 03/05/13 00004 07234444444 25/02/13 00004 08
333333333 12/04/13 00003 02
444444444 03/04/13 00009 06555555555 03/05/12 00009 08
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 16/147
12
Hình 2-3. Một cơ sở dữ liệu phát sinh từ lược đồ cơ sở dữ liệu BanHang
Như vậy, khi nói đến một cơ sở dữ liệu, chúng ta ngầm hiểu là nói đến cả lược đồ
của cơ sở dữ liệu đó cùng vớ i tr ạng thái hiện hành phản ánh thực tế trong thế giớ i thựctương ứng.
2.3. Ràng buộc toàn vẹn
Dữ liệu trong các quan hệ của một cơ sở dữ liệu có đượ c là thông qua quá trình tiến
hành các thao tác thêm, xóa, sửa. Tuy nhiên việc xảy ra các sai sót trong quá trình cậ p nhật
dữ liệu có thể dẫn đến những tình tr ạng dữ liệu không mong muốn. Ví dụ xét quan hệ
CTHDB sau trong cơ sở dữ liệu BanHang:
CTHDB SoHDB MaHH SoLuong DonGiaBan
000000001 11/11/12 1 05000000002 01/01/12 10 05000000004 10/05/12 11 04000000005 25/01/13 10 01000000006 12/05/12 3 02
Trong thế giớ i thực, thuộc tính SoLuong chỉ có giá tr ị dương. Do đó các giá trị -1, 0
hay -11 là những tình tr ạng dữ liệu không mong muốn. Có thể khắc phục tình tr ạng này
bằng cách đưa ra quy định r ằng SoLuong chỉ đượ c phép nhận các giá tr ị dương. Đây là một
ví dụ về ràng buộc toàn vẹn.
Ràng buộc toàn vẹn là các quy tắc cho một cơ sở dữ liệu nhằm đảm bảo nó phản ánh
đúng ngữ ngh ĩa của thế giớ i thực. Sau đây là một số loại ràng buộc toàn vẹn phổ biến.
CTHDB SoHDB MaHH SoLuong DonGiaBan
000000001 001 30 9990
000000001 002 3440 2990
000000001 004 330 5990
000000002 004 2330 200000000004 004 340 1000
000000004 008 450 200
000000005 006 10 300000000005 007 540 10000
000000006 004 230 200000000006 007 30 3000
000000006 008 540 500000000007 003 540 200
000000777 004 43530 100
009999999 007 3420 300
009999999 010 230 500098777777 006 450 100
098888888 004 5450 200
222222222 003 20 300
222333333 010 320 200444444444 006 540 100
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 17/147
13
2.3.1. Ràng buộ c Khóa của lược đồ quan hệ
Theo định ngh ĩa, một quan hệ là một tậ p hợ p của các bộ r = {t 1 , t 2, … , tm}, do đóhai bộ bất k ỳ trong một quan hệ phải khác nhau. Khóa (key) là một công cụ giúp phân biệt
các bộ trong quan hệ.
Định nghĩa:
Khóa của một lược đồ quan hệ R (A 1 , A 2 , … , A n) là một tậ p thuộc tính nhỏ nhất
K ⊆ { A1, A 2 , … , A n } sao cho:
r phát sinh từ R, t1 , t2 ∈ r thì t1[K] ≠ t2[K] (*)
Ví dụ: xét lược đồ quan hệ KhachHang, mọi khách hàng đều có MaKH khác nhau, do
đó MaKH là một khóa của lược đồ quan hệ này. Việc chọn MaKH làm khóa giúp đảm bảo
ràng buộc toàn vẹn r ằng trong quá trình cậ p nhật dữ liệu, không có hai bộ bất k ỳ nào có
MaKH giống nhau. Việc thêm, xóa, sửa sẽ bị từ chối nếu làm cho quan hệ có hai bộ giống
nhau ở MaKH. Lưu ý 1: K phải có tính ‘nhỏ nhất’, ngh ĩa là K’ ⊂ K , thì K’ không có tính chất (*)
Ví dụ: cũng có thể chọn hai thuộc tính {MaKH, TenKH} để phân biệt hai bộ bất k ỳ
trong lược đồ quan hệ KhachHang. Tuy nhiên chỉ cần MaKH là đủ. Do đó {MaKH, TenKH}
không đượ c gọi là khóa (đượ c gọi là siêu khóa).
Lưu ý 2 : Một lược đồ có thể có nhiều khóa. Giả sử trong bảng khách hàng có thêm
trườ ng SoCMND. Như vậy SoCMND cũng là khóa vì không có hai khách hàng nào giống
nhau về SoCMND. Tuy nhiên đối vớ i một lược đồ, chỉ chọn một khóa làm đại diện và đượ cgọi là khóa chính (primary key). Trong ngữ ngh ĩa của cơ sở dữ liệu BanHang, thuộc tính
MaKH có ý ngh ĩa hơn là SoCMND. Do đó MaKH đượ c chọn làm khóa chính cho lược đồ quan hệ KhachHang.
Như vậy, khóa chính cho các lược đồ quan hệ trong lược đồ cơ sở dữ liệu BanHang
là như sau:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 18/147
14
− MaKH: dùng để phân biệt các bộ trong quan hệ KhachHang
− MaNV : dùng để phân biệt các bộ trong quan hệ NhanVien
− MaNCC: dùng để phân biệt các bộ trong quan hệ NhaCungCap
− MaHH: dùng để phân biệt các bộ trong quan hệ HangHoa
− MaLoaiHH: dùng để phân biệt các bộ trong quan hệ LoaiHH − SoHDB: dùng để phân biệt các bộ trong quan hệ HoaDonBan
{SoHDB, MaHH}: trong lược đồ CTHDB, khóa có hai thuộc tính là SoHDB và MaHH.
Nếu chỉ chọn SoHDB để làm khóa thì không đủ vì một hóa đơn có thể mua nhiều hàng hóa
khác nhau, do đó có nhiều bộ có cùng SoHDB. Tương tự, nếu chỉ chọn MaHH để làm khóa
cũng không đủ vì một hàng hóa có thể được mua trong các hóa đơn khác nhau, nên cónhiều bộ có cùng MaHH.
2.3.2. M ố i liên hệ giữ a các quan hệ ; Ràng buộ c Khóa ngoại
Xét hai quan hệ KhachHang và HoaDonBan trong cơ sở dữ liệu BanHang
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
NhanVien
MaNV HoTenNV GioiTinh DienThoai Luong Hinh
NhaCungCap
MaNCC TenNCC
HangHoa
MaHH TenHH DVT MaLoaiHH MaNCC
LoaiHH
MaLoaiHH TenLoaiHH
HoaDonBan
SoHDB NgayBan MaKH MaNV
CTHDB
SoHDB MaHH SoLuong DonGiaBan
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 19/147
15
Trong thực tế, giữa hai đối tượ ng KhachHang và HoaDonBan có mố i liên hệ là một
khách hàng thì có nhiều lần mua hàng và do đó đượ c xuất nhiều HoaDonBan và một hóa
đơn khi xuất ra thì chỉ cho một và chỉ một khách hàng mà thôi. Ta gọi đây là mối liên hệ
một – nhiều (KhachHang -1, HoaDonBan - ∞ ) Hay nói cách khác KhachHang là quan hệ cha, HoaDonBan là quan hệ con. Vì vậy trong lược đồ quan hệ HoaDonBan có thuộc tính
MaKH để biểu diễn mối liên hệ này.
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
HoaDonBan
SoHDB NgayBan MaKH MaNV
KhachHang MaKH HoKH TenKH DiaChi DienThoai
00001 Nguyễn Hùng Dũng 12 Tôn Đản 08.089767800002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.87654300003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 098957433
00005 Trần Thị Lan 89 Bạch Đằng 08.987654400006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Trần An 8 Thái Nguyên 08.987654600009 Ngô Văn Nam 7 Ngô Gia Tự 08.9876541
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.987654200011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Trần Văn Ninh 1 2/4 053.675474
HoaDonBan SoHDB NgayBan MaKH MaNV
000000001 11/11/12 00001 05000000002 01/01/12 00010 05
000000004 10/05/12 00011 04000000005 25/01/13 00010 01
000000006 12/05/12 00003 02000000007 25/02/13 00001 03000000777 03/03/13 00012 09
009999999 19/09/12 00003 06
087666666 08/04/13 00009 08098777777 02/05/12 00009 10
098888888 13/01/13 00012 03099999999 23/04/12 00007 03
111111111 25/04/13 00002 03
222222222 05/05/13 00003 05222333333 03/05/13 00004 07
234444444 25/02/13 00004 08333333333 12/04/13 00003 02444444444 03/04/13 00009 06
555555555 03/05/12 00009 08
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 20/147
16
Lúc này thuộc tính MaKH đượ c gọi là khóa ngoại của quan hệ HoaDonBan (quan hệ
con) vì nó tham chiếu đến khóa chính MaKH của quan hệ KhachHang (quan hệ cha)
Ràng buộc toàn vẹn về khóa ngoại phát biểu r ằng: vớ i một giá tr ị tại thuộc tính khóa
ngoại trong quan hệ con, thì giá tr ị đó phải t ồn t ại trướ c trong quan hệ cha.
Xét ví dụ :
Đây là một tr ạng thái không hợ p lệ vì tại hai bộ cuối của quan hệ HoaDonBan, MaKH
‘00100’ và ‘00101’ chưa tồn tại tại thuộc tính MaKH ở bất cứ bộ nào trong quan hệ
KhachHang. Tr ạng thái sau đây mới đượ c gọi là hợ p lệ.
KhachHang MaKH HoKH TenKH DiaChi DienThoai
00001 Nguyễn Hùng Dũng 12 Tôn Đản 08.0897678
00002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.87654300003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 09895743300005 Trần Thị Lan 89 Bạch Đằng 08.9876544
00006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Trần An 8 Thái Nguyên 08.987654600009 Ngô Văn Nam 7 Ngô Gia Tự 08.987654100010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.9876542
00011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Trần Văn Ninh 1 2/4 053.675474
HoaDonBan SoHDB NgayBan MaKH MaNV000000001 11/11/12 00001 05000000002 01/01/12 00010 05
000000004 10/05/12 00011 04
000000005 25/01/13 00010 01000000006 12/05/12 00003 02
…… …… …… ……
000000100 25/01/13 00100 02000000101 12/05/12 00101 01
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 21/147
17
Như vậy, có thể thiết lậ p các mối quan hệ và ràng buộc toàn vẹn về khóa ngoại cho
lượt đồ cơ sở dữ liệu BanHang như sau:
Hình 2-4. Mố i liên hệ và ràng buộc khóa ngoại giữa các lược đồ quan hệ trongCSDL BanHang
2.3.3. Các ràng buộ c khác
1) Ràng buộc về miề n giá tr ị
Quy định SoLuong chỉ nhận các giá tr ị dương là một ràng buộc miền giá tr ị.
2) Ràng buộc giá tr ị NULL
Ràng buộc này cho phép một thuộc tính có đượ c nhận giá tr ị NULL hay không
(NULL hay NOT NULL). Ví dụ thuộc tính TenKH của lược đồ quan hệ KhachHang phải là
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
NhanVien
MaNV HoTenNV GioiTinh DienThoai Luong Hinh
HoaDonBan
SoHDB NgayBan MaKH MaNV
CTHDBSoHDB MaHH SoLuong DonGiaBan
HangHoa
MaHH TenHH DVT MaLoaiHH MaNCC
LoaiHH
MaLoaiHH TenLoaiHH
NhaCungCap
MaNCC TenNCC
KhachHang MaKH HoKH TenKH DiaChi DienThoai
00001 Nguyễn Hùng Dũng 12 Tôn Đản 08.089767800002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.87654300003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 098957433
00005 Trần Thị Lan 89 Bạch Đằng 08.987654400006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Trần An 8 Thái Nguyên 08.987654600009 Ngô Văn Nam 7 Ngô Gia Tự 08.9876541
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.987654200011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Trần Văn Ninh 1 2/4 053.67547400100 … … … …00101 … … … …
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 22/147
18
NOT NULL vì tên khách hàng là một thông tin bắt buộc phải có khi lưu trữ thông tin
khách hàng.
3) Ràng buộc liên thuộc tính:
Ràng buộc này ảnh hưởng đến nhiều thuộc tính trong một quan hệ. Xét quan hệ đặt
phòng khách sạn sau đây :DatPhong(TenKhachHang, TenPhong, TuNgay, DenNgay, DonGia)
Thì có ràng buộc liên thuộc tính: TuNgay <= DenNgay
2.4. Cập nhật dữ liệu và vi phạm ràng buộc toàn vẹn
Có ba thao tác liên quan đến cậ p nhật cơ sở dữ liệu: thêm, xóa, sửa. Thêm ngh ĩa là bổ sung thêm một bộ (hay nhiều bộ) vào một quan hệ. Xóa được dùng để loại bỏ một bộ
(hay nhiều bộ) ra khỏi quan hệ. Sử a là thay đổi giá tr ị một số thuộc tính của một số bộ đã
tồn tại. Một thao tác cậ p nhật phải không đượ c vi phạm các ràng buộc toàn vẹn, nếu không
thao tác đó sẽ bị từ chối. Trong phần này sẽ trình bày một số ví dụ về thêm, xóa, sửa, sử dụng cơ sở dữ liệu BanHang trong Hình 2-3 và dựa trên các ràng buộc toàn vẹn chỉ định
trong Hình 2-4.
2.4.1. Thêm (Insert, Append)
1. Thêm bộ {NULL, ‘Mai’, ‘Anh’, ’15 Tr ần Nguyên Hãn, ‘0905668739’ } vào quan hệ
KhachHang.
Thao tác thêm này vi phạm ràng buộc toàn vẹn khóa chính phải khác NULL. Vì vậy
thêm không thành công.
2. Thêm bộ { ‘00001’, ‘Mai’, ‘Anh’, ’15 Tr ần Nguyên Hãn, ‘0905668739’ } vào quan hệ
KhachHang.
Thao tác thêm này vi phạm ràng buộc toàn vẹn khóa chính vì giá tr ị khóa ‘00001’đã
tồn tại. Thêm không thành công.
3. Thêm bộ {‘008’, ‘Lux’, ‘thùng’, ‘05’, ‘01’ } vào quan hệ HangHoa.
Thao tác thêm này vi phạm ràng buộc toàn vẹn khóa ngoại MaLoaiHH vì trong quan hệ
LoaiHH không có bộ nào có MaLoaiHH là ‘05’. Thêm không thành công.
4. Thêm bộ {‘008’, ‘Lux’, ‘thùng’, ‘04’, ‘01’} vào quan hệ HangHoa.
Thao tác này thỏa mãn các ràng buộc. Thêm thành công.
2.4.2. Xóa (Delete)
1. Xóa hàng hóa có MaHH là ‘008’
Xóa thành công.
2. Xóa khách hàng có mã khách hàng là ‘00001’
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 23/147
19
Thao tác này không thành công vì trong quan hệ HoaDonBan (bảng con) có hóa
đơn vớ i SoHDB là ‘000000001’ tham chiếu đến khách hàng này. Nếu xóa bộ này
trong bảng KhachHang (bảng cha) thì vi phạm ràng buộc toàn vẹn.
Để tránh vi phạm ràng buộc toàn vẹn khóa ngoại khi xóa một bộ trong bảng
cha, một phương án xử lý khác là xóa luôn các bộ có liên quan trong bảng con
(CASCADE DELETE)
2.4.3. Sử a (Update)
1. Trong quan hệ KhachHang sửa DiaChi của bộ có MaKH = ‘00001’ thành ’90 Nguyễn
Thị Minh Khai’.
Thao tác sửa này thành công.
2. Sửa MaKH của hóa đơn bán ‘000000001’ thành ‘00150’ Vi phạm ràng buộc toàn vẹn khóa ngoại vì trong quan hệ KhachHang không có bộ
nào có MaKH là ‘00150’.3. Sửa MaKH của khách hàng ‘00001’ thành ‘00150’
Thao tác sửa này vi phạm ràng buộc toàn vẹn khóa ngoại vì trong quan hệ
HoaDonBan có 1 hóa đơn có MaKH là ‘00001’. Thao tác này bị từ chối. Một phương án xử
lý khác để tránh vi phạm ràng buộc toàn vẹn là sửa luôn MaKH của hóa đơn này thành‘00150’ (CASCADE UPDATE)
KhachHang MaKH HoKH TenKH DiaChi DienThoai
00001 Nguy n Hùng Dũng 12 Tôn Đản 08.0897678
00002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.87654300003 Nguy n Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 09895743300005 Trần Thị Lan 89 Bạch Đằng 08.9876544
00006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Trần An 8 Thái Nguyên 08.9876546
00009 Ngô Văn Nam 7 Ngô Gia Tự 08.987654100010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.9876542
00011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Trần Văn Ninh 1 2/4 053.675474
HoaDonBan SoHDB NgayBan MaKH MaNV000000001 11/11/12 00001 05000000002 01/01/12 00010 05
000000004 10/05/12 00011 04
000000005 25/01/13 00010 01
000000006 12/05/12 00003 02
cascade
delete
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 24/147
20
2.5. Bài tập
1) Một công ty du lịch cần tổ chức một cơ sở dữ liệu nhằm quản lý hoạt động kinh
doanh du lịch của công ty. Các thông tin cần quản lý như sau:
− Danh sách các khách hàng của công ty
− Danh sách các điểm du lịch công ty có mở tour, số ngày đến điểm du lịch đó,
và đơn giá cho một ngườ i.− Danh sách các tour du lịch cụ thể, mỗi tour có một điểm đến và xuất phát vào
một ngày nào đó.
− Khách hàng nào đăng k ý tour du lịch nào, vớ i số lượ ng bao nhiêu.
Yêu cầu:
a) Hãy định ngh ĩa lược đồ cơ sở dữ liệu quan hệ cho mô hình trên và thiết lậ p các
ràng buộc toàn vẹn về khóa chính và khóa ngoại tương tự như trong Hình 2-4.
b) Tạo một số dữ liệu mẫu cho cơ sở dữ liệu trên như trong Hình 2-3
2) Xét cơ sở dữ liệu BanHang như sau:
KhachHang MaKH HoKH TenKH DiaChi DienThoai
00150 Nguyễn Hùng Dũng 12 Tôn Đản 08.089767800002 Trần Ngọc Sơn 32 Phan Chu Trinh 058.87654300003 Nguyễn Thị Hoa 12 Lê Hồng Phong 08.9876543
00004 Lê Minh An 56 Trần Nhật Duật 098957433
00005 Trần Thị Lan 89 Bạch Đằng 08.987654400006 Ngô Ban 9 Bạch Đằng 08.9876547
00007 Trần An 8 Thái Nguyên 08.987654600009 Ngô Văn Nam 7 Ngô Gia Tự 08.9876541
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.987654200011 Phan Ngọc Trang 2 Bạch Đằng 08.4566743
00012 Trần Văn Ninh 1 2/4 053.675474
HoaDonBan SoHDB NgayBan MaKH MaNV
000000001 11/11/12 00150 05000000002 01/01/12 00010 05
000000004 10/05/12 00011 04000000005 25/01/13 00010 01
000000006 12/05/12 00003 02
cascadeupdate
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 25/147
21
a) Hãy thiết lậ p các ràng buộc toàn vẹn về khóa chính và khóa ngoại. b) Cho biết các thao tác sau có vi phạm ràng buộc toàn vẹn hay không, nêu lý do:
5. Thêm bộ { ‘A001’, ‘Sơn Hà’, ’33 Hồng L ĩnh’ } vào quan hệ
KhachHang.
6. Thêm bộ { ‘S02, ‘Sữa chua Yomost’, ’Lốc’, 4500 } vào quan hệ
MatHang.
7. Thêm bộ { ‘005’, ‘12/2/2010’, ‘A004’ } vào quan hệ HoaDon
8. Xóa khách hàng có tên ‘Lê Cườ ng’ trong quan hệ KhachHang
9. Xóa mặt hàng có tên ‘Kem Monte-Rosa’ trong quan hệ MatHang
10. Xóa hóa đơn ‘004’ trong quan hệ HoaDon (có CASCADE DELETE)11. Xóa mặt hàng bán ‘S03’ của hóa đơn ‘002’ trong quan hệ MatHangBan.
12. Trong quan hệ KhachHang, sửa MaKH ‘A001’ thành ‘A002’
13. Trong quan hệ KhachHang, sửa MaKH ‘B002’ thành ‘B003’ (có
CASCADE UPDATE)
14. Trong quan hệ MatHang sửa đơn giá của mặt hàng ‘S03’ thành 5.000
15. Trong quan hệ HoaDon, sửa MaKH của hóa đơn 003 thành ‘D004’
KhachHang MaKH HoTen DiaChi
A001 Nguyễn Trang 12 Hồng BàngB002 Lê Cường 60 Trần PhúC003 Mai Nguyễn 22 Bạch Đằng
MatHang MaMH TenMH DonViTinh DonGiaS03 Sữa chua Vinamilk Lốc 4.000B02 Bánh Choco-Pie Hộp 15.000
K01 Kem Monte-Rosa Ký 20.000
HoaDon MaHD NgayHD MaKH
001 12/2/2010 A001002 12/2/2010 B002
003 20/4/2011 B002
004 25/7/2011 A001
MatHangBan MaHD MaMH SoLuong
001 S03 2001 B02 5
002 K01 6
002 S03 8003 S03 10
004 B02 7
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 26/147
22
CHƯƠNG 3. ĐẠI SỐ QUAN HỆ
Các thao tác trên cơ sở dữ liệu có thể đượ c chia thành hai loại. Loại thứ nhất là cậ p
nhật d ữ liệu vào các quan hệ, đó là các thao tác thêm, xóa, sửa đã đư ợ c trình bày trongchương 2. Loại thứ hai là truy xuấ t d ữ liệu từ các quan hệ, hay còn gọi là truy vấn (query)
nhằm k ết xuất thông tin từ các quan hệ.
Ví dụ: Hãy cho biế t thông tin về các đơn đặt hàng của khách hàng của mã là ‘00010’
trong cơ sở dữ liệu Banhang. K ết quả của truy vấn này cũng là một quan hệ:
MaKH HoKH TenKH DiaChi DienThoai SoHDB NgayBan
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.9876542 000000002 01/01/12
00010 Nguyễn Thu Trang 9 Ngô Gia Tự 08.9876542 000000005 25/01/13
Mô hình dữ liệu quan hệ định ngh ĩa các phép toán dùng để truy vấn. Tậ p hợ p các
phép toán này đượ c gọi là đại số quan hệ. Một dãy các phép toán tạo thành một biể u thứ cđại số quan hệ. Trước khi đi vào các phép toán đại số quan hệ, phần 3.1 trình bày lại một
số khái niệm về các biểu thức cơ bản.
3.1. Biểu thứ c cơ bản
Có 4 loại biểu thức cơ bản
1) Biể u thứ c số họ c:
Tương tự như biểu thức số học thông thườ ng, các toán hạng của biểu thức có kiểu số.Ví dụ :
Biể u thứ c K ế t quả
HocBong + 100 600 (nếu HocBong = 500)
Sqrt(x) 5 (nếu x=25)
SoLuong*DonGia 100000 (nếu SoLuong = 5, DonGia=20000)
2) Biể u thứ c chuỗ i:
Là biểu thức mà các toán hạng thuộc kiểu chuỗi. Ví dụ :
Biểu thức K ết quả ‘Nguyen’ + ‘Son’ ‘NguyenSon’
Ho + Ten ‘LeMai’ (nếu Ho=’Le’ và Ten=’Mai’)
Ho + ‘ ‘ + Ten ‘Le Mai’
Len(Ten) 3 (nếu Ten = ‘Mai’)5 (nếu Ten = ‘Nguyen’)
Left(Ten, 2) ‘Ma’
3) Biể u thứ c ngày tháng:
Biểu thức ngày tháng thường liên quan đến kiểu dữ liệu ngày tháng và kiểu số.
Ví dụ:WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 27/147
23
Biểu thức K ết quả
Month(#8/12/2011#) 8
Day(#5/2/2011#) 2 Year(Now()) 2011
Year(Now()) – Year(NgaySinh) Tính số tuổi của sinh viên
4) Biể u thứ c logic:
Biểu thức logic là một biểu thức mà k ết quả chỉ có hai giá tr ị là đúng (true) hoặc sai
( false). Ví dụ:
Biểu thức K ết quả
8>5 Đúng(12+4) <= 15 Sai
‘Nam’ < ‘Nga’ ĐúngHocBong >= 200 Đúng (nếu HocBong = 300, 500)
Sai (nếu HocBong = 100)Ten like ‘N*’ Đúng (nếu TenSV bắt đầu bằng chữ N như: Nam, Nga, Nhân…)NgaySinh < #1/2/1991# Đúng, nếu sinh viên sinh trước ngày 2/1/1991
Ngoài các phép so sánh, chúng ta còn có các phép AND, OR , XOR . Mục đích là để
k ết hợ p hai biểu thức logic thành một biểu thức logic khác theo bảng bên dướ i :
a b a AND b a OR b NOT a
đúng đúng Dúng đúng Sai
đúng sai Sai đúng Saisai đúng Sai đúng Dúng
sai sai Sai sai Dúng
Ví dụ :
B iểu thức Kết quả
Year(NgaySinh)= 1992 AND HocBong> 0 Sinh viên sinh năm 1992 và học bổng trên 500(HocBong>=200) AND (HocBong<=500) Có học bổng từ 200 đến 500(Ten= ‘Trang’) OR (Ten= ‘Lan’) Sinh viên tên Trang hoặc tên Lan
3.2. Phép chọn (SELECT)
Phép chọn dùng để lấy ra một số bộ từ một quan hệ mà các bộ này thỏa mãn mộtđiều kiện chọn nào đó.
Cú pháp: (điều-kiện-chọn) (TenQuanHe)
Điều-kiện-chọn là một biểu thức logic. Điều kiện chọn phải có giá tr ị là true đối vớ icác bộ đượ c chọn ra từ quan hệ.
Ví d ụ 1: Cho biết các nhân viên có lương >= 500
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 28/147
24
Ví d ụ 2: Liệt kê các nhân viên có giới tính Nam và có lương >= 500
(GioiTinh = Nam AND Luong >= 500) (KhachHang)
3.3. Phép chiếu (PROJECT)
Phép chiếu dùng để lấy ra một số thuộc tính của các bộ trong một quan hệ. Nếu quan
niệm một quan hệ là một bảng gồm nhiều cột, phép chọn dùng để chọn ra một số dòng thì
phép chiếu chọn ra một số cột.
Cú pháp: π (danh-sách-thuộc-tính) (TenQuanHe)
Ví d ụ 3: Liệt kê các nhân viên vớ i HoTenNV , GioiTinh, DienThoai, Luong
NhanVien MaNV HoTenNV GioiTinh DienThoai Luong01 Trần Văn Lan Nam 058.836532 $0.00
02 Đào Bạch Cúc Nữ 08.8762211 $12.0003 Nguyễn Thị Thường Nữ 08.8234567 $300.00
04 Phan Thị Thu Trang Nữ 08.8234567 $80.0005 Nguyễn Ngọc Phong Nam 08.8234567 $0.00
06 Hồ Thị Hoa Nữ 08.8762211 $0.0007 Nguyễn Hoàng V ũ Nam 08.8234565 $1,234.00
08 Trịnh Thanh Tú Nữ 08.8234563 $897.0009 Nguyễn Hoàng Long Nam 08.8234561 $19.00
10 Trịnh Thị Bông Nữ 058.1235476 $200.00
NhanVien MaNV HoTenNV GioiTinh DienThoai Luong
01 Trần Văn Lan Nam 058.836532 $0.0002 Đào Bạch Cúc Nữ 08.8762211 $12.0003 Nguyễn Thị Thường Nữ 08.8234567 $300.00
04 Phan Thị Thu Trang Nữ 08.8234567 $80.00
05 Nguyễn Ngọc Phong Nam 08.8234567 $0.0006 Hồ Thị Hoa Nữ 08.8762211 $0.0007 Nguyễn Hoàng V ũ Nam 08.8234565 $1,234.0008 Trịnh Thanh Tú Nữ 08.8234563 $897.00
09 Nguyễn Hoàng Long Nam 08.8234561 $19.0010 Trịnh Thị Bông Nữ 058.1235476 $200.00
NhanVien MaNV HoTenNV GioiTinh DienThoai Luong
07 Nguyễn Hoàng Vũ Nam 08.8234565 $1,234.0008 Trịnh Thanh Tú Nữ 08.8234563 $897.00
(Luong >=500) (NhanVien)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 29/147
25
Phép chiếu cũng có thể tạo ra một thuộc tính mớ i cho quan hệ k ết quả:
Ví d ụ 4: πHoTenNV, DienThoai, Luong, PhuCap : Luong*1,05 (NhanVien)
Sau đây là một ví dụ minh họa phép chiếu k ết hợ p vớ i phép chọn:
Ví d ụ 5: Cho biết các nhân viên có lương >= 500, chỉ liệt kê các cột HoTenNV,
DienThoai
π HoTenNV, DienThoai [ Luong >=500) (NhanVien)]
HoTenNV DienThoai Luong PhuCap
Trần Văn Lan 058.836532 $0.00 $0.00Đào Bạch Cúc 08.8762211 $12.00 $12.60
Nguyễn Thị Thường 08.8234567 $300.00 $315.00
Phan Thị Thu Trang 08.8234567 $80.00 $84.00
Nguyễn Ngọc Phong 08.8234567 $0.00 $0.00Hồ Thị Hoa 08.8762211 $0.00 $0.00Nguyễn Hoàng Vũ 08.8234565 $1,234.00 $1,295.70
Trịnh Thanh Tú 08.8234563 $897.00 $941.85
Nguyễn Hoàng Long 08.8234561 $19.00 $19.95Trịnh Thị Bông 058.1235476 $200.00 $210.00
MaNV HoTenNV GioiTinh DienThoai Luong
01 Trần Văn Lan Nam 058.836532 $0.0002 Đào Bạch Cúc Nữ 08.8762211 $12.0003 Nguyễn Thị Thường Nữ 08.8234567 $300.00
04 Phan Thị Thu Trang Nữ 08.8234567 $80.00
05 Nguyễn Ngọc Phong Nam 08.8234567 $0.0006 Hồ Thị Hoa Nữ 08.8762211 $0.00
07 Nguyễn Hoàng Vũ Nam 08.8234565 $1,234.0008 Trịnh Thanh Tú Nữ 08.8234563 $897.00
09 Nguyễn Hoàng Long Nam 08.8234561 $19.0010 Trịnh Thị Bông Nữ 058.1235476 $200.00
HoTenNV GioiTinh DienThoai LuongTrần Văn Lan Nam 058.836532 $0.00
Đào Bạch Cúc Nữ 08.8762211 $12.00
Nguy n Thị Thường Nữ 08.8234567 $300.00Phan Thị Thu Trang Nữ 08.8234567 $80.00Nguy n Ngọc Phong Nam 08.8234567 $0.00
Hồ Thị Hoa Nữ 08.8762211 $0.00
Nguyễn Hoàng Vũ Nam 08.8234565 $1,234.00Trịnh Thanh Tú Nữ 08.8234563 $897.00
Nguyễn Hoàng Long Nam 08.8234561 $19.00Trịnh Thị Bông Nữ 058.1235476 $200.00
πHoTenNV, GioiTinh, DienThoai, Luon (NhanVien)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 30/147
26
HoTenNV DienThoai
Nguyễn Hoàng Vũ 08.8234565
Trịnh Thanh Tú 08.8234563
Tuy nhiên nếu thực hiện phép chiếu trướ c sẽ gây ra lỗi vì sau khi thực hiện phép
chiếu thì không còn thuộc tính Luong để thực hiện phép chọn. Biểu thức sau đây là biểu
thức sai:
Luong >=500 [π HoTenNV, DienThoai (NhanVien)]
3.4. Phép tích Descartes (CARTESIAN PRODUCT)
Trong lý thuyết tậ p hợ p, phép tích Descartes dùng để nhân hai tậ p hợ p vớ i nhau. Ví
dụ: cho tậ p A = { a1 , a 2 }, tậ p B = { b1 , b 2 , b 3 } thì tích Descartes của A và B là:
A × B = { a1b 1 , a 1b 2, a 1b 3 , a 2b 1 , a 2b 2, a 2b 3 }
Tậ p k ết quả có 6 phần tử, bằng số lượ ng của tậ p A nhân số lượ ng tậ p B.
Từ đó phép tích Descartes cho hai quan hệ được định ngh ĩa như sau:
Cho hai quan hệ r và s phát sinh từ hai lượt đồ R(A1 , A2 ,…, An) và S(B1 , B2 , …, Bm)
trong đó r có n R bộ và s có nS bộ. Tích Descartes của r và s là một quan hệ có lượt đồ
Q A 1, A 2,… , A n , B 1 , B 2 , … , B m ) . Quan hệ này có n R * nS bộ. Những bộ này hình thành
bằng cách k ết hợ p một bộ trong r và một bộ trong s.
Ví dụ: HangHoa × LoaiHH
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 31/147
27
Hình 0-1. Phép tích Descartes
Bản thân phép tích Descartes ít có ý ngh ĩa th ực tế. Tuy nhiên phép tích Descartes là
cơ sở cho phép k ết nối đượ c trình bày trong phần tiế p theo.
3.5. Phép kết nối bằng (EQUI JOIN)
Ví d ụ 6: Xét truy vấn sau đây: hãy cho biết mỗi hàng hóa thuộc loại hàng hóa nào.
Truy vấn trên có thể thực hiện được dùng phép tích Descartes, sau đó áp dụng thêm
một một phép chọn dựa vào điều kiện MaLoaiHH = MaLoaiHH.
MaHH TenHH DVT MaLoaiHH MaNCC
001 Lux thùng 01 03002 kep toc lố 04 02003 cai toc lố 04 02
004 sua tam chai 02 04
005 omo thùng 02 04006 viso thùng 02 02
007 camay thùng 02 04008 son moi thỏI 03 04
009 chi cây 03 04010 phan hộp 03 04
111 Dove cái 01 04
MaLoaiHH TenLoaiHH
01 Xà phòng02 Sua tam
03 Mỹ ph m04 Nữ trang
MaHH TenHH DVT MaLoaiHH MaNCC MaLoaiHH TenLoaiHH
001 Lux thùng 01 03 01 Xà phòng001 Lux thùng 01 03 02 Sua tam001 Lux thùng 01 03 03 Mỹ phẩm
001 Lux thùng 01 03 04 Nữ trang
002 kep toc lố 04 02 01 Xà phòng
002 kep toc lố 04 02 02 Sua tam002 kep toc lố 04 02 03 Mỹ phẩm
002 kep toc lố 04 02 04 Nữ trang
…. …. …. …. …. …. ….
111 Dove cái 01 04 01 Xà phòng111 Dove cái 01 04 02 Sua tam111 Dove cái 01 04 03 Mỹ phẩm
111 Dove cái 01 04 04 Nữ trang
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 32/147
28
Cách thực hiện một tích Descartes và sau đó là một phép chọn có điều kiện bằng nhưvậy đượ c gọi là phép k ết nối bằng.
Cú pháp:
QuanHe1⋈ điều-kiện-bằng QuanHe2
Ví dụ trên đượ c viết lại là:
HangHoa ⋈ MaLoaiHH = MaLoaiHH LoaiHHTrong trườ ng hợ p các thuộc tính để k ết nối bằng ở cả hai quan hệ giống tên nhau thì
phép k ết nối bằng đượ c gọi là phép k ết nối tự nhiên. Lúc này chỉ cần viết phép toán k ết nối
mà không cần viết danh sách điều-kiện-bằng đi kèm.
Ví d ụ 7: Hãy cho biết tên hàng hóa ứng vớ i các nhà cung cấ p
HangHoa ⋈ NhaCungCap
(ngầm hiểu điều kiện bằng là thuộc tính MaNCC ở cả hai quan hệ)
K ết quả:
MaHH TenHH DVT MaLoaiHH MaNCC MaLoaiHH TenLoaiHH
001 Lux thùng 01 03 01 Xà phòng001 Lux thùng 01 03 02 Sua tam001 Lux thùng 01 03 03 Mỹ phẩm
001 Lux thùng 01 03 04 Nữ trang
002 kep toc lố 04 02 01 Xà phòng002 kep toc lố 04 02 02 Sua tam
002 kep toc lố 04 02 03 Mỹ phẩm002 kep toc lố 04 02 04 Nữ trang
…. …. …. …. …. …. ….111 Dove cái 01 04 01 Xà phòng
111 Dove cái 01 04 02 Sua tam
111 Dove cái 01 04 03 Mỹ phẩm111 Dove cái 01 04 04 Nữ trang
MaHH TenHH DVT MaLoaiHH MaNCC MaLoaiHH TenLoaiHH
001 Lux thùng 01 03 01 Xà phòng002 kep toc lố 04 02 04 Nữ trang
003 cai toc lố 04 02 04 Nữ trang
004 sua tam chai 02 04 02 Sua tam005 omo thùng 02 04 02 Sua tam006 viso thùng 02 02 02 Sua tam
007 camay thùng 02 04 02 Sua tam
008 son moi thỏI 03 04 03 Mỹ phẩm
009 chi cây 03 04 03 Mỹ phẩm010 phan hộp 03 04 03 Mỹ phẩm
111 Dove cái 01 04 01 Xà phòng
(MaLoaiHH=MaLoaiHH) (HangHoa × LoaiHH)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 33/147
29
Trong quan hệ k ết quả, do có 2 thuộc tính MaNCC nên có hai cách xử lý:
• Chỉ giữ lại một thuộc tính MaNCC
• Dùng tên quan hệ để phân biệt: HangHoa.MaNCC và NhaCungCap.MaNCC
Ví d ụ 8: Hãy cho biết thông tin hóa đơn nào đã mua mặt hàng viso
π SoHD, NgayBan (δ TenHH=’viso’ [HangHoa ⋈ (HoaDonBan⋈ CTHDB]))
Hoặc:
π SoHD, NgayBan (δ TenHH=’viso’ [(HangHoa⋈ CTHDB) ⋈ HoaDonBan])
Hoặc: π SoHD, NgayBan (δ TenHH=’viso’ (HangHoa)⋈ CTHDB⋈ HoaDonBan)
Tuy nhiên, viết như bên dướ i là không hợ p lệ:
π SoHD, NgayBan (δ TenHH=’viso’ [(HangHoa⋈ HoaDonBan)⋈ CTHDB])
vì giữa HangHoa và HoaDonBan không có thuộc tính k ết nối.
Ví d ụ 9: Hãy cho biết HoKH, TenKH, DienThoai của những khách hàng mua mặt hàng
viso:
π HoKH, TenKH, DienThoai (δ TenHH=’viso’ [HangHoa⋈ CTHDB⋈ HoaDonBan⋈
KhachHang])
3.6. Phép nhóm dữ liệu (GROUP)
Ví d ụ 10: Giả sử có truy vấn sau: Dựa vào bảng HangHoa, tính số lượ ng hàng hóa
thuộc mỗi loại hàng hóa. K ết quả như ở bảng dướ i:
MaHH TenHH DVT MaLoaiHH MaNCC MaNCC TenNCC
001 Lux thùng 01 03 03 Intel002 kep toc lố 04 02 02 SamSung003 cai toc lố 04 02 02 SamSung
004 sua tam chai 02 04 04 Ngọc Thanh
005 omo thùng 02 04 04 Ngọc Thanh006 viso thùng 02 02 02 SamSung
007 camay thùng 02 04 04 Ngọc Thanh008 son moi thỏI 03 04 04 Ngọc Thanh
009 chi cây 03 04 04 Ngọc Thanh010 phan hộp 03 04 04 Ngọc Thanh
111 Dove cái 01 04 04 Ngọc Thanh
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 34/147
30
Cách thức thực hiện như trên đượ c gọi là phép nhóm.
Cú pháp:
Thuộc-tính-nhóm G Các-hàm-gộ p (QuanHe)
Hàm Count được đượ c gọi là hàm gộ p (aggregate function). Danh sách các hàm gộ pđượ c liệt kê bên dướ i
Tên hàm Mục đích
Count Đếm số bộ
Sum Tính tổng các giá tr ị
Avg Tính giá tr ị trung bình
Max Tìm giá tr ị lớ n nhất
Min Tìm giá tr ị nhỏ nhất
Ví d ụ 11: Mở r ộng ví d ụ 10, tính số lượ ng hàng hóa thuộc mỗi loại hàng hóa, liệt kê
các thuộc tính: MaLoaiHH, TenLoaiHH, SoLuongHH.
Thuộc tính dùng để
tách nhóm các bộCount là hàm đếm số MaSV(số bộ) trong t ừng nhóm
MaLoaiHH G SoLuongHH: Count(MaHH) (HangHoa)
MaHH TenHH DVT MaNCC MaLoaiHH
001 Lux thùng 03 01
111 Dove cái 04 01004 sua tam chai 04 02
005 omo thùng 04 02006 viso thùng 02 02
007 camay thùng 04 02008 son moi thỏI 04 03009 chi cây 04 03
010 phan hộp 04 03
002 kep toc lố 02 04003 cai toc lố 02 04
MaLoaiHH SoLuongHH
01 2
02 4
03 3
04 2
2
4
3
2
Tách nhóm theo
mã loại hàng hóa
Đếm số hàng hóa
trong nhóm
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 35/147
31
Để có thêm cột TenLoaiHH, cần thực hiện phép k ết giữa bảng HangHoa và bảng
LoaiHang, sau đó thực hiện phép nhóm như bình thư ờ ng, tuy nhiên cột TenLoaiHH phải
được đưa vào làm thuộc tính nhóm chung vớ i MaLoaiHH
MaLoaiHH, TenLoaiHH G SoLuongHH: Count(MaHH) (HangHoa⋈LoaiHang)
Ví d ụ 12: Cho biết số tiền thu đượ c của từng hóa đơn bán hàng
SoHDB, NgayBan G TongST: Sum(Soluong*DonGiaBan) (HoaDonBan ⋈ CTHDB)
SoHDB NgayBan TongST000000001 11/11/12 12,562,000000000002 01/01/12 466,000000000004 10/05/12 430,000000000005 25/01/13 5,403,000000000006 12/05/12 406,000000000007 25/02/13 108,000000000777 3/3/2013 4,353,000009999999 19/09/12 1,141,000098777777 02/05/12 45,000098888888 13/01/13 1,090,000222222222 05/05/13 6,000222333333 03/05/13 64,000444444444 25/02/13 54,000
MaHH TenHH DVT MaNCC MaLoaiHH TenLoaiHH
001 Lux thùng 03 01 Xà phòng 111 Dove cái 04 01 Xà phòng 004 sua tam chai 04 02 Sua tam 005 omo thùng 04 02 Sua tam 006 viso thùng 02 02 Sua tam 007 camay thùng 04 02 Sua tam 008 son moi thỏI 04 03 Mỹ phẩm 009 chi cây 04 03 Mỹ phẩm
010 phan hộp 04 03 Mỹ phẩm 002 kep toc lố 02 04 Nữ trang 003 cai toc lố 02 04 Nữ trang
MaLoaiHH TenLoaiHH SoLuongHH
01 Xà phòng 2
02 Sua tam 4
03 Mỹ phẩm 3
04 Nữ trang 2
Thuộc tính nhóm gồm MaLoaiHH và TenLoaiHH
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 36/147
32
3.7. Bài tập
1) Cho cơ sở dữ liệu về BanHang như bên dướ i:
Hãy cho biết biểu thức đại số quan hệ để thực hiện các câu truy vấn sau và cho biếtnội dung k ết quả của từng câu truy vấn:
a) Liệt kê tên các mặt hàng có đơn giá lớn hơn 10.000 (MaMH, TenMH, DonGia)
b) Cho biết tên khách hàng ứng vớ i từng hóa đơn (MaHD, NgayHD, TenKH)
c) Hãy cho biết tên các khách hàng đã mua mặt hàng ‘Sữa chua Vinamilk’
d) Liệt kê tên các mặt hàng bán đượ c trong ngày 12/2/2010
e) Tính thành tiền của từng hóa đơn (MaHD, NgayHD, TenKH, ThanhTien)
f) Cho biết tên các mặt hàng mà khách hàng ‘Nguyễn Trang’ đã mua, v ớ i tổng số
lượ ng và tr ị giá là bao nhiêu.
g) Tính doanh thu bán hàng theo từng ngày (NgayHD, DoanhThu)
h) Tính doanh thu bán hàng theo từng ngày của từng mặt hàng (NgayHD,
TenMatHang, DoanhThu)
KhachHang MaKH HoTen DiaChi
A001 Nguy n Trang 12 Hồng BàngB002 Lê Cường 60 Trần Phú
C003 Mai Nguyễn 22 Bạch Đằng
MatHang MaMH TenMH DonViTinh DonGia
S03 Sữa chua Vinamilk Lốc 4.000
B02 Bánh Choco-Pie Hộp 15.000K01 Kem Monte-Rosa Ký 20.000
HoaDon MaHD NgayHD MaKH
001 12/2/2010 A001
002 12/2/2010 B002003 20/4/2011 B002004 25/7/2011 A001
MatHangBan MaHD MaMH SoLuong
001 S03 2
001 B02 5
002 K01 6002 S03 8
003 S03 10
004 B02 7
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 37/147
33
2) Cho cơ sở dữ liệu về quản lý các dự án của một công ty như sau:
• Hãy cho biết khóa chính, mối liên hệ và ràng buộc khóa ngoại giữa các quan hệ trong
cơ sở dữ liệu trên.• Thực hiện các câu truy vấn sau bằng biểu thức đại số quan hệ và cho biết nội dung
k ết quả của từng câu truy vấn:
a) Liệt kê các phòng ban và tên tr ưở ng phòng của từng phòng ban (họ tên đầy đủ).
b) Tìm các nhân viên lương ít hơn 4.000.000 ở ‘Phòng Kinh doanh’ hoặc ít hơn5.000.000 ở ‘Phòng K ế toán’.
c) Liệt kê các nhân viên và cho biết tên trưở ng phòng của từng nhân viên đó.
d) Hãy cho biết các phòng ban nào có thực hiện dự án tại ‘Nha Trang’.
e) Tính mức lương trung bình của từng phòng ban.f) Trong các dự án thực hiện tại Nha Trang, tính tổng số giờ nhân viên của từng dự
án.
g) Vớ i mỗi giờ làm việc cho dự án, một nhân viên sẽ được thưở ng 1% tiền lương.Tính số tiền thưở ng của từng nhân viên.
h) Tính số tiền thưở ng của từng nhân viên theo từng dự án.
PhongBan MaPB TenPB TruongPhongKD Phòng Kinh doanh N01
KT Phòng Kế toán V02
NhanVien MaNV HoNV TenNV Luong MaPB
N01 Hoài Nam 3.000.000 KD
V02 Bình Phương 4.000.000 KTN03 Mỹ Hòa 5.000.000 KD
V04 Phương Anh 5.000.000 KT
DuAn MaDA TenDA DiaDiem NgayBD MaPB
D1 Hồ Con Rùa Sài Gòn 27/3/2011 KDD2 Chùa Tây Phương Hà Nội 10/6/2012 KD
D3 Chùa Linh Sơn Nha Trang 16/8/2011 KD
D4 Dinh Bảo Đại Nha Trang 22/1/2010 KT
PhanCong MaDA MaNV SoGio
D1 N01 2
D1 N03 5
D2 N01 6D2 V02 8D3 V02 10
D4 V04 7
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 38/147
35
Phần IIHỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MICROSOFT ACCESS
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 39/147
37
CHƯƠNG 4. GIỚ I THIỆU HỆ QUẢN TRỊ CSDLMICROSOFT ACCESS
4.1. Giớ i thiệu Microsoft Access
MS Access là một Hệ quản tr ị cơ sở dữ liệu quan hệ (RDBMS - Relational DatabaseManagement System), là một phần mềm trong bộ ứng dụng Microsoft Office chạy trên
môi trườ ng Windows của hãng phần mềm Microsoft.
MS Access có giao diện thân thiện, dễ sử dụng, hiệu năng cao, cho phép xử lý dữ
liệu và k ết xuất vào các biểu mẫu, báo cáo theo dạng thức chuyên nghiệ p r ất phù hợ p cho
các bài toán quản lý vừa và nhỏ.
Microsoft Access còn cung cấ p nhiều công cụ phát triển đầy năng lực để nâng cao
hiệu suất công việc. Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn
(macro) ngườ i sử dụng có thể dễ dàng tự động hóa công việc mà không cần lậ p trình.
4.2. Khởi động Access 2013
Cách thông thườ ng nhất để khởi động Access 2013 là từ Start Screen (Windows 8)
hoặc từ Start menu (Windows 7).
4.3. Tạo cơ sở dữ liệu mớ i
Một cơ sở dữ liệu Access được lưu trên đĩa dướ i dạng một tập tin. Để tạo một CSDL
mớ i thì chọn menu File → New → Blank Desktop Database
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 40/147
38
Ở hộ p thoại tiế p theo, chọn nơi lưu trữ và tên tập tin cơ sở dữ liệu
Chọn nơi lưu tập tin cơ sở dữ liệu
Tên tập tin cơ sở dữ liệu
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 41/147
39
Sau khi chọn nơi lưu trữ và tên tậ p tin thì nhấn vào nút Create để tạo cơ sở dữ liệu
mớ i.
4.4. Mở một CSDL đã có trong máy tính
Chọn tab Open
• Nếu muốn mở CSDL đã làm gần đây trong máy tính thì chọn tab Recent. • Nếu muốn mở CSDL đã đượ c upload trên SkyDrive thì chọn tab SkyDrive.• Nếu muốn mở CSDL đã được lưu trên máy tính thì chọn tab Computer.• Nếu muốn mở CSDL ở những nơi khác ngoài các mục trên thì chọn tab Add
a Place.
4.5. Các đối tượ ng chính của một CSDL Access
Access là một hệ quản tr ị theo mô hình cơ s ở dữ liệu quan hệ, vì vậy vì vậy Access
có các đối tượng để thể hiện các khái niệm quan hệ, lược đồ quan hệ và truy vấ n:
• Bảng (Table) : thể hiện khái niệm quan hệ trong cơ sở dữ liệu. Bảng có hai chế độ: design view - lược đồ quan hệ và data view - quan hệ. Trong bảng gồm
nhiều dòng - bộ và cột – thuộc tính
• Truy vấ n (Query): Để thực hiện các truy vấn và một số thao tác thêm, xóa, sửa
trên các bảng.
Các thành phần tiện ích khác:WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 42/147
40
• Biể u mẫ u (Form): Giao diện do ngườ i dùng tự tạo cho phép làm việc vớ i dữ
liệu, chủ yếu đượ c sử dụng trong việc nhậ p và hiển thị dữ liệu.
• Báo cáo (Report) : K ết quả của quá trình khai thác dữ liệu đượ c tổ chức vàđịnh dạng để tạo thành bản in.
• Pages: Tương tự như Form nhưng hoạt động trên nền Web.
• Macro : Tậ p hợ p các lệnh nhằm tự động hóa các thao tác.
• Module: Cho phép lậ p trình thao tác trên các bảng và truy vấn.
4.6. Các toán tử sử dụng trong MS Access
Toán tử ngh ĩa
( ) K ết nhóm biểu thức
Not Phủ định mệnh đề
AndK ết hợ p mệnh đề: tất cả mệnh đề thành phần đúng thì cho k ết quả đúng, nếu có ít nhất 1 mệnh đề thành phần sai thì cho k ết quả sai.
OrK ết hợ p mệnh đề: tất cả mệnh đề thành phần sai thì cho k ết quả sai,nếu có ít nhất 1 mệnh đề thành phần đúng thì cho k ết quả đúng.
Xor 2 mệnh đề có giá tr ị trái ngượ c nhau thì cho k ết quả đúng
Eqv 2 mệnh đề có giá tr ị trái ngượ c nhau thì cho k ết quả sai
^ Luỹ thừa (5^3=75)
+ - * / Cộng, Tr ừ, Nhân, Chia
\ Phép chia lấy phần nguyên
Mod Phép chia lấy phần dư
<, >, = Nhỏ hơn, Lớn hơn, Bằng
<=, >= Nhỏ hơn hoặc bằng, Lớn hơn hoặc bằng
<> Không bằng
Is So sánh 2 đối tượng
In Thuộc, trong tập hợp hoặc miền giá trị (dùng trong các câu truy vấn)
Between... And ...
Trong khoảng từ…đến…
Like Giống: * (tổ hợp kí tự bất kỳ),? (1 ký tự bất kỳ),# (Một ký số bất kỳ)
Ví d ụ: like “A*”, like “Access????”, like 1#00
& Ghép chuỗi
+ Ghép chuỗi hoặc cộng số
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 43/147
41
Toán tử ngh ĩa Toán tử ngh ĩa True Giá trị đúng “…” hoặc ‘…’ Giá trị chuỗi, ví dụ “ACCESS”
False Giá trị sai […] Giá trị tham số, ví dụ [tham so]
Null Giá trị rỗng #...# Giá trị thời gian, ví dụ
#20/04/2010#Date Ngày hiện hành
[Co lo r]Màu, ví dụ
Now Ngày giờ hiện hành [white] : màu trắng
Time Giờ hiện hành [red] : màu đỏ
4.7. Một số hàm sử dụng trong MS Access
1) Các hàm về chuỗ i
Hàm K ết quả
Ten LIKE ‘N*’ Tên bắt đầu bằng chữ N
Ten LIKE ‘*a*’ Tên có chứa chữ aLen(Ten) 3 (nếu Ten = ‘Mai’) ; 5 (nếu Ten = ‘Nguyen’)
Left(Ten, 2) 'Ma'
Right(TenSV,2) 'ai' (nếu TenSV = 'Mai')
Mid(TenSV,2,3) 'guy' (nếu TenSV = 'Nguyen')
2) Các hàm về ngày tháng
Hàm K ết quả
Now() Ngày giờ hiện tạiMonth(#8/12/2011#) 8
Day(#5/27/2011#) 27
Year(Now()) 2011
Year(Now()) – Year(NgaySinh) Tính số tuổi của sinh viên
Hour(#06:30#) 6
Minute(#13:25#) 25
DatePart(‘q’, #5/27/2011#) Tính quý 2
3) Hàm IIF
- Cú pháp: IIF(điều-kiện, A, B) (vớ i điều-kiện là biể u thứ c logic. A, B là các biể u thứ c bấ t k ỳ)
- Ý ngh ĩa: n ếu điều-kiện đúng thì k ết quả của biểu thức IIF là biểu thức A, nếu
điều-kiện sai thì k ết quả của biểu thức IIF là biểu thức B.
- Ví dụ: IIF(Diem>=5, ‘Đạt’, ‘Không đạ t’)
Vậy nếu Diem = 6, 7, 8 thì k ết quả của IIF là ‘Đạt’. Nếu Diem = 2, 4 thì k ết quả của
IIF là ‘Không đạt’.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 44/147
42
4.8. Bài tập
Hãy thực hiện các thao tác sau trên máy tính:
1) Khởi động Access2) Tạo một cơ sở dữ liệu mang tên bạn và lưu vào ổ đĩa C hoặc D
3) Trong cơ sở dữ liệu vừa tạo, quan sát các mục Table, Query, Form, Report,Macro và Module4) Đóng cơ sở dữ liệu và đóng Access 5) Khởi động lại Access, mở lại cơ sở dữ liệu vừa tạo.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 45/147
43
CHƯƠNG 5. BẢNG (TABLE)
5.1. Các khái niệm
5.1.1. Bả ng
Bảng là thành phần cơ bản và quan tr ọng nhất của CSDL Access, thể hiện khái niệm
lược đồ quan hệ và quan hệ.
Một bảng dữ liệu của CSDL Access bao gồm các thành phần: tậ p hợp các trườ ng dữ
liệu (thuộc tính trong mô hình quan hệ), trườ ng khoá chính, tậ p hợ p các thuộc tính cần
thiết cho mỗi trườ ng dữ liệu, tậ p hợ p các bản ghi (bộ).
Ví d ụ:
• Bảng dữ liệu trong tr ạng thái Datasheet (dùng để cậ p nhậ p, xem, sửa dữ liệu)
• Bảng dữ liệu trong tr ạng thái Design view (dùng để thiết k ế cấu trúc – lược đồ
quan hệ)
Tên bảng
Trườ ng dữ liệu
(field)
Bản ghi (record)
Trườngkhóachính
(primar
y key)
Các thuộc tính mô tả
trườ ng dữ liệu
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 46/147
44
5.1.2. Trườ ng d ữ liệu (field)
Trườ ng dữ liệu, tương ứng vớ i cột của bảng, mô tả từng đặc điểm riêng của đối
tượ ng. Mỗi tr ườ ng dữ liệu sẽ có một tên gọi, kiểu dữ liệu và tậ p hợ p các tính chất mô tả
tr ườ ng dữ liệu đó.
Ví d ụ: Trườ ng MaLoaiHH có kiểu dữ liệu là Text, kích thướ c 2 ký tự, là ký tự số,…
5.1.3. Bả n ghi (record)
Mỗi dòng dữ liệu của bảng đượ c gọi một bản ghi.
Ví d ụ: Bảng LOAIHH có 3 bản ghi là (“01”, “Xà phòng”), (“02”, “Sữa tắm”), (“03”,
“Mỹ phẩm”, “04”, “Nữ trang”)
5.1.4. Khóa chính (primary key)
Khóa chính của bảng là 1 trườ ng hoặc tập trường dùng để phân biệt các bản ghi trong
cùng một bảng.Ví d ụ: Khi bán hàng, ngườ i bán hàng phải xuất một hóa đơn, mỗi hóa đơn bán đều có
số không trùng vớ i số của các hóa đơn khác. Do đó có bảng HoaDonBan đượ c thiết k ế nhưsau:
Như vậy trườ ng SoHDB chứa dữ liệu số hóa đơn bán sẽ là khóa chính của bảng
HOADONBAN vì số hóa đơn bán là duy nhất, các hóa đơn bán có thể trùng ngày bán, mã
khách hàng,…nhưng không thể có số hóa đơn bán giống nhau.
Ví d ụ: Mỗi hóa đơn có thể có nhiều mặt hàng, dữ liệu chi tiết của từng các mặt hàng
bao gồm: số hóa đơn bán, mã các mặt hàng bán trong hóa đơn đó, số lượng và đơn giá báncủa các mặt hàng đó. Trong CSDL quản lý bán hàng có bảng CTHDB (chi tiết hóa đơn
bán) đượ c thiết k ế như sau:
Như vậy 2 trườ ng SoHDB (chứa dữ liệu số hóa đơn bán) và MaMH (chứa mã mặt
hàng bán được trong hóa đơn đó) sẽ tạo thành khóa chính của bảng CTHDB, không thể có
1 hóa đơn bán bán cùng một mặt hàng vớ i giá khác nhau.
Chú ý: MS Access không chấ p nhận các giá tr ị trùng nhau hay tr ố ng (null) trong
trườ ng khóa chính.
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 47/147
45
5.1.5. M ố i liên hệ giữ a các bả ng (relationship)
Thể hiện khái niệm mối liên hệ giữa các quan hệ trong mô hình lý thuyết (xem phần
2.3.2). Đi kèm vớ i mối liên hệ là ràng buộc toàn vẹn về khóa ngoại.
Trong Access tồn tại 2 kiểu quan hệ: quan hệ 1-1 và quan hệ 1-∞ (một-nhiều)
a) Quan hệ 1-1
Mỗi bản ghi của bảng này sẽ không liên k ế t hoặc liên k ế t vớ i duy nhấ t tớ i một bản
ghi của bảng kia và ngượ c lại
Ví d ụ: Mỗi số báo danh của thí sinh
thi đại học chỉ có 1 số phách bài thi và số
phách của mỗi bài thi chỉ thuộc về 1 số
báo danh.
Mô tả dữ liệu 2 bảng như sau:
b) Quan hệ 1- ∞
Một bản ghi trong bảng A không k ế t hợ p hoặc k ế t hợ p vớ i một hay nhiề u bản ghi
trong bảng B, nhưng ngượ c lại một bản ghi
trong bảng B chỉ có thể k ết hợ p duy nhất vớ imột bản ghi trong bảng A.
Ví d ụ: Một loại hàng hóa có nhiều hàng
hóa nhưng một hàng hóa chỉ thuộc về duy nhất
một loại hàng hóa.
Mô tả dữ liệu 2 bảng như sau:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 48/147
46
5.2. Xây dự ng cấu trúc bảng
5.2.1. Sử d ụ ng chế độ Design View để tạ o bả ng
CREATE → Table Design:
Sau đó ta đượ c bảng thiết k ế như sau:
Tên trườ ng
Lựa chọn kiểu dữ liệu
Mô tả ngắn gọn của trườ ng(có thể có hoặc không)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 49/147
47
Bảng thiết k ế sau khi đã đượ c nhậ p giá tr ị:
a) Tên trườ ng
Tên trườ ng có thể đặt tùy ý, tuy nhiênđ ể dễ quản lý nênđ ặt ngắn gọn, dễ gợ i nhớ ,
không chứa ký tự tr ắng và không dùng chữ tiếng Việt có dấu.b) Kiể u d ữ liệu (Data Type)
MS Access cung cấ p một số kiểu dữ liệu cơ bản sau:
• Short Text: kiểu chuỗi có độ dài tối đa 255 ký tự
• Long Text: kiểu chuỗi có độ dài tối đa 65.535 ký tự
• Number: kiểu số
• Date/Time: kiểu ngày (nếu cần có thể lưu thêm thông tin về giờ )
• Currency: kiểu số có định dạng theo loại tiền tệ
• AutoNumber: kiểu số nhưng tự động tăng do Microsoft Access cung cấ p và
quản lý, ngườ i dùng không thể cậ p nhật
• Yes/No: kiểu Logic. Sử dụng cho các trườ ng chỉ có thể là một trong hai giá tr ị.Ví dụ True hoặc False, On/Off, Male/Female.
• OLE Object: kiểu đối tượ ng k ết nhúng: Word, Excel,..
• Hyperlink: kiểu chuỗi chỉ đườ ng dẫn của một tậ p tin trên ổ cứng hay trên máy
chủ của mạng hay một địa chỉ URL trên mạng.
• Attachment: Sử dụng để đính kèm một file. Ví dụ: tranh ảnh, âm thanh, tàiliệu Word, video,..
Khóa
Tên cột
Giá tr ị mặc định
Cho phépnhậ p chuỗi
r ỗng
Kích thướ c của trườ ng
Quy định dạng hiển thị dữ liệu
Quy định dạng thức dữ liệu
Các quy tắc hợ p lệ của dữ liệu
Thông báo khi nhậ p dữ liệu sai
Bắt buộc phải nhậ p dữ liệuha khôn
Tạo chỉ mục
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 50/147
48
Kiểu Attchment có thể đượ c gán cho một trườ ng chỉ khi trường đó đượ c tạo lần
đầu. Không thể gán kiểu Attachment cho một trường đã có, cũng không th ể
thay đổi một trườ ng Attachment thành một kiểu dữ liệu khác.
• Calculated: Sử dụng để chứa các k ết quả của một tính toán dựa trên các trườ ng
khác trong cùng một bảng.Ví dụ: Nếu có một trườ ng number chứa số lượ ng sản phẩm đượ c bán và một
trườ ng currency chứa giá của sản phẩm thì có thể tạo một trườ ng calculated
nhân trườ ng số lượ ng và giá và lưu trữ vớ i kiểu currency.
• Lookup Wizard…: tạo một cột để chọn giá tr ị và tìm kiếm từ một bảng khác
Chú ý: Kiểu dữ liệu Attachment và Calculated chỉ dùng cho các CSDL .accdb.
Khai báo thuộc tính cho trườ ng ở thẻ General:
c) Field Size
Xác định kích thướ c tối đa cho dữ liệu kiểu Number hay Text của trườ ng.
Đối vớ i kiểu dữ liệu Short Text: văn bản có thể từ 0 đến 255 ký tự.
Đối vớ i kiểu số (number) thì Access cung cấ p các kiểu sauLoại số Độ lớn
Byte số nguyên 1 byte. Toàn bộ các số từ 0 đến 255
Integer số nguyên 2 byte. Toàn bộ các số từ -32,768 đến 32,767
Long Integer số nguyên 4 byte. Các số từ -2,147,483,648 đến 2,147,483,647
Single số thực 8 byte. Các giá trị số thực từ -3.4x1038 đến +3.4x1038
Double số thực 12 byte. Các số thực từ -1.797x1038 đến +1.797x1038
Replication ID Các số ngẫu nhiên 16 bytes
Decimal Các số từ -9.999…x1027 đến +9.999…x1027 WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 51/147
49
Thuộc tính FieldSize của các trườ ng AutoNumber có thể đượ c thiết lậ p hoặc làLong Integer (mặc định) hoặc Replication ID.
d) Format
Định dạng cách thể hiện của dữ liệu khi hiển thị hoặc khi in ấn.
• Kiểu chuỗi (Short Text, Long Text): gồm 3 phần[Phần 1];[Phần 2];[Phần 3]
Trong đó:
- Phần 1: Chuỗi định dạng tương ứng trong trườ ng hợ p có chứa văn bản.
- Phần 2: Chuỗi định dạng tương ứng trong trườ ng hợ p không chứa văn bản.
- Phần 3: Chuỗi định dạng tương ứng trong trườ ng hợ p null
Các ký tự dùng để định dạng chuỗi
Ký tự Tác dụng@ Chuỗi ký tự
“123ABC” Hiển thị những gì trong ngoặc kép như k ý tự
> Đổi tất cả ký tự nhậ p vào thành in hoa
< Đổi tất cả ký tự nhập vào thành in thườ ng
\Hiển thị ký tự k ế tiếp như k ý t ự bình thư ờ ng
(dùng để hiển thị các ký tự đặc biệt)
Ví d ụ:
Cách định dạng Dữ liệu nhập vào Hiển thị
@@@-@@@
123456
abcdef
123-456
abc-def
> Tinhoc TINHOC
< TinHoc tinhoc
@; “Không có”; “Chưa nhập”
ABC
Null
ABC
Không có
Chưa nhậ p
• Kiểu số (Number, ngoại trừ kiểu Replication ID) và kiểu tiền tệ (Currency),ki
ểu AutoNumber
Định dạng do ACCESS cung cấ p:
Loại số Dữ liệu nhập vào Hiển thị
General Number (mặc định) 1234.5 1234.5
Currency 1234.5 $1,234.50
Euro 1234.5 €1,234.50
Fixed 1234.5 1235
Standard 1234.5 1,234.50
Percent 0.825 82.50%
Scientific 1234.5 1.23E+03WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 52/147
50
Định dạng do ngườ i sử dụng:
[Phần 1];[Phần 2];[Phần 3];[Phần 4]
Trong đó:
- Phần 1: Chuỗi định dạng tương ứng trong trườ ng hợ p số dương.
- Phần 2: Chuỗi định dạng tương ứng trong trườ ng hợ p số âm.- Phần 3: Chuỗi định dạng tương ứng trong trườ ng hợ p số bằng zero.
- Phần 4: Chuỗi định dạng tương ứng trong trườ ng hợ p null.
Ví d ụ
Định dạng Hiển thị
0;(0);;“Null”
Số dương hiển thị bình thườngSố âm được bao giữa 2 dấu ngoặc ( ) Số 0 bị bỏ trống
Null hiện chữ Null
+0.0;-0.0;0.0
Hiển thị dấu + phía trước nếu số dươngHiển thị dấu - phía trước nếu số âmHiển thị 0.0 nếu âm hoặc Null
• Kiểu Date/Time
Định dạng do ACCESS cung cấ p
Định dạng Hiển thị General date (mặc
định) 10/30/99 5:10:30PM
Long date Friday, may 30 , 1999
Medium date 30-jul-1999
Short date 01/08/99
Long time 6:20:00 PM
Medium time 6:20 PM
Short time 18:20
• Kiểu Yes/No
Định dạng do ACCESS cung cấ pĐịnh dạng Tác dụng
Yes / No Đúng/Sai
True / False Đúng/Sai On / Off Đúng/Sai
Định dạng do ngườ i sử dụng: Gồm 3 phần
;[Phần 1];[Phần 2]
Trong đó: - Phần 1: Trườ ng hợ p giá tr ị trường đúng
- Phần 2: Trườ ng hợ p giá tr ị trườ ng saiWWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 53/147
51
Ví d ụ
Định dạng Hiển thị
Trường hợp True Trường hợp False
;”Nam”;”Nữ” Nam Nữ
;”Có”;”Không” Có Không
Chú ý: Để xem đượ c hiể n thị của kiể u Yes/No ta phải thay đổ i thuộc tính
Display Control ở thẻ Lookup thành ComboBox , dòng Row Source Type chọn value list ,
dòng Row Source đánh 1;0
e) Input Mask
Mặt nạ định dạng dữ liệu, ngườ i sử dụng bắt buộc phải nhậ p dữ liệu cho trường đúngtheo quy định đã cài đặt ở thuộc tính này.
Ký tự Tác dụng
0 Bắt buộc nhậ p ký tự số
9 Không bắt buộc nhậ p, ký tự số
# Không bắt buộc nhậ p, số 0-9, khoảng tr ắng, dấu + và -
L Bắt buộc nhậ p, ký tự chữ
? Không bắt buộc nhậ p, ký tự chữ hoặc khoảng tr ắng
A Bắt buộc nhậ p, ký tự chữ hoặc số
A Không bắt buộc nhậ p, ký tự chữ hoặc số & Bắt buộc nhậ p, ký tự bất k ỳ
C Không bắt buộc nhậ p ký tự bất k ỳ
< Các ký tự bên phải được đổi thành chữ thườ ng
> Các ký tự bên phải được đổi thành chữ hoa
! Dữ liệu đượ c ghi từ phải sang trái
Ví d ụ:
Input Mask Dữ liệu nhập vào
(000)000-0000 (054)828-8282(000)AAA-A (123)124-E
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 54/147
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 55/147
53
Để định ngh ĩa Validation Rule của một Table, chọn bảng ở Design view, sau đó click
vào nút Property Sheet trong nhóm Show/Hide của tab Design trên ribbon.
i) Required (tương tự ràng buộc toàn vẹn NOT NULL)
Dùng để quy định dữ liệu cần phải nhậ p hay không. Nếu chọn Yes thì phải nhậ p giá
tr ị cho cột đó mỗi khi thêm dòng mới, ngượ c lại nếu cho đưa giá tr ị Null vào thì chọn No.
Thuộc tính này có giá tr ị mặc định là No
j) AllowZeroLength
Cho phép quy định một trườ ng có kiểu Text hay memo có thể hoặc không có thể có
chuỗi có độ dài bằng 0.
Thuộc tính này có giá tr ị mặc định là No
Chú ý: Cần phân biệt một trườ ng chứa giá tr ị null (chưa có dữ liệu) và một
trườ ng chứa chuỗi có độ dài bằng 0 (có dữ liệu nhưng chuỗi r ỗng “”).
k) Index
Tạo chỉ mục trên một trườ ng, giúp việc tìm kiếm dữ liệu nhanh hơn.
• Yes(Dupplicate OK) : Tạo chỉ mục có trùng lặ p
• Yes(No Dupplicate) : Tạo chỉ mục không trùng lặ p
• No : Không tạo chỉ mục
5.2.2. T ạ o khóa chính
Thực hiện lần lượt các bướ c sau:
1. Mở bảng ở chế độ Design View WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 56/147
54
2. Chọn trường (các trườ ng) cần làm khóa
3. DESIGN Relationship hoặc Right-
Click tên trườ ng cần làm khóa →
Primary Key
Chú ý: Các trườ ng có kiể u d ữ liệu là OLE
Object, Attachment, Calculated không thể làm khóa
chính.
5.2.3. Lưu bả ng
Thực hiện bở i 1 trong nhiều cách sau:
• Ctrl+S
• HOME Save
• Menu File → Save
5.2.4. Hiệu chỉ nh bả ng
• Di chuyển trườ ng: Đưa con trỏ ra đầu trườ ng cần di chuyển, giữ và kéo đến vị trí mớ i.
• Chèn thêm trườ ng mớ i: Chọn trườ ng hiện thời là trườ ng sẽ nằm sau trườ ng
đượ c chèn vào → Right Click → Insert Row
• Xóa trườ ng: Chọn trườ ng cần xóa
o Right Click → Delete Row
o hoặc nhấn phím Delete
5.3. Thiết lập mối quan hệ giữ a các bảng
• Bướ c 1: DATABASE TOOL → Relationships
• Bướ c 2: Đưa các bảng muốn tạo
mối quan hệ vào cửa sổ
Relationships bằng cách chọn các
bảng tham gia → Add → Close
Nếu cần chọn thêm bảng thì Right
Click (tại vùng cửa sổ Relationships)→
Show Table
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 57/147
55
• Bướ c 3: Trong cửa sổ Relationships dùng chuột kéo và thả trườ ng liên hệ từ bảng
này sang bảng kia.
• Bướ c 4: Xác định các qui tắc ràng buộc của mối quan hệ này bằng cách chọn vào ô
kiểm tra hiệu lực của ràng buộc toàn vẹn ( Enforce Referential Integrity)
Đồng ý thiết lậ p toàn vẹn tham chiếu, ngh ĩa là dữ liệu trên
trườ ng tham chiếu của bảng con phải tương ứng vớ i dữ liệu đã tồn tại trên trườ ng của bảng
cha. Ngoài ra thiết lậ p này còn cho biết kiểu quan hệ giữa 2 bảng
Đảm bảo toàn vẹn dữ liệu khi cậ p nhật dữ liệu giữa 2
bảng liên quan. Khi đó, nếu giá tr ị trườ ng khoá liên k ết ở bảng 1 bị thay đổi, toàn bộ giá tr ị trườ ng khoá liên k ết ở bảng nhiều cũng bị thay đổi theo.
Đảm bảo toàn vẹn dữ liệu khi xoá dữ liệu giữa 2 bảng liên quan. Khi đó, nếu một bản ghi ở bảng có quan hệ 1 bị xoá, toàn bộ các bản ghi có quan
hệ vớ i bản ghi hiện tại sẽ đượ c tự động xoá ở bảng có quan hệ nhiều (nếu xoá 1 CHA, toàn
bộ các con của cha đó sẽ tự động bị xoá khỏi bảng CON)
Hộ p Relationship Type: cho biết kiểu quan hệ giữa 2 bảng đang thiết lậ p:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 58/147
56
One – To – One Kiểu 1-1
One – To – Many Kiểu 1-∞
Indeterminate Không xác định đượ c kiểu liên k ết
• Bướ c 5: Chọn Create
• Bướ c 6: Đóng cửa sổ Relationships Access tự động lưu.
Chú ý: Khi thiết lậ p mối quan hệ phải đóng tất cả các bảng tham gia.
5.4. Cập nhật bảng
5.4.1. Xem và nhậ p d ữ liệu
Có thể xem và nhậ p dữ liệu trong bảng bằngcác cách sau:
• Double click vào bảng cần xem (hoặc
nhậ p dữ liệu)
• Right-Click vào bảng Open
5.4.2. Nhậ p d ữ liệu sử d ụ ng Lookup
Để việc nhậ p các giá tr ị cho các thuộc tính khóa ngoại đượ c dễ dàng, nhanh chóng và
tránh sai sót, có thể nhậ p dữ liệu cho các thuộc tính này dùng lookup. Ví dụ bên dướ i làthiết lậ p lookup cho khóa ngoại MaLoaiHH của bảng HangHoa:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 59/147
57
Màn hình khi nhậ p liệu:
5.4.3. M ộ t số l ỗ i có thể xả y ra khi nhậ p d ữ liệu
Lỗi do: Nhậ p vào giá tr ị không tương thích vớ i kiểu dữ liệu của trường đã chỉ định.
Trườ ng khóangoại đến
bảng quan hệ
Bảng cóquan hệ
nhiều (∞)
Kiểu thể hiệndữ liệu
Bảng đượ c tham chiếu(bảng có quan hệ 1)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 60/147
58
Ví d ụ: trườ ng kiểu Numeric mà gõ vào chữ cái; hoặc không gõđ ầy đủ các giá tr ị ngày, tháng, năm cho trườ ng kiểu Date/Time,..
Khắc phục: Nhậ p lại cho đúng, đủ giá tr ị các trường đã yêu cầu đến khi không xuất
hiện thông báo lỗi.
Lỗi do: Không nhậ p giá tr ị hoặc để tr ống giá tr ị trườ ng khoá.
Khắc phục: phải nhập đầy đủ giá tr ị cho trườ ng khoá.
Lỗi do: Giá tr ị trườ ng khoá trùng nhau. Giá tr ị trườ ng khoá vừa nhậ p vào đã trùng
vớ i giá tr ị của một khóa của bản ghi khác trên bảng dữ liệu.
Khắc phục: nhậ p lại giá tr ị trườ ng khoá khác sao cho vừa đúng, đủ và không bị trùng khoá.
Lỗi do: Không nhậ p dữ liệu ở trườ ng bắt buộc nhậ p dữ liệu (những trường đượ c thiếtlậ p thuộc tính Required=Yes)
Khắc phục: Phải nhập đủ dữ liệu cho các trườ ng bắt buộc phải nhậ p dữ liệu.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 61/147
59
Lý do: Lỗi do thực hiện một thao tác vi phạm các nguyên tắc đảm bảo toàn vẹn dữ liệu.
Ví d ụ: Nhậ p dữ liệu trên một bảng có quan hệ mà bản ghi đang nhậ p không thể liên k ết
đượ c tới đượ c một bản ghi nào của bảng có quan hệ 1 vớ i nó (nhậ p một hàng bán mà mã
hàng đó chưa có trong bảng danh mục hàng hoá).
5.4.4. Xóa bả n ghi
Vớ i bảng dữ liệu đang mở có thể thực hiện 2 bước sau để xoá các bản ghi:
Bướ c 1: Chọn những bản ghi cần xoá. Có thể chọn một hoặc nhiều bản ghi bằng
cách dùng chuột đánh dấu đầu dòng những bản ghi cần chọn;
Bướ c 2: Ra lệnh xoá bằng một trong các cách sau
• Chọn vùng cần xóa nhấn phím Delete.
• Chọn vùng cần xóa Right Click → Delete Record
• HOME
Delete Một hộ p thoại xuất hiện để bạn khẳng định một lần nữa việc xoá dữ liệu:
Chọn Yes để đồng ý xoá, No để huỷ lệnh xoá.
5.4.5. Sắ p xế p d ữ liệuSắ p xế p là việc thay đổi thứ tự hiển thị một bảng dữ liệu theo một tr ật tự nào đó. Kết
quả của việc sắ p xế p giúp ngườ i dùng có thể quan sát đượ c tốt hơn dữ liệu trên bảng, tất
nhiên muốn quan sát bảng dữ liệu theo trườ ng nào phải thực hiện sắ p xế p bảng theo dữ liệu
trườ ng ấy.
Cách sắ p xế p dữ liệu trên bảng đang mở như sau:
Cách 1:
Bướ c 1: Đặt con tr ỏ lên trườ ng (cột) muốn sắ p xế p;
Bướ c 2: HOME:
- Sắp xếp tăng dần
- Sắp xếp giảm dần
Cách 2:
Bướ c 1: Click nút mũi tên bên phải tên trườ ng cần sắ p xế p.
Bướ c 2: Chọn kiểu sắ p xế p
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 62/147
60
5.4.6. Lọ c d ữ liệu
Lọc dữ liệu là việc chọn ra những bản ghi trên bảng có cùng một số giá tr ị. K ết quả
việc lọc dữ liệu sẽ giúp ngườ i dùng làm việc một cách hiệu quả trên tậ p hợ p các bản ghi họ
mong muốn.
Các bước để lọc dữ liệu trên một bảng đang mở như sau:
Cách 1:
Bướ c 1: Click vào cột cần lọc dữ liệu.
Bước 2: HOME Filter
Bướ c 3: Thiết lậ p điều kiện lọc trên trường đang chọn
Cách 2:
Bướ c 1: Click nút mũi tên bên phải tên trườ ng cần lọc dữ liệu.Bướ c 2: Chọn tiêu chuẩn lọc
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 63/147
61
CHƯƠNG 6. TRUY VẤN (QUERY)
6.1. Các khái niệm
Sau khi xây dựng được CSDL, ngườ i dùng sẽ cần trích xuất dữ liệu trên CSDL nhằm
phục vụ cho những yêu cầu khác nhau. Một trong những công cụ khai thác và xử lý dữ liệumà MS Access cung cấ p là Query. Query cho phép thực hiện các phép toán đại số quan hệ
như phép chiếu, chọn k ết, gom nhóm.
Có 2 loại query chính trong Access:
• Select Query (truy vấn chọn) : tìm và trình bày dữ liệu của các trường (field) từmột hay nhiều bảng theo những điều kiện xác định. Dữ liệu trả về có thể được sửdụng trong biểu mẫu (form) hoặc báo cáo (report). Có các loại Select Query sau:
Simple : tìm dữ liệu từ 1 hoặc nhiều bảng và trình bày kết quả theo dạng
bảng. Group by Select Query : là một dạng mở rộng của của Simple Select Query,
thực hiện chức năng tổng hợp dữ liệu trên một nhóm các trường (có sử dụngcác hàm thống kê như SUM, COUNT, MAX, MIN, AVG,…).
Find Duplicates : xác định các dữ liệu trùng lặp thuộc một số trường. Find Unmatched : xác định dữ liệu của trường trong một bảng nhưng không
xuất hiện ở trường có quan hệ thuộc bảng khác. (ví d ụ : tìm khách hàng
không có mua mặt hàng nào)
Crosstab Query : tính toán và tổ chức dữ liệu theo dạng để dễ phân tích,
hiển thị dữ liệu dưới dạng tóm tắt như một bảng tính, với các tiêu đề hàngvàtiêu đề cột dựa trên các trường và dữ liệu của trường trong các bảng. Dữ liệutrong ô của bảng được tính toán và phụ thuộc vào thông tin cột và hàngtương ứng.
• Action Query (truy vấn hành động) : tìm dữ liệu của các trường theo nhữngđiều kiện xác định. Sau đó thay đổi cơ sở dữ liệu dựa trên các trường đó. Có các loạiSelect Query sau:
Make Table Query : tạo bảng mới chứa các dữ liệu được tìm và tính toán.
Update Query : thay đổi dữ liệu của trường trong bảng Delete Query : xóa dữ liệu.
Append Query : thêm dữ liệu vào một hay nhiều trường từ các trường kháchoặc từ cơ sở dữ liệu khác
Trong quá trình xây dựng query, có thể bổ sung tham số (parameter) nhằm có đượck ết quả chính xác và linh động theo ý muốn của người sử dụng.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 64/147
62
Chú ý: CSDL phải đượ c mở chế độ truy cậ p (nế u bị khóa) khi muố n thự c hiện query
6.2. Công cụ tạo Query trong Access 2013
6.2.1. T ạ o Query bằ ng công cụ Query Design:
Để tạo query,chọn tab Create trên thanh
Ribbon, click nút Query Design trong nhóm lệnh
Queries.
Xuất hiện cửa sổ Show Table cho phép chọn các bảng hoặc query tham gia câu truy
vấn:
- Chọn các bảng, hoặc câu querychứa các trườ ng liên quan đếncâu truy vấn (Các trườ ng hiển thị trong k ết quả hay các trườ ng
dùng trong tính toán).
- Click nút Add để thêm các bảngvào cửa sổ thiết k ế query.
- -Click nút Close để đóng cửa sổ Show Table sau khi đã ch ọn đủ các bảng, câu query liên quan
- Để hiển thị lại cửa sổ Show Table, chọn tab Query Tools Design, click vào nútShow Table trong nhóm lệnh Query Setup
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 65/147
63
Các thành phần của cử a sổ thiết kế Query:
1. Cửa sổ hiển thị cấu trúc các bảng dữ liệu hay các query tham gia vào câu truyvấn
2. Lướ i QBE (Query by Example): Là một bảng vớ i cấu trúc hàng và cột gồm:
- Field (Trườ ng): Mỗi ô trong hàng là một ComboBox chứa các trườ ng của
bảng ở ô ngay bên dướ i có thể xuất hiện trong k ết quả của câu truy vấn. Để làmmột trườ ng xuất hiện trên lướ i QBE, ta có thể D_Click vào trường tương ứng
trong bảng dữ liệu hay có thể chọn từ ComboBox ở ô tương ứng.
Khi thực hiện k ết xuất dữ liệu, ta có thể tạo một trườ ng mớ i dựa trên các
trường đã cho. Ví dụ, có thể tạo trườ ng ThanhTien trong k ết quả truy vấn dựa
trên hai trường đã có là SoLuong và DonGiaBan.
- Table: Mỗi ô trong hàng là một ComboBox chứa danh sách các bảng hay câu
Query tham gia vào câu truy vấn.
- Total: Chỉ xuất hiện khi thực hiện câu truy vấn Total. Mỗi ô trong dòng là
một ComboBox chứa các hàm hay các tùy chọn để áp dụng cho trườ ng trongcột.
- Sort: Mỗi ô là một ComboBox chứa 3 tùy chọn Assending, Dessending, not
sorted dùng để chỉ định sựtham gia của một trường trên lướ i QBE vào việc sắ pxế p k ết quả của câu truy vấn. Nếu có nhiều trườ ng tham gia vào việc sắ p xế pk ết quả truy vấn, thứ t ự sắ p xế p sẽ được ưu tiên cho các trườ ng xuấ t hiện trướ ctrên lướ i QBE.
- Show: Chỉ định một trường trên lướ i QBE có xuất hiện trong k ết quả của câu
truy vấn hay không.
- Criteria…or: Mỗi ô trong dòngđư ợc dùng để nhậ p điều kiện cho trườ ngtrong cột trên lưới QBE. Các điều kiện phải đượ c thỏa mãnđ ồng thờ i nếu
1
2 3 45
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 66/147
64
chúng đượ c nhậ p trên cùng một dòng. Ngư ợ c lại, chỉ cần một (hay một nhóm)
điều kiện trên một dòng thỏa mãn nếu chúng đượ c nhậ p trên các dòng khác
nhau.
- Crosstab: Chỉ xuất hiện khi thực hiện câu truy vấn Crosstab, dùng để chỉ định
một trường trên lưới QBE là tiêu đề dòng, cột hay là ô hiển thị k ết quả tính toántổng hợ p.
3. Datasheet View: Nút dùng để hiển thị k ết quả câu truy vấn.
4. SQL View: Nút dùng để hiển thị câu truy vấn bằng ngôn ngữ SQL.
5. Design View: Nút dùng để hiển thị câu truy vấn ở cửa sổ thiết k ế.
6.2.2. Cách nhậ p biể u thức điều kiện trên lướ i QBE
Biểu thức điều kiện là các qui tắc áp dụng cho việc lọc dữ liệu nhằm giớ i hạn k ết
quả tr ả về của câu truy vấn theo đúng yêu cầu của ngườ i dùng. Biểu thức điều kiện đượ cnhậ p trên dòng Criteria và dòng or của cột chứa giá tr ị hay biểu thức điều kiện lọc trên lướ iQBE
Ví d ụ 1: Muốn xem các hóa đơn của KH có mã 00001, ở dòng Criteria của cột
MaKH trên lướ i QBE ta chỉ cần nhậ p “00001”
a. Các loại dữ liệu Date, Time, Text, và Number trong biểu thức điều kiện:
Kiểu dữ liệu Ví dụ Text “00001”
Date #30/6/2013#
Time #12:00AM#
Number 10
Field name [SoLuong]WW
D YKEM
QUYNHON
UCOZ CO
M
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 67/147
65
b. Toán tử đượ c sử dụng trong biểu thứ c điều kiện:Toán tử Ví dụ Diễn giải
= [NgayBan]=#30/6/2013# NgayBan bằng 30/6/2013
< [NgayBan]<#30/6/2013# NgayBan trướ c 30/6/2013
<= [NgayBan]<=#30/6/2013# NgayBan từ 30/6/2013 tr ở về trướ c> [NgayBan]>#30/6/2013# NgayBan sau 30/6/2013
>= [NgayBan]>=#30/6/2013# NgayBan từ 30/6/2013 tr ở về sau
<> [MaMH]<>”001” MaMH khác 001
Between …
and
Between #01/01/2013# And
#30/06/13#
NgayBan từ 01/01/2013 đến 30/6/2013
Like [HoTenKH] Like “* Anh” HoTenKH có chứa chuỗi “ Anh”
Is null Is null Giá tr ị của trườ ng trong bản ghi là r ỗng
In(v1, v2) In(“Anh”, “Lan”) Giá tr ị của trườ ng có chứa một trong các
chuỗi ”Anh”, “Lan”
Chú ý:- Nếu điều kiện lọc tr ực tiếp cho trường trên lướ i QBE ta có thể không cần
viết tên trườ ng. Ví dụ, để lọc ra các hóa đơn sau ngày 30/6/2013, trên dòng criteria
của cột NgayBan trên lướ i QBE ta có thể ghi: [NgayBan]>#30/6/2013# hay chỉ viết
đơn giản >#30/6/2013#.
- Các hàm ngày giờ , hàm dữ liệu chuỗi,… cũng đượ c sử dụng trong biểu
thức điều kiện.
c. Tạo trườ ng tính toán trong câu truy vấn Access có thể thực hiện các phép toán trong các query, form, report, và macro. Tuy
nhiên các trường tính toán thường đượ c thực hiện trong query để cung cấ p cho các form,
report khi sử dụng câu truy vấn.
Để làm tạo trườ ng tính toán trong một truy vấn, trên một ô của dòng field trên lư ớ iQBE ta dùng cú pháp:
Ví d ụ 2: Để tạo trườ ng ThanhTien từ hai trườ ng có sẵn: SoLuong, DonGiaBan, tại
một ô trên dòng filed của lướ i QBE ta nhậ p: ThanhTien: [SoLuong]*[DonGiaBan]
Tên trường: Biể u thứ c tính toán
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 68/147
66
d. Sử dụng Expression Builder:Expression Builder là một công cụ giúp ngườ i sử dụng tạo các biểu thức nhanh và
dễ dàng nhờ vào việc truy cập vào thư viện hàm của Access. Để xây dựng một biểu thức
điều kiện hoặc tạo một field mớ i trong query ta thựchiện như sau:
- Click chuột vào nơi cần thiết lậ p biểu thức (ô trên dòng field hay ô trên dòngcriteria) trên lướ i QBE
- Chọn tab Query Tools
Design, trong nhóm lệnh Query Setup
click nút lệnh Builder. Xuất hiện cửa
sổ Expression Builder bao gồm khung
trên cùng cho phép nhậ p biểu thức,
bên dướ i là 3 khung giúp bạn tìm tên
field và các hàm cần thiết cho biểu
thức. - Khung Expression Elements chứa các đối tượng trong cơ sở dữliệu.
+ Để chọn các field đưa vào biểu thức ta mở mục Database bằng cách
double click vào tên của cơ sở dữ liệu hiện hành, chọn table hoặc query, các field
trong table hoặc query sẽ hiển thịtrong khung Expression Categories, double click
để chọn tên field đưa vào biểu thức.
+Để chọn hàm, bạn click vào mục function.
- Khung Expression Categories: Hiển thị các thành phần của Expression
Elementstheo nhóm.
- Khung Expression Values chứa giá tr ị của các phần tử trong biểu thức, hoặc cáchàm nếu chọn Functions trong khungExpression Elements.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 69/147
67
6.3. Truy vấn chọn (Select Query)
Select query là một dang câu truy vấn lưa chọn thông tin từ một hay nhiều bảng trong
CSDL. Tùy theo yêu cầu k ết xuất dữ liệu mà Select query có thể có sự tổng hợ p dữ liệu
hay tạo thêm các trườ ng tính toán khác.
Các bướ c thực hiện một Select query:<B1>. Chọn các bảng hoặc câu query liên quan đến câu truy vấn.
<B2>. Chọn các trườ ng xuất hiện trong k ết quả câu truy vấn
[B3]. Thêm các trườ ng tính toán nếu cần
[B4]. Chỉ định các trường dùng để nhóm dữ liệu (Group By), lọc dữ liệu (Where)
trên dòng Total.
[B5]. Xác định các hàm tổng hợ p dữ liệu (SUM, COUNT, MIN, MAX….) trên dòng
Total
[B6].Nhập điều kiện lọc dữ liệu ở dòng criteria.
[B7]. Xác định các trường trên lưới QBE dùng để sắ p xế p (Sort), hiển thị (Show).[B8]. Xác định các tiêu đề dòng, cột, giá tr ị tại dòng Crosstab.
<B9>. Click và nút Datasheet View để kiểm tra k ết quả.
Chú ý:
-Các bướ c trong dấu <> là bắt buộc, các bướ c trong dấu [] có thể có hoặc không tùy
vào câu truy vấn.
- Giữa các bảng và các câu query trong B2 phải có mối liên hệ khóa ngoại vớ i nhau.
- Đối vớ i câu truy vấn phức tạ p, từ bướ c thứ 2 tr ở đi ta có thể click vào nút Datasheet
View sau mỗi bước để kiểm tra k ết quả và dễ dàng xác định bướ c sinh lỗi.Các ví dụ trong các phần dưới đây đượ c minh họa với CSDL có lược đồ:
6.3.1. Simple Select query (Truy vấ n chọn đơ n giả n)
Ví d ụ 3: Liệt kê các chứng từ hóa đơn bán của mặt hàng có mã số là 004 và số lượng đượ c bán nhỏ hơn 500. WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 70/147
68
Trong câu truy vấn này, biểu thức logic gồm 2 phần: MaMH='004' và
SoLuong<50được đặt ở phần Criteria trên cùng 1 hàng (biểu thức AND)
K ết quả thực hiện
Ví d ụ 4: Liệt kê khách hàng gồm các thông tin: MaKH, HoKH, TenKH, DiaChi. Sắ pxế p theo tên khách hàng, nếu tên trùng nhau thì sắ p xế p theo họ
Trong câu truy vấn này, trường HoKH đượ c lấy ra lần nữa để làm điều kiện sắ p xế pdo yêu cầu thứ tự ưu tiên sắ p xếp và trường này đượ c ẩn đi (do đã xuất hiện phía trướ c)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 71/147
69
Ví d ụ 5: Liệt kê các hóa đơn bán hàng do nhân viên có mã số '03' lập trong năm 2013
Có thể thay đổi điều kiện như sau
Điều kiện >= #01/01/2013# And <= #31/12/2013# tương đương vớ i
Between #01/01/2013# And #31/12/2013#
Ví d ụ 6 : Liệt kê các khách hàng có tên bắt đầu là 'A' hoặc 'N'
Hoặc có thể tạo một trườ ng mới làm điều kiện như sau
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 72/147
70
Ví d ụ 7 : Tìm nhân viên có lương cao nhất
Trong truy vấn này thực hiện 2 bướ c: sắ p xế p lương của nhân viên theo thứ tự giảm
dần sau đó dùng tính năng Top Values để lấy k ết quả cao nhất ở bản ghi đầu tiên.
Ví d ụ 8: Tính tiền chiết khấu của hàng hóa, biết nếu số lượ ng bán ra lớn hơn 500 thì
tiền chiết khấu là 5% so vớ i tiền phải tr ả. Liệt kê SoHDB, MaMH, Tiền chiết khấu.
Trong truy vấn này sử dụng hàm IIF
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 73/147
71
6.3.2 Group By Select Query (Truy vấ n vớ i phép nhóm)
Access cung cấ p chức năng gom nhóm các record và thực hiện các phép thống kê dữ
liệu trên nhóm record đó dựa vào các hàm như: count, sum, min, max, avg.... Ví d ụ 9: Tính tiền cho từng hóa đơn bán hàng
Trướ c hết ta thực hiện câu query trên 2 bảng HoaDonBan và CTHDB đưa ra các kết
quả gồm các trườ ng sau: SoHDB, ThanhTien.
Một phần k ết quả câu truy vấn thể hiện ở hình bên trái:
Để tính tiền theo từng hóa đơn, Access phải thực hiện nhóm k ết quả theo từng
SoHDB và thực hiện phép tính tổng trên cột ThanhTien theo từng nhóm theo hình bên phải.
Chọn tab RibbonQuery Tools Design
, trong nhóm lệnhShow/Hide
, click vào nútTotal
để chèn dòng Total vào lướ i QBE. Trên dòng Total, ta chọn Group By cho cột SoHDB và Sum
cho cột ThanhTien.
Nhóm
cácbảngghi
Tínhtổngtheonhóm
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 74/147
72
Một phần của k ết quả câu truy vấn như sau:
Các bướ c thự c hiệ n Total Query:
<B1> Thực hiện câu select Query để k ết xuất dữ liệu
<B2> Chèn dòng Total vào lư ới QBE. Sau đó chọn các cột để nhóm (Group By),cột để tính toán trên nhóm.
Các tùy chọn trên dòng Total:
Tùy chọn Ý ngh ĩa
Group By Nhóm các record có giá tr ị giống nhau tại một số trường đượ c chỉ định
thành một nhóm.
Sum Tính tổng các giá tr ị trong một nhóm record tại trường đượ c chỉ định.
AvgTính trung bình cộng các giá tr ị trong một nhóm record tại trường đượ c chỉ định.
Max Tìm giá tr ị lớ n nhất trong nhóm record tại trường đượ c chỉ địnhMin Tìm giá tr ị nhỏ nhất trong nhóm record tại trường đượ c chỉ định.
Count Đếm số record trong nhóm.
First Tìm giá tr ị đầu tiên trong nhóm tại cột đượ c chỉ định.
Last Tìm giá tr ị cuối cùng trong các giá tr ị trên cột của nhóm
Expression Dùng cho trườ ng chứa biểu thức tính toán.
WhereDùng cho field chứa điều kiện dùng để lọc các bảng ghi trướ c khi tính toán
và không hiển thịtrong k ết quả truy vấn.
Trong Total query, đôi khi để k ết quả truy vấn rõ ràng hơn, ngoài trư ờ ng tính toán,các trườ ng khác cũng đượ c bổ sung thêm.
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 75/147
73
Ví d ụ 10: Giống như ví dụ 10 nhưng bổ sung thêm các trườ ng NgayBan, MaKH,
TenKH, HoTenNV. Câu truy vấn trên lướ i QBE và k ết quả như sau:
Các trườ ng tham gia vào việc gom nhóm gồm: SoHDB, NgayBan, TenKH,
HoTenNV. Để ý r ằng k ết quả ở cột ThanhTien vẫn không đổi so vớ i khi thuộc tính gom
nhóm chỉ có một thuộc tính SoHDB. Để việc bổ sung các thuộc tính gom nhóm mà vẫ n
đảm bảo k ế t quả không có sự thay đổ i ở trườ ng áp d ụng hàm Total, hãy ghi nhớ một số quitắc sau:
1. Trường đượ c bổ sung phải kém chi tiết hơn một trườ ng hiện có trong câu truyvấn. Ví dụ: Khi câu truy vấn đã có tr ư ờ ng NgayBan, ta có thể bổ sung thêmtrườ ng Thang, Nam mà vẫn không ảnh hưởng đến k ết quả truy vấn.
2. Khi thực hiện gom nhóm trên trườ ng khóa chính của một bảng dữ liệu, ta có thể bổ sung tất cả các trườ ng thuộc bảng đó vào câu truy vấn để gom nhóm mà vẫnkhông ảnh hưởng đến k ết quả truy vấn.
Ví dụ: Trong ví dụ trên, Thuộc tính gom nhóm là SoHDB. Do SoHDB là khóa chínhcủa bảng HoaDonBan nên ta có thể bổ sung các thuộc tính NgayBan, MaKH, MaNV màWWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 76/147
74
vẫn không thay đổi k ết quả gom nhóm. Thuộc tính MaKH, MaNV lần lượ t là khóa chính
của các bảng KhachHang và NhanVien do đó ta có thể bổ sung hai thuộc tính TenKH và
HoTenNV vào câu truy vấn.
Vậy việc gom nhóm trên thuộc tính SoHDB và việc gom nhóm trên các thuộc tính:
SoHDB, NgayBan, TenKH, HoTenNV có k ết quả giống nhau.Ví d ụ 11: Dựa vào bảng NHANVIEN, đếm số lượng nhân viên Nam có lương cao
hơn $50.
Trong query này, đếm số lượ ng nhân viên có ngh ĩa là đ ếm trên MaNV, bổ sung 2
điều kiện GioiTinh = No và Luong > 50. Do 2 trườ ng GioiTinh và Luong chỉ dùng làm
điều kiện, không dùng để tách nhóm nên ở dòng Total chọn Where.
Ví d ụ 12: Mở r ộng ví dụ 12, dựa vào bảng NHANVIEN, đếm số lượ ng nhân viên có
lương cao hơn $50, phân biệt Nam và Nữ
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 77/147
75
Trong Query này ta phải tạo 3 trườ ng: tổng số nhân viên, tổng nhân viên nam, tổng
nhân viên nữ. Tuy nhiên cả 3 trường này cùng đếm trên MaNV nên không thể dùng điều
kiện GioiTinh đặt ở Criteria để lọc. Do đó hàm IIF đượ c sử dụng tớ i.
6.3.3 Crosstab Query
Crosstab query là một query dùng để tổng hợ p dữ liệu dướ i dạng bảng tính hai
chiều, trong đó tiêu đề của dòng và cột của bảng là các giá tr ị đượ c k ết nhóm từ các trườ ng
trong bảng dữliệu, phần thân của bảng tính là dữ liệu đượ c thống kê bở i các hàm: Sum,count, avg, min, max...
Bảng crosstab gồm 3 thành phần:
• Row heading: là tiêu đề các dòng, có chứa các giá trị của 1 hay nhiều trường
làm đối tượng thống kê. Mỗicrosstab query ph ải cótối thiểu 1 trường làm Row heading.
• Column heading là tiêu đề các cột, có chứa các giá trị của một trườ ng làm điều
kiện thống kê. Mỗi crosstab query chỉ có duy nhất 01 trường làm Column heading.
• Value là vùng dữ liệu tổng hợp (kiểu số). Chỉ có duy nhất một trường làm
Value, tương ứng với nó là các hàm thống kê: Sum, Count, Avg, Max, Min…
Ví d ụ 13 : Tính doanh thu theo từng mặt hàng theo từng tháng của năm 2012 K ết quả thực hiện đượ c trình bày ở dạng crosstab:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 78/147
76
K ết quả thực hiện ở dạng Total:
Cách tạo Crosstab Query:
<B1> Tạo Total query đưa ra kết quả truy vấn theo đúng yêu cầu.<B2> Click vào nút lệnh Crosstab trong nhóm lệnh Query type, sau đó chỉ định các
trườ ng cho Row heading , column heading, value.
Row
heading
Column heading
Value
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 79/147
77
Ví d ụ 14: Thống kê số tiền phải tr ả của mỗi khách hàng cho từng mặt hàng trong
năm 2012.
Nếu thực hiện Group by Select Query ta đượ c
Quan sát thấy nhiều bản ghi có nhiều giá tr ị trùng nhau, để có thể quan sát và đánhgiá thông tin dễ dàng hơn thì Crosstab Query là 1 giải pháp
Cửa sổ Design như sau:
- MaKH, HoTenKH có các giá tr ị đượ c liệt kê theo từng dòng nên tại dòng crosstab
chọn là Row Heading.
- TenMH có các giá tr ị đượ c liệt kê theo từng cột nêntại dòng crosstab chọn là
Column Heading.
- ThanhTien là giá tr ị đượ c thống kê theo dữ liệu của khách hàng và hàng hóa nên tại
dòng crosstab chọn là Value. dk là trường điều kiện nên tại dòng crosstab để tr ống
Sum(SoLuong*
DonGiaBan)
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 80/147
78
6.3.4. Find Duplicate query
Find Duplicates Query Wizard dùng để tìm những bản ghi có giá tr ị trùng lắ p ở một
số trườ ng, ví d ụ như tìm những nhân viên có trùng ngày sinh, trùng tên, …
Ví d ụ 15: Tìm những khách hàng trùng tên.
Trong cửa sổ làm việc của Access, trên thanh Ribbon, chọn tab Create, click nút
Query Wizard trong nhóm lệnh Queries.
Trong cửa sổ New Query chọn Find Duplicates Query Wizard , sau đó chọn bảng/query tham gia
Sau đó chọn trườ ng xác định dữ liệu trùng lặ p (TenKH ) → Next
Trườ ng cần tìmk ết quả trùng lặ p
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 81/147
79
Chọn thêm trường để xuất hiện ở k ết quả
K ết quả thực hiện
6.3.5. Find Unmatched Query
Trong quan hệ 1-n, một bản ghi trong bảng quan hệ 1 (bảng cha) quan hệ vớ i nhiều bản ghi trong bảng quan hệ n (bảng con). Tuy nhiên cũng có nh ững bản ghi ở bảng chakhông quan hệ vớ i bất k ỳ bản ghi nào trong bảng con.
Ví d ụ 16 : Tìm những khách hàng chưa lập hóa đơn bán (chưa mua hàng)
Query này thể hiện những khách hàngcó MaKH tồn tại trong bảng KHACHHANG,nhưng không tồn tại trong bảng HOADONBAN.
Find Unmatched Query Wizard được dùng để thực hiện query này
Trong cửa sổ làm việc của Access, trên thanh Ribbon, chọn tab Create, click nútQuery Wizard trong nhóm lệnh Queries.
Trong cửa sổ New Query chọn Find Unmatched Query Wizard , sau đó chọn bảng/query có trườ ng thể hiện k ết quả - bảng có quan hệ 1 (bảng KHACHHANG)
Các trườ ng thêmvào xuất hiện ở
k ết quả
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 82/147
80
Tiế p tục xác định bảng có quan hệ n (bảng HOADONBAN )
Chọn trườ ng thể hiện mối qua hệ giữa 2 bảng
Tiế p tục chọn các trườ ng ở bảng quan hệ 1 (bảng KHACHHANG) thể hiện k ết quả WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 83/147
81
Sau khi chỉnh sửa, k ết quả là
6.4. Action Query (Truy vấn hành động)
6.4.1. Make Table query (Truy vấ n tạ o bả ng)
Trong các phần trên, truy vấn đượ c tạo theo hai chế độ:chế độ thiế t k ế (Design)và
chế độ xem k ế t quả (View). Để có thể lưu kết quả của query nhằm mục đích sử dụng sau
này, Access cung cấ p Make-Table Query.
Make-Table Query hoàn toàn giống như một Select Query bình thư ờ ng, chỉ khác là
cho phép lưu kết quả thành một bảng.
Ví d ụ 17 : Tính tiền cho từng hóa đơn trong năm 2012 và lưu kết quả vào bảng
HD2012 với các trườ ng sau: SoHDB, NgayBan, TenKH, HoTenNV, ThanhTien.
Trướ c hết ta thực hiện câu Select Query nhưng trườ ng NgayBan có bổ sung điều kiện
lọc: Year([NgayBan])=2012
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 84/147
82
Sau khi chạy câu truy vấn để kiểm tra k ết quả, ta chuyển câu Select query sang Make
Table query bằng cách: Trong nhóm lệnh Query Type, click và Make Table
Xuất hiện dialog:
Nhậ p tên bảng cần lưu vào ô Table Name. Chọn Current
Database để lưu bảng k ết quả vào cơ sở dữ liệu hiện hành. Click Ok
để xác nhận.
Tiế p theo, trong nhóm lệnh Results, click vào nút Run để lưu kếtquả truy vấn.
Nếu thành công sẽ có một dialog xuất hiện để xác nhận số dòng sẽ lưu vào bảng k ết
quả:WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 85/147
83
6.4.2 Update query (Truy vấ n cậ p nhậ t)
Sau khi đã nh ậ p dữ liệu vào các table, nếu muốn thay đổi dữ liệu, một cách thực
hiện là mở các table để cậ p nhật tr ực tiếp trên các table đó. Tuy nhiên nếu dữ liệu cần sửa
đổi nhiều, thì việc cậ p nhật tốn nhiều công sức. Do đó Access cung cấ p Update Query để
có thể hỗ tr ợ thực hiện việc cậ p nhật một cách tự động.
Ví d ụ 18: Tăng lương cho các nhân viên nữ thêm 10%.
Để thực hiện truy vấn này, trướ c tiên tạo một Select Query cho bảng NHANVIEN
với 2 trường đượ c chọn là Luong và GioiTinh
Sau đó click vào Update trong nhóm lệnh Query Type của tab Query
Tools→ Design.
Sau khi chọn kiểu query là Update Query, phần thiết k ế xuất hiện dòng Update To.
- Cột Luong là cột sẽ phải cậ p nhật dữ liệu mới, do đó trong dòng Update To, nhậ pvào biểu thức [Luong]*1,1. Chú ý tên trườ ng bắ t buộc đặ t trong cặ p d ấ u [ ]
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 86/147
84
- Cột GioiTinh, nhập điều kiện chọn là Yes để chọn ra các nhân viên nữ tănglương. Sau khi thiết k ế truy vấn xong, click Run để thật sự cậ p nhật dữ liệu (biểu tượ ng
View để xem trướ c các dòng đượ c chọn).
Click Yes để cậ p nhật
6.4.3 Delete Query (Truy vấ n xóa)
Tương tự như Update Query, Delete Query cũng đư ợc dùng để xóa cùng lúc nhiều
dòng trong bảng. Các dòng cần xóa phải thỏa mãn một điều kiện nào đó.
Ví d ụ 19: Xóa những nhân viên không lương trong bảng NHANVIENĐể thực hiện truy vấn này, trướ c tiên tạo một Select Query cho bảng NHANVIEN
với trường đượ c chọn là Luong
Sau đó click vào Delete trong nhóm lệnh Query Type của tab Query
Tools→ Design.
Ở dòng Criteria nhậ p giá tr ị lương cần xóa là 0. Click Run, sau đó xác nhận Access
sẽ tiến hành xóa trong bảng NHANVIEN.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 87/147
85
6.4.4 Append Query (Truy vấ n nố i)
Tương tự như Make-Table Query, Append Query cũng đư ợc dùng để lưu lại k ết quả
truy vấn. Điểm khác nhau là Make-Table Query tạo ra một bảng mớ i. Còn Append thì lưuk ết quả vào một bảng đã có sẵn.
Ví d ụ 20: Để lưu trữ số lượ ng hàng hóa theo từng nhà cung cấ p, chúng ta có thể thiếtk ế thêm một bảng SLHANG như sau:
Sau đó để lưu tr ữ số lượ ng hàng hóa theo từng nhà cung cấ p, thực hiện truy vấn nối
Append Query theo thao tác click vào Append trong nhóm lệnh Query Type của tab Query
Tools→ Design.
Một hộ p thoại xuất hiện yêu cầu cho biết bảng dữ liệu đích:
Trong thiết k ế xuất hiện dòng Append To, chứa tên các trường tương ứng trong bảng
có sẵn (bảng SLHANG)
Thực hiện chứ năng Run tương tự như các query Update, Delete. Kết quả của truy
vấn sẽ được lưu vào bảng SLHANG.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 88/147
86
6.5. Truy vấn có tham số
Ví d ụ 21: Liệt kê các nhân viên có lương từ $100 đến $500
Trong câu truy vấn này, hai con số 100 và 500 đượ c ghi cố định trong lúc thiết k ế ở màn hình Design. Nếu cần thay đổi phạm vi của Luong (ví dụ, từ 500 đến 800) thì phải mở lại màn hình thiết k ế và sửa lại.
Một cách thực hiện khác hiệu quả hơn là quy các con số giớ i hạn trên thành các tham
số. Khi thực hiện truy vấn thì Access mớ i yêu cầu nhậ p giá tr ị tham số.
Khi thực hiện Query, Access yêu cầu nhậ p giá tr ị tham số để xử lý truy vấn:
Chú ý:
Tham số phải được đặt trong d ấ u [ ] và không đượ c trùng tên bấ t k ỳ
trườ ng nào của các bảng tham gia truy vấ n.
Có thể áp d ụng tham số cho Action Query
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 89/147
87
CHƯƠNG 7. BIỂU MẪU (FORM)
7.1 . Khái niệm Form
Trong Chương 6 đã trình bày khái ni ệm bảng (Table) và cách thức nhậ p dữ liệu tr ực
tiế p vào bảng. Tuy nhiên cách nhậ p tr ực tiếp như vậy không thuận lợ i lắm nhất là khi một bảng có nhiều cột hay nội dung của một cột tương đối lớ n. Form là một thành phần trong
CSDL Access giúp cho việc xem và nhậ p dữ liệu vào các bảng thuận tiện hơn.
Có hai cách để xây dựng Form trong Access:
• Sử dụng Form Wizard: Đây là cách rất đơn giản, nhanh chóng, dễ dùng giúp
tạo nhanh một Form. Tuy nhiên Form đượ c tạo ra theo những mẫu (templates)
có sẵn nên chỉ có thể đáp ứng những nhu cầu đơn giản.
• Sử dụng Form Design View: một công cụ giúp tạo ra các form đáp ứng nhiều
yêu cầu khác nhau của ngườ i sử dụng,
Chú ý: Thông thườ ng nên sử dụng Form Wizard để hình thành các Formđơngiản sau đó sử dụng tiếp Form Design View để tiế p tục thiết k ế.
7.2. Sử dụng Form Wizard để tạo Form
Phần này trình bày việc tạo Form bằng cách sử dụng Form Wizard vớ i ví dụ là trình
bày và nhậ p liệu cho bảng KhachHang.
• Bướ c 1: Trong cửa sổ CSDL đang sử dụng,
Chọn menu Create → Create form by using wizard.
• Bướ c 2: Chọn thông tin cần đưa lên Form Tại mục Tables/ Queries chọn Table: KhachHang
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 90/147
88
Việc chọn table KhachHang có ngh ĩa là Form s ẽ tương tác vớ i các giá tr ị trong cáccột của bảng KhachHang. Trong Available Fields hiển thị các trườ ng có trong bảng
SinhVien mà chưa đượ c chọn để hiển thị trên Form. Trong Selected Fields chứa các
trườ ng sẽ hiển thị trên Form.
Để chọn một vài trườ ng vào Selected Fields, chọn trườ ng ở Available Fields r ồi click
. Để lấy tất cả các trườ ng từ Available Fields, click .
Ngượ c lại, các nút và để loại bỏ một vài hoặc tất cả các trườ ng trong
Selected Fields.
Sau khi chọn được các trườ ng cần thiết vào Selected Fields, click Next
• Bướ c 3: Chọn kiểu trình bày (layout) của Form
Tại giao diện này, Access cung cấ p một số mẫu (template) cho việc hiển thị dữ liệu
lên Form. Có 4 kiểu chính
- Columnar : hiển thị dữ liệu của một bản ghi trên một trang Form.
- Tabular : hiển thị dữ liệu của tất cả các record trên một trang Form - Datasheet : hiển thị dữ liệu của tất cả các bản ghi trên một trang Form dưới dạng
Chọn bảng (table) hay truy vấn
(query) cần thiết cho Form
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 91/147
89
bảng (tương tự như bảng được mở ở dạng Open)
- Justified : Phân bố dữ liệu của bản ghi trên Form theo cấu trúc định sẵn của Access.
Thông thườ ng chọn Columnar→ Next
• Bướ c 4: Hoàn thiện công việc
- Đặt tiêu đề hiển thị cho Form, tiêu đề này cũng sẽ là tên của Form (tuy nhiên tên
Form có thể được thay đổi ở cửa sổ các đối tượ ng CSDL mà không ảnh hưởng đến tiêu đề
Form).
- Lựa chọn Open the form to view or enter information: hiển thị Form sau khi click Finish
- Lựa chọn Modify the form’s design: mở giao diện Form Design để chỉnh sửa Form.
Nếu lựa chọn hiển thị Form thì:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 92/147
90
Chỉnh sửa lại tên các nhãn, tiêu đề trong Form: click biểu tượ ng Design View
7.3. Sử dụng Design View để tạo Form
Để tạo ra đượ c form mang tính chuyên nghiệp và đáp ứng đượ c sát yêu cầu thực tế
bắt buộc phải sử dụng đến Form Design View. Nói như vậy không có ngh ĩa là không dùng
Form Wizard để tạo form, mà trong nhiều tính huống vẫn dùng Form Wizard r ồi sử dụng
đến Form Design View để tiế p tục hoàn thiện yêu cầu.
Xem/Thiếtk ế Form
Hiển thi bản
ghi trước đó
Hiển thị bản
ghi tiế p theo
Thêm bản ghi
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 93/147
91
• Tạo form mớ i ngay từ đầu
Chọn Create → Form Design.
• Thiết k ế lại form đã tạo trước đó bằng Form Wizard
Chọn Form → bấm chuột phải và chọn biểu tượ ng Design View
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 94/147
92
Màn hình thiết k ế form xuất hiện như sau
1) C ử a sổ thuộc tính (Properties): mô tả chi tiết về đối tượ ng của form đang đượ c thiết k ế
Chú ý:
- Nguồn dữ liệu đượ c sử dụng để hiển thị trên form đượ c khai báo ở thẻ All của
đối tượ ng Form
- Muốn thay đổi định dạng của đối tượ ng trên form (ví dụ: font chữ, màu nền,
màu chữ…) thì chọn đối tượ ng → tinh chỉnh ở cửa sổ thuộc tính.
2) Thanh công cụ Toolbox: nơi chứa những đối tượ ng, những công cụ có thể đưa lên
form vớ i mục đích thiết k ế giao diện và điều khiển dữ liệu theo mục đích thiết k ế.
3) Field List: hiển thị danh sách các trườ ng của nguồn dữ liệu đượ c khai báo ở cửa sổ
thuộc tính. Muố n hiể n thị d ữ liệu của trườ ng nào trên form chỉ cần kéo trường đó
trong Field List vào Form Design.
Phần tiêu đề đầu (Header)
Phần thânform (Detail)
Phần tiêu đề cuối (Footer)
Danh sách các trườ ng
của nguồn dữ liệu
(Table/Query)
Cửa sổ thuộc tính
của form
Cửa sổ cáccông cụ thiết k ế
(Toolbox)
Nguồn dữ liệu
Đối tượng đangthiết k ế
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 95/147
93
7.4. Main-Sub Form
Đặt vấn đề : cần xây dựng một Form hiển thị thông tin các loại hàng hóa, khi một loại
hàng hóa đượ c hiển thị thì phải hiển thị luôn danh sách mặt hàng thuộc loại hàng hóa đó.
Trong trườ ng hợ p này, Access cung cấ p k ỹ thuật tạo form có thể thỏa mãn yêu cầu
trên, form đượ c tạo ra đượ c gọi là Main-Sub form. Có thể hiểu Sub form là form này lồngtrong form kia (có thể lồng trong nhau nhiều lớ p). Form chứa gọi là form cha (Main form);
form đượ c lồng vào gọi là form con (Sub form). Việc xử lý dữ liệu trên từng form có thể
xử lý độc lậ p hoặc có quan hệ vớ i nhau tuỳ theo mục đích công việc.
Ví d ụ: các bướ c tạo một một Main-Sub form cho bảng LoaiHH và HangHoa nhưhình bên dướ i:
Cách 1: T ạ o Main Form và Sub Form riêng rồi liên kế t l ại vớ i nhau:
• Bướ c 1: Tạo Form hiển thị cho bảng LoaiHH bằng Wizard và chọn Style Columnar.Đặt tên cho Form này là LoaiHH_MainForm
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 96/147
94
• Bướ c 2: Tạo Form hiển thị cho bảng HangHoa bằng Wizard và chọn Style DataSheet,
tên là HangHoa_SubForm. Form này có hình dạng tương tự như phần DataView của table
HangHoa.
Chú ý : Do table HangHoa có khóa ngoại là MaNhaCC nên sau khi chọn các cột cho bảng
HangHoa, ta chọn thêm cột TenNhaCC của bang NhaCungCap, như h ình bên d ướ i
Bảng HangHoa
Bảng NhaCungCap
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 97/147
95
Sub Form k ết quả:
• Bướ c 3: Liên k ết form HangHoa_SubForm và LoaiHH_MainForm.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 98/147
96
- Mở Form LoaiHH_MainForm ở chế độ Design View → Mở r ộng phần Detail
- Trong thanh công cụ Controls, tìm đến công cụ Subform/Subreport → trong phần Detail của form, nhấn chuột trái và kéo một hình chữ nhật để xác định vị trí
của SubForm.
- Access mở hộ p thoại hỏi subform tương ứng vớ i form nào, chọn form
HangHoa_SubForm.
- Tiế p theo chọn Next để xác định thuộc tính liên hệ giữa LoaiHH_MainForm và
HangHoa_SubForm. Ở đây là thuộc tính MaLoaiHH.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 99/147
97
- K ết quả cuối cùng sau khi lưu form sub là HangHoa_SubForm:
• Bướ c 4: Điều chỉnh giao diện và chuyển qua Form View
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 100/147
98
Trong Sub Form HangHoa chỉ hiển thị các hàng hóa thuộc nhóm Xà phòng.
Giao diện Main-Sub như trên tr ình bày nh ững mặt hàng trong từng loại hàng hóa.
Đồng thờ i có thể tiến hành thêm, xóa, sửa thông tin Mặt hàng.
Cách 2: T ạ o Main-Sub Form cùng lúc:
• Bướ c 1: Sử dụng form Wizard, chọn các thuộc tính của bảng LoaiHH:
• Bướ c 2: Chọn tiế p các thuộc tính của bảng HangHoa và NhaCungCap:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 101/147
99
• Bướ c 3: trong mục này chọn là “by LoaiHH” để tạo Main-Sub form (nếu chọn “byHangHoa” thì chỉ là form thườ ng)
• Bướ c 3: trong mục này chọn là “by LoaiHH” để tạo Main-Sub form. Access tự độ ng
hiể u rằ ng LoaiHH là Main-Form còn HangHoa là Sub-Form.
• Bướ c 4: Chọn kiểu cho Sub form là “Datasheet”
• Bướ c 5: Lưu lại tên của form Main và form Sub
Bảng LoaiHH
Bảng HangHoa
Bảng NhaCungCap
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 102/147
100
K ết quả đạt đượ c cũng tương tự như việc tạo 2 form riêng r ồi liên k ết lại vớ i nhau:
7.5. Sử dụng nút lệnh (Command Button)
Nút lệnh là một biểu tượng ở trên form mà khi click chột vào thì form sẽ thực hiệnmột công việc nào đó, ví d ụ: khi nhấn lên nút
- Một bảng lương sẽ được in ra.
- Form đang làm việc sẽ được đóng lại.
Access cung cấp tính năng Control Button Wizard giúp người thiết kế tạo một số
loại nút lệnh mà không cần biết nhiều đến lập trình. Dưới đây là các bước sử dụng:
Ví d ụ: Tạo nút
• Bước 1: Mở form ở chế độ Design. Chọn loại control là Button trong Control Box
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 103/147
101
• Bước 2: Mở rộng phần Detail của Form, dùng chuột vẽ nút lệnh ở vị trí thích hợp
• Bước 3: Một hộp thoại xuất hiện yêu cầu chọn hành động cho nút lệnh
- Categories: chứa các nhóm thao tác mà một nút lệnh có thể nhận - Actions: chứa danh sách các lệnh của mỗi nhóm.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 104/147
102
Nhóm / Lệnh ngh ĩa Record Navigation Định hướng trỏ chuột trên bản ghi
- Go To First Record - Chuyển về bản ghi đầu- Go To Last Record - Chuyển đến bản ghi cuối cùng- Go To Next Record - Chuyển đến bản ghi kề sau- Go To Previous Record - Chuyển về bản ghi k ề trước
Record Operations Các xử lý với bản ghi - Add New Record - Thêm bản ghi mới- Delete Record - Xoá bản ghi hiện tại- Update Record - Cập nhật bản ghi hiện tại- Undo Record - Phục hồi thay đổi dữ liệu bản ghi
Form Operations Các xử lý với Form
- Close Form - Đóng form- Open Form - Mở một form khác
Report Operations Các xử lý với Report - Preview report - Xem trước nội dung (Preview) report- Print report - In report- Send report to file - Xuất re port ra một tập tin khác
Applications X ử lý ứng dụng - Quit Application - Thoát khỏi Access- Run Application - Chạy một ứng dụng nào đó (ví d ụ, file .exe)
Miscellaneous M ột số thao tác khác
- Print table - In nội dung một bảng- Run macro - Thi hành một macro
- Run query - Thi hành một query
Với yêu cầu đóng form thì chọn: Categories là Form Actions và Actions là Close Form.
Chọn xong nhấn Next:
• Bước 3: Chọn hiển thị cho nút lệnh
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 105/147
103
- Tuỳ chọn Text nếu muốn hiển thị nội dung bằng chữ trên nút lệnh.
- Tuỳ chọn Picture nếu muốn thể hiện một hình ảnh lên nút lệnh.
Cuối cùng, nhấn Finish để kết thúc việc tạo một nút lệnh.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 106/147
104
CHƯƠNG 8. BÁO CÁO (REPORT)
Report là công cụ dùng thiết k ế in ấn dữ liệu hữu hiệu trong Access. Trong chương
này có các nội dung cụ thể bao gồm:• Các khái niệm về Report.
• Sử dụng Report Wizard và Report Design để tạo và chỉnh sửa báo cáo.
8.1. Khái niệm về Report
Report là một thành phần trong CSDL Access cho phép thiết k ế các bảng biểu, báo
cáo để có thể in ra. Khác vớ i Form, Report chỉ có thể truy xuất dữ liệu để hiện thị mà
không có khả năng thay đổi dữ liệu.
Cấu trúc Report gồm có các phần:
• Page Header và Page Footer: tương tự như Header và Footer của Word.
• Report Header/ Report Footer: dùng để hiển thị các nội dung dùng chung
cho tất cả các trang của báo cáo. Ví d ụ: tên báo cáo, ngày lập, ngườ i lậ p…
• Report Detail: phần này dùng để hiện thị các nội dung đượ c truy xuất từ
CSDL. Ví dụ: danh sách sinh viên của Khoa Kinh tế…
8.2. Sử dụng Report Wizard để tạo báo cáo
Phần này trình bày việc tạo báo cáo bằng cách sử dụng Report Wizard.
Ví d ụ: tạo một báo cáo cho bảng KhachHang.
• Bướ c 1: Trong cửa sổ CSDL đang sử dụng,
click chọn CREATE → report wizard.
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 107/147
105
• Bướ c 2: Tại mục Tables/Queries chọn Table: KhachHang
Việc chọn table KhachHang có ngh ĩa là giá tr ị của các cột trong bảng KhachHang sẽ
đượ c sử dụng để hiển thị trên báo cáo.
Tương tự như khi tạo Form, Available Fields hiển thị các trườ ng của bảng
KhachHang, Selected Fields hiển thị các cột đượ c chọn hiển thị trong báo cáo. Nút (>) để
chọn trường, nút (>>) để chọn tất cả các trường, nút (<) để loại bỏ trường và nút (<<) để
loại bỏ tất cả các trườ ng.
• Bướ c 3: Chọn tất cả các trườ ng vào trong Selected Fields và click Next.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 108/147
106
Trong giao diện Grouping muốn hiển thị dữ liệu theo nhóm giá tr ị của trườ ng nào thì
Add trường đó từ danh sách bên trái hộ p thoại sang hộ p preview bên phải hộ p thoại. Ví dụ
tiế p theo sẽ minh họa việc gom nhóm trong báo cáo.
• Bướ c 4:. Bỏ qua việc gom nhóm. Click Next
Giao diện này cho phép chọn trườ ng để sắ p xế p k ết quả hiện thị trên báo cáo (cácdòng dữ liệu trên báo cáo sắ p xếp theo trường đượ c chọn).
Report Wizard cho phép tối đa 4 mức ưu tiên sắ p xế p dữ liệu được đánh số từ 1 đến 4.
Trườ ng nào thiết lập trướ c, sẽ được ưu tiên sắ p xếp trước.Trong trườ ng hợ p các giá tr ị trường đó trùng nhau, Access sẽ chuyển đến các mức tiếp theo để sắ p xế p. Kiểu sắ p xế p(theo chiều tăng hoặc giảm) có thể thiết lậ p khi nhấn nút Ascending hoặc Descending bên
cạnh trường đượ c chọn.
Bướ c 5: Tiến hành sắ p xế p theo TenKH. Chọn TenKH và click Next.
Giao diện này cung cấ p 3 lựa chọn bố cục báo cáo (Layout) là: Columnar, Tabular, Justified và 2 cách bố trí hướ ng trang giấy (Orentation) là: Portrait và Landscape. Mỗi tùy
chọn trên Access đều cung cấ p hình ảnh xem trướ c (Preview).
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 109/147
107
• Bướ c 6: Giữ nguyên tùy chọn mặc định và click Next
• Bướ c 7: Đặt tiêu đề hiển thị cho Report và click Finish.
- Tiêu đề hiển thị cho Report cũng sẽ là tên của Report (tuy nhiên tên Report có thể
được thay đổi ở cửa sổ các đối tượ ng CSDL mà không ảnh hưở ng đến tiêu đề Report).
- Lựa chọn Preview the report : hiển thị Report sau khi click Finish
- Lựa chọn Modify the report’s design: mở giao diện Report Design để chỉnh sửaWWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 110/147
108
Nếu lựa chọn hiển thị Report thì sẽ hiển thị giao diện:
• Bướ c 8: Chỉnh sửa báo cáo theo ý muốn
Click chuột phải → Design View.
Chỉnh sửa nội dung báo cáo như sau: WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 111/147
109
Chuyển qua chế độ Report view để xem báo cáo
8.3. Tạo báo cáo có phân nhóm
Trong thực tế chúng ta gặ p r ất nhiều báo cáo hiển thị dữ liệu theo từng nhóm. Ví dụ: Hiển
thi danh sách sinh viên theo từng khoa, hiển thị danh sách hàng đượ c mua theo từng đơnđặt hàng, hiển thị danh sách hóa đơn bán của khách hàng...Ngoài việc cho phép xuất ra các
báo cáo đơn giản như trên, Microsoft Access cũng h ỗ tr ợ việc tạo ra các báo cáo có phân
nhóm một cách đơn giản thông qua Report Wizard.
Phần này minh họa việc tạo báo cáo hiển thị danh sách các hóa đơn bán theo kháchhàng.
Bướ c 1: Trong cửa sổ CSDL đang sử dụng, click chọn Reports → Report Wizard.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 112/147
110
• Bướ c 2: Tại mục Tables/Queries chọn HoaDonBan
• Bướ c 3: Chọn trườ ng vào trong Selected Fields và click Next.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 113/147
111
Trong giao diện Grouping, ta chọn trườ ng MaKH r ồi click nút (>). Trong trườ ng hợ pMS Access chọn sẵn thì để nguyên.
Trong khung Preview chúng ta thấy báo cáo sẽ hiển thị SoHDB, NgayBan và MaNV
theo từng MaKH.
• Bướ c 4: Click Next
• Bướ c 5: Chọn NgayBan và click Next.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 114/147
112
Giao diện này cung cấ p 6 lựa chọn bố cục báo cáo (Layout) và 2 cách bố trí hướ ng
trang giấy (Orentation). Mỗi tùy chọn trên Access đều cung cấ p hình ảnh xem trướ c(Preview).
• Bướ c 6: Giữ nguyên tùy chọn mặc định và click Next
• Bướ c 8: Chỉnh sửa báo cáo như sau: WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 115/147
113
Chuyển qua chế độ View để xem báo cáo
Trong báo cáo trên MaKH đượ c hiển thị và đây là điều không hợ p lý vì nhìn vào mã
khách hàng chúng ta không thể biết đó là khách hàng nào. Nếu chúng ta cũng mu ốn hiển
thị thêm họ khách hàng và tên khách hàng thì tại bước 3, sau khi đã ch ọn xong các trườ ng
của bảng HoaDonBan, chúng ta tiế p tục chọn bảng KhachHang trong mục Tables/Queries
và đưa HoKH, TenKH vào Selected Fields.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 116/147
114
8.4. Tạo báo cáo có Custom Field, SubTotal và Total
Table 1: Minh họa báo cáo sử dụng Custom Field, SubTotal và Total
HoTenKH SoHD TenHH SoLuong DonGia ThanhTien
Nguyễn Văn A
001
Kẹo 10 2 20
Bánh 2 20 40SubTotal hóa đơn 001 60
002Xà phòng 1 10 10
Keo 2 2 4SubTotal hóa đơn 002 14
SubTotal khách hàng Nguyễn Văn A 74
Nguyễn Văn B 003 Kẹo 100 2 200
SubTotal hóa đơn 003 200
SubTotal khách hàng Nguyễn Văn B 200Total khách doanh thu 274
Bảng trên minh họa việc xây dựng báo cáo sử dụng custom field, subtotal và total.
ThanhTien là custom field vì tr ư ờng này không có trong CSDL mà đượ c tạo ra từ việc lấy
DonGia*SoLuong.
Trong Access 2013, việc xây dựng báo cáo có sử dụng custom field, total và subtotal
là tương đối dễ dàng. Ví dụ tiế p theo sẽ xây dựng báo cáo như hình dưới đây:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 117/147
115
• Bướ c 1: Xây dựng báo cáo có phân nhóm gồm các trườ ng: MaKH, HoKH,
TenKH (bảng KhachHang), SoHDB, NgayLap (Bảng HoaDonBan), MaHH, SoLuong,
DonGiaBan (bảng CTHDB)
• Bướ c 2: Dùng Report Design xây dựng báo cáo như sau:
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 118/147
116
Lưu ý: Hiện tại trong CSDL chỉ có các trường HoKH và TenKH. Trườ ng HoTenKH
sẽ được hướ ng dẫn tạo ra trong các bướ c phía sau.
• Bướ c 3: Xây dựng Custom Field HoTenKH và ThanhTien
Chuyển sang chế độ Design View→ Ch ọn menu Design→ ch ọn biểu tượ ng
Textbox trên thanh công cụ:
• Bướ c 4: Giữ chuột trái và kéo thành hinh chữ nhật như hình vẽ
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 119/147
117
• Bướ c 5: Click chuột phải lên Textbox vừa tạo và chọn Properties
• Bướ c 6: Khung Property Sheet xuất hiện → chọn tab Data → Click vào dấu (…)
ở dòng Control Source • Bướ c 7: Trong Expression Builder dánh biểu thức: [DonGiaBan]*[SoLuong] →
click OK
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 120/147
118
• Bướ c 7: Tạo tiêu đề cho cột cho trườ ng ThanhTien: Chọn menu Design → ch ọn
biểu tượ ng Label trên thanh công cụ:
• Bướ c 8: Vẽ label như hình sau:
• Bướ c 9: Thực hiện tương tự để tạo ra trườ ng HoTenKh hiển thị họ tên khách hàng
• Bướ c 10: Trên thanh công cụ click chọn Group & Sort
• Bước 11: Phía dướ i giao diện Report Design xuất hiện giao diện Group, Sort& Total như sau:
• Bướ c 12: Chọn Group on SoHDB→ more → ch ọn “with a footer section” nhưhình sau:
• Bướ c 13: Thực hiện tương tự cho dòng Group on MaKH
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 121/147
119
• Bướ c 14: Vẽ các Textbox ở các vị trí như hình dướ i:
• Bướ c 15: Chuyển qua Report View để xem k ết quả.
8.5. Báo cáo có nguồn dữ liệu là câu truy vấn
Một cách khác để thực hiện việc hiển thị HoKH và TenKH trong report ở trên là:
thay vì chúng ta thực hiện phép k ết giữa hai bảng KhachHang và HoaDonBan thì sử dụng
nguồn dữ liệu là một câu truy vấn k ết hợ p giữa bảng KhachHang và HoaDonBan.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 122/147
120
CHƯƠNG 9. BÀI TẬP THỰ C HÀNH
9.1. Bài tập 1 – Quản lý Sinh viên
Tạo Database vớ i tên QLSinhVien.accdb
1) Thiế t kế cơ sở d ữ liệu gồ m các bả ng sau:
Khoa(MaKhoa, TenKhoa)
Field Name Data Type Description Field Properties
MaKhoa Short Text Mã khoa Field size: 2; Format: >;
Input Mask: LL
TenKhoa Short Text Tên khoa Field size: 50
SinhVien(MaSV, HoSV, TenSV, NgaySinh, GioiTinh, HocBong, MaKH)
Field Name Data Type Description Field Properties
MaSV Short Text Mã sinh viên Field size: 4; Input Mask: 0000 HoSV Short Text Họ sinh viên Field size: 50
TenSV Short Text Tên sinh viên Field size: 10
NgaySinh Date/Time Ngày sinh Format: Short Date
GioiTinhNam Yes/No Giới tính nam
HocBong Currency Học bổng Format: Standard; Decimal Places: 0
MaKh Short Text Mã khoa trực thuộc Field size: 2
LOOKUP Row Source : Khoa
MonHoc(MaMH, TenMH, SoTinChi)
Field Name Data Type Description Field Properties
MaMH Short Text Mã môn học Field size: 3; Input Mask: 000 TenMH Short Text Tên môn học Field size: 50
SoTinChi Number Số tín chỉ Field size: Byte
LopHoc(MaLop, MaMH, HocKy, NamHoc, GiaoVien)
Field Name Data Type Description Field Properties
MaLop Short Text Mã lớp học Field size: 2; Input Mask: 00 MaMH Short Text Mã môn học Field size: 3
LOOKUP Row Source : MonHoc
HocKy Number Học kỳ Field size: Byte
NamHoc Number Năm học Field size: Long Integer
GiaoVien Short Text Giáo viên giảng dạy Field size: 50
KetQua(MaSV, MaLop, Diem)
Field Name Data Type Description Field Properties
MaSV Short Text Mã sinh viên Field size: 4
LOOKUP Row Source : SinhVien
MaLop Short Text Mã lớp học Field size: 2
LOOKUP Row Source : LopHoc
Diem Number Điểm Field size: DecimalPrecision: 18; Scale: 0 WW
W D YKEM
QUYNHON
UCOZ CO
M
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 123/147
121
Mối liên hệ:
2) Nhậ p d ữ liệu cho các bả ng theo hình bên d ướ i
Khoa Môn học
MaKhoa TenKhoa MaMH TenMH SoTinChi
CN Công nghệ Thông tin 102 Quản trị học 2
KT Kinh tế 207 Cấ u trúc dữ liệu 3
NN Ngoại ngữ 306 Tin học cơ sở 2
403 Kế toán tài chính 3
SinhVien
MaSV HoSV TenSV NgaySinh GioiTinhNam HocBong MaKH
5202 Lê Cường 21/5/1991 X 200 KT
5207 Nguyễn Sơn 17/7/1990 800 KT
5209 Ngô Hòa 16/8/1990 X 200 CN5306 Huỳnh Thị Nga 22/3/1992 400 CN
5308 Phạm Thị Trang 12/7/1990 800 CN
LopHoc KetQua
MaLop MaMH HocKy NamHoc GiaoVien MaSV MaLop Diem
01 306 1 2010 Tuấ n 5202 01 4
02 403 1 2010 Nga 5202 02 7
03 306 2 2011 Sơn 5202 03 8
04 207 1 2010 Nam 5202 04 9
5207 02 8
5207 03 7
5209 01 5
5306 02 6
5306 04 8
5308 01 3
5308 02 9
5308 03 9
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 124/147
122
3) Thự c hiệ n các câu truy vấ n sau:
Truy vấ n chọ n (Select Query)
1. Cho biết tên khoa của sinh viên có mã số ‘5202’. Liệt kê các thông tin MaSV,
HoSV, TenSV, NgaySinh, TenKhoa.
2. Cho biết thông tin môn học của các lớ p có mã lớ p ‘02’. Liệt kê các thông tinMaLop, MaMH, TenMH, SoTinChi, HocKy, NamHoc, GiaoVien.
3. Liệt kê các sinh viên sinh năm 1990 và có học bổng trên 500.
4. Liệt kê các sinh viên đạt mức học bổng từ 300 đến 500
5. Liệt kê các sinh viên có ngày sinh vào tháng 7.
6. Liệt kê các sinh viên có tên bắt đầu là ‘N’ hoặc là ‘S’7. Cho biết những SV có ngày sinh từ ngày 01/08/1990 đến ngày 01/06/1991 gồm
các thông tin: MaSV, HoSV, TenSV, NgaySinh, HocBong.
8. Tương tự như câu 7 nhưng tạo cột HoTenSV thay cho hai cột HoSV và TenSV.
9. Hiển thị danh sách SV gồm các thông tin: MaSV, HoSV, TenSV, NamSinh, Tuoi
và Tuoi được sắp xếp giảm dần. Biết rằng Tuoi được tính như sau: Tuoi = năm
hiện hành – năm sinh.
10. Hiển thị bảng điểm các sinh viên gồm các thông tin: MaSV, HoTenSV, MaLop,
TenMH, Diem, KetQua. Biết rằng nếu Diem < 5 thì KetQua = “Rớt”, ngược lại thì
KetQua = “Đậu”.
11. Cho biết ba sinh viên đạt mức học bổng cao nhất.
12. Cho biết hai sinh viên đạt k ết thi cao nhất môn học của môn học ‘Tin học cơ sở ’.
Gồm các thông tin: MaSV, HoSV, TenSV, TenMH, NamHoc, HocKy, Diem.
13. Cho biết tên các môn học chưa mở lớ p.
14. Cho biết tên của các khoa chưa có sinh viên.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 125/147
123
Truy vấ n trên từ ng nhóm (Group By Select Query)
15. Tính số lượ ng sinh viên và tổng học bổng của từng khoa. Gồm MaKhoa,
TenKhoa, SoSV, TongHB.
16. Tính số lượ ng sinh viên nữ của từng khoa.
17. Cho biết s ĩ số của từng lớ p học: gồm MaLop, NamHoc, HocKy, TenMH, SiSo.18. Cho biết điểm tất cả các môn học của sinh viên có mã số ‘5202’. (nếu một môn
học 2 lần thì chọn điểm số cao nhất). Gồm: MaSV, HoSV, TenSV, TenMH,
SoTinChi, Diem.
19.
Tính tổng số tín chỉ và điểm trung bình học k ỳ 1 năm 2010 của các sinh viên.Gồm MaSV, HoSV, TenSV, TongTinChi, DiemTB.
20. Cho biết họ tên của hai sinh viên có điểm trung bình học k ỳ 1 năm 2010 cao nhất.
21. Cho biết họ tên của sinh viên nữ xuất sắc nhất học k ỳ 1 năm 2010. Truy vấ n chéo ( Crosstab query)
22. Tính số lớ p học của từng môn học theo từng năm như hình bên dướ i.
MaMH TenMH 2010 2011
207 Cấu trúc dữ liệu 1
306 Tin học cơ sở 1 1
403 Kế toán tài chính 1
23.
Cho biết bảng thống kê điểm cuối cùng của từng sinh viên thuộc khoa ‘Kinh tế’theo từng môn học như hình bên dướ i.
MaSV HoTen Cấu trúc dữ liệu K ế toán tài chính Tin học cơ sở
5202 Lê Cường 9 7 8
5207 Nguyễn Sơn 8 7
Truy vấ n thêm xóa sử a
24. Từ bảng SinhVien, KetQua, LopHoc, MonHoc hãy tạo ra bảng sau có tên
BangDiem_SV gồm các thông tin: MaSV, HoTenSV, TenMH, SoTinChi, Diem,WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 126/147
124
KetQua. Trong đó KetQua sẽ là “Đậu” nếu Diem>= 5 ngược lại là “Rớt”, và có
sắp xếp theo thứ tự MaSV tăng dần.
25. Hãy tạo ra bảng có tên Diem_TB_HK1_2010 gồm các thông tin: MaSV,
HoTenSV, SoTinChi, DiemTB. Bảng này lưu số tín chỉ và điểm trung bình của
từng sinh viên trong học kỳ 1 năm học 2010. 26. Tăng thêm học bổng cho các SV khoa ‘Kinh tế’ mỗi người 200
27. Cộng thêm 0.5 điểm thi môn “Tin học cơ sở” cho những SV đã thi có điểm thấp
hơn 8.
28. Xóa tất cả điểm thi của các sinh viên thuộc khoa ‘Công nghệ Thông tin’ đã thi
môn “Tin học cơ sở”.
Truy vấ n có tham số
29. Liệt kê các sinh viên có học bổng cao hơn giá trị nhập từ bàn phím.
4) Thự c hiệ n các biể u mẫ u (Form) : Hãy dùng công cụ Wizard để tạ o biể u mẫ u
1) Tạo Form cho phép nhập dữ liệu vào bảng Khoa, SinhVien, MonHoc
2) Tạo Form Main-Sub Form cho phép nhập dữ liệu vào b ảng Lớp Học và nhập kết
quả cho các sinh viên trong lớp học đó. Main-Form lấy dữ liệu từ bảng LopHoc và
bảng MonHoc. Sub-Form lấy dữ liệu từ bảng KetQua và bảng SinhVienWWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 127/147
125
5) Dùng Report Wizard để tạ o các báo cáo sau:
1) Lập báo cáo danh sách các môn học.
2) Danh sách sinh viên theo từng khoa. Lấy dữ liệu từ hai bảng Khoa và SinhVien
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 128/147
126
3) Cho biết bảng điểm của lớp học có mã số ‘02’: Dữ liệu phần Main lấy từ Query 2và dữ liệu phần Sub lấy từ Query 10
4) Bảng điểm học tập theo của sinh viên có mã số ‘5202’. Lấy dữ liệu phần Main lấytừ Query 1 và dữ liệu phần Sub lấy từ Query 18.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 129/147
127
9.2. Bài tập 2 – Quản lý Bán hàng
Tạo file CSDL có tên là QLBH.ACCDB (Quản lý bán hàng)
1) Thiế t kế cơ sở d ữ liệu gồ m các bả ng sau :
NhaCungCap(MaNhaCC, TenNhaCC)
Field Name Data Type Description Field Properties
MaNhaCC Short Text Mã nhà cung cấ p Field size : 2; Input Mask : 00
TenNhaCC Short Text Tên nhà cung cấ p Field size : 50
NhanVien(MaNV, HoNV, TenNV, GioiTinh, DienThoai, Luong)
Field Name Data Type Description Field Properties
MaNV Short Text Mã số nhân viên Field size : 2
Input Mask : 00
HoNV Short Text Họ nhân viên Field size : 50
TenNV Short Text Tên nhân viên Field size : 10
GioiTinhNam Yes/No Giới tính
DienThoaiNV Short Text Số điện thoại nhân viên Field size : 15
Luong Currency Lương của nhân viên Format: Standard; Decimal Places: 0
Hinh OLE Object Hình ảnh của nhân viên Required: No
KhachHang(MaKH, HoKH, TenKH, DiaChi, DienThoai)
Field Name Data Type Description Field Properties
MaKH Short Text Mã số khách hàng Field size : 5; Input Mask : LL000HoKH Short Text Họ khách hàng Field size : 50
TenKH Short Text Tên khách hàng Field size : 10
DiaChiKH Short Text Địa chỉ khách hàng Field size : 100
DienThoaiKH Short Text Điện thoại khách hàng Field size : 15
LoaiHH(MaLoaiHH, TenLoaiHH)
Field Name Data Type Description Field Properties
MaLoaiHH Short Text Mã loại hàng hóa Field size : 2; Input Mask : 00
TenLoaiHH Short Text Tên loại hàng hóa Field size : 50
MatHang(MaMH, TenMH, DVT, MaLoaiHH, MaNhaCC )
Field Name Data Type Description Field Properties
MaMH Short Text Mã mặt hàng Field size : 3; Input Mask : 000
TenMH Short Text Tên mặt hàng Field size : 50
DVT Short Text Đơn vị tính Field size : 20
GiaNiemYet Currency Giá niêm yế t Format: Standard; Decimal Places: 0
MaLoaiHH Short Text Mã loại hàng hóa Fieldsize: 2
LOOKUP Row Source : LOAIHH
MaNhaCC Short Text Mã nhà cung cấ p Fieldsize: 2
LOOKUP Row Source : NHACUNGCAPWWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 130/147
128
HoaDonBan(SoHDB, NgayBan, MaKH, MaNV )
Field Name Data Type Description Field Properties
SoHDB Short Text Số hóa đơn bán Field size : 4; Input Mask : L000
NgayBan Date/Time Ngày bán Format : Short Date
MaKH Short Text Mã khách hàng Fieldsize: 5
LOOKUP Row Source : KHACHHANG
MaNV Short Text Mã nhân viên Fieldsize: 2
LOOKUP Row Source : NHANVIEN
CTHDB(SoHDB, MaMH, SoLuong, DonGiaBan)
Field Name Data Type Description Field Properties
SoHDB Short Text Số hóa đơn bán Fieldsize: 4
LOOKUP Row Source : HOADONBAN
MaMH Short Text Mã mặt hàng Fieldsize: 3
LOOKUP Row Source : MATHANG
SoLuong Number Số lượng bán Field size : Decimal
DonGiaBan Currency Đơn giá bán Format: Standard; Decimal Places: 0
2) Thiế t l ậ p mố i quan hệ giữ a các bảng đ ã cho
3) Nhậ p d ữ liệu (tham khả o)
NhanVien
MaNV HoNV TenNV GioiTinhNam DienThoaiNV Luong Hinh
01 Nguyễn Thị Anh 600.000
02 Lê Thị Anh 0914123456 700.000
03 Nguyễn Văn Hùng X 800.000
04 Đỗ Văn Hoàng X 700.000
05 Lê Thị Minh 700.000
06 Nguyễn Văn Lợi X 0912456789 800.000
07 Hoàng Thị Liên 500.000WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 131/147
129
MaNhaCC TenNhaCC
01 Cty trà Thái Nguyên
02 Cty thự c phẩm Vissan
03 Cty sữ a Vinamilk
04 Cty sữa đường Khánh Hòa
05 Cty nước khoáng Đãnh Thạnh
06 Công ty rượu Bình Tây
KhachHang
MaKH HoKH TenKH DiaChi DienThoai
KH001 Lê Minh Trang 12 Tr ần Phú, Nha Trang
KH002 Lê Công Trí 34 Bắc Sơn, Nha Trang
KH003 Nguyễn Văn Ngh ĩa 78 Hồ Văn Huê, TpHCM 0914235688
KH004 Đỗ Bá Hòa 56 Võ Văn Tần, Đà Nẵng 0914246899
KH005 Lê Anh Đoàn Trần Nghiệp
KH006 Nguyễn Bình Nguyễn Đ ình Chiểu
LoaiHH NhaCungCap
MatHang
MaMH TenMH DVT GiaNiemYet MaLoaiHH MaNhaCC
001 Trà Lipton Gói 12.000 01 01
002 Nước khoáng Vikoda Chai 3.000 01 05
003 Xúc xích Cây 8.000 03 02
004 Lạp xưởng Kg 5.000 03 02
005 Sữ a ông thọ Lon 17.000 04 03
CTHDB HoaDonBan
SoHDB MaMH SoLuong DonGiaBan SoHDB NgayBan MaKH MaNV
B001 001 10 12.000 B001 01/03/2010 KH001 01
B002 002 200 3.000 B002 08/08/2010 KH002 02
B003 001 120 10.000 B003 14/03/2010 KH001 02
B003 003 70 7.000 B004 21/06/2010 KH003 03
B001 004 30 5.000 B005 30/06/2010 KH001 04
B004 005 70 16.000 B006 11/03/2010 KH003 04
B002 004 20 5.000 B007 12/07/2010 KH004 04
B005 003 10 8.000B006 002 100 3.000
B006 004 50 5.000
B007 005 100 15.000
4) Thự c hiệ n các truy vấ n sau :
Truy vấ n chọ n (Select Query)
1. Liệt kê danh sách mặt hàng có trong cửa hàng (Mã MH, Tên MH, DVT, Tên loại HH, Tên
Nhà CC).
MaLoaiHH TenLoaiHH
01 Thứ c uống
02 Gia vị
03 Đồ làm sẵn
04 Bơ sữ a
05 Vải
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 132/147
130
2. Liệt kê các hóa đơn bán hàng trong tháng 3 năm 2010 (SoHDB, Ngày HĐ, Họ Tên
KH, Họ Tên NV).
3. Lập danh sách các khách hàng mua hàng trong tháng 6 năm 2010 (Mã KH, H ọ Tên
KH, Địa chỉ, Điện thoại, Ngày mua hàng), sắ p xế p theo tên khách hàng
4. Liệt kê danh sách khách hàng có ký tự đầu của tên là H.
5. Liệt kê các mặt hàng bán trong các hóa đơn (Số HDB, Mã MH, Tên MH, Số lượ ng,
Đơn giá bán, Thành tiền)
Truy vấ n trên từ ng nhóm (Group by)
6. Tính thành tiền của các hóa đơn (Số HD bán, Ngày bán, Mã KH, H ọ Tên KH , Mã
NV, H ọ tên NV , Thành tiền HĐ).7. Liệt kê danh sách các hóa đơn trong tháng 06 năm 2010 (Số HD bán, Ngày bán, Mã
KH, H ọ Tên KH , Mã NV, H ọ tên NV , Thành tiền HĐ).
8. Hãy liệt kê danh sách khách hàng và cho biết tổng số tiền mua của mỗi khách hàng.
9. Liệt kê danh sách khách hàng và cho biết tổng số tiền mua của mỗi khách hàng
trong 6 tháng đầu năm 2010.
10. Liệt kê danh sách các mặt hàng và cho biết giá trung bình, giá cao nhất, giá thấ p nhất khi
bán ra.
11. Liệt kê danh sách các mặt hàng của “Cty thực phẩm Vissan” và cho biết giá trung bình,
giá cao nhất, giá thấ p nhất khi bán ra.
12. Lập danh sách các khách hàng đã mua các m ặt hàng nào, số lượ ng bao nhiêu trong
khoảng thờ i gian từ 1/3/2010 đến 30/07/2010.
13. Tính số lượ ng và số tiền bán hàng của từng mặt hàng trong tháng 06 năm 2010.
14. Tính tổng số tiền bán hàng theo từng loại mặt hàng trong 6 tháng đầu năm 2010.
15. Thống kê số tiền bán hàng theo từng quý của các năm. 16. Hiển thị thông tin 2 khách hàng có số tiền mua hàng cao nhất từ trước đến nay.WW
W D YKEM
QUYNHON
UCOZ CO
M
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 133/147
131
Truy vấ n có tham số (Parameter query)
17. Liệt kê các thông tin về nhân viên vớ i mã nhân viên đượ c nhậ p từ bàn phím.
18. Liệt kê Họ, tên khách hàng và tổng số hóa đơn của khách hàng vớ i tên nhậ p từ bàn
phím.
19. Tính thành tiền của hóa đơn có SoHDB nhậ p từ bàn phím (Số HD bán, Ngày bán,Mã KH, H ọ Tên KH , Mã NV, H ọ tên NV , Thành tiền HĐ).
20. Liệt kê danh sách các hóa đơn trong ngày x, vớ i x nhậ p từ bàn phím (Số HD bán,
Ngày bán, Mã KH, H ọ Tên KH , Mã NV, H ọ tên NV , Thành tiền HĐ).
21. Thống kê số lượ ng và doanh số bán hàng của các mặt hàng từ ngày x đến ngày y (vớ ix, y đượ c nhậ p từ bàn phím) (Mã MH, Tên MH, ĐVT, Số lượ ng, Doanh số).
Truy vấ n chéo ( Crosstab query)
22. Thống kê các khách hàng đã mua các mặt hàng hóa nào vớ i số tiền là bao nhiêu.
23. Thống kê các khách hàng đã mua các m ặt hàng hóa nào vớ i số lượ ng là bao nhiêutrong khoảng thờ i gian từ 1/5/2010 đến 30/06/2010.
24. Tính số tiền bán hàng của từng mặt hàng trong từng quí năm 2010.
Truy vấ n thêm, xóa, sử a
25. Tạo một bảng mớ i gồm các mặt hàng có mã số của nhà cung cấ p là “02”.26. Tăng 10% lương cho các nhân viên là nữ.
27. Tăng giá niêm yết của các mặt hàng thuộc nhóm hàng ‘Thức uống’ thêm 10%.
28. Xóa đi các chi tiết bán hàng của hóa đơn ‘B007’.
Truy vấ n khác:
29. Tính số tiền quà tặng của các khách hàng mua hàng từ ngày 1/1/2010 đến ngày
30/6/2010. Biết r ằng : Nếu số tiền khách mua > 1.000.000 thì kháchđư ợ c số tiền
quà tặng là 10% số tiền mua.
30. Liệt kê những nhân viên không tham gia bán hàng trong thờ i gian qua.
31. Liệt kê những mặt hàng chưa bán đượ c trong thờ i gian qua.
5) Thự c hiệ n các biể u mẫ u (Form) : Hãy dùng công cụ Wizard để tạ o biể u mẫ u1. Tạo các biểu mẫu cho bảng NhanVien, KhachHang, MatHang
Ví dụ form NhanVien.WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 134/147
132
Thao tác: Nhậ p mớ i một số nhân viên và quan sát sự thay đổi của dữ liệu trong
bảng NhanVien.
2. Tạo biểu mẫu Loại Mặt Hàng dạng Main/Sub Form. Trong đó Form chính : bảng
LoaiMatHang, Form phụ : bảng MatHang.
Thao tác: Nhậ p mớ i một số loại mặt hàng và một số mặt hàng, quan sát sự thay đổicủa dữ liệu trong bảng LoaiMH và MatHang.
3. Tạo biểu mẫu Hóa Đơn Bán dạng Main/Sub Form để theo dõi chi tiết đơn đặt
hàng. Trong đó Form Main lấy dữ liệu từ các bảng: HoaDonBan , KhachHang,
NhanVien. Form Sub lấy dữ liệu từ Query 5.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 135/147
133
Thao tác: Bổ sung thêm một số chi tiết bán cho hóa đơn, quan sát sự thay đổi của
số tiền tổng cộng hóa đơn
6) Thự c hiệ n các báo cáo (Report): Hãy dùng công cụ Wizard để tạ o báo cáo
1. Lậ p báo cáo hiển thị danh sách mặt hàng.
2. Tạo report Hóa Đơn Bán để in được hóa đơn ra giấy, sử dụng dữ liệu từ Query 19,
và Query 5.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 136/147
134
3. Lậ p báo cáo Danh Sách Nhân Viên Bán Hàng để theo dõi quá trình bán hàng của
nhân viên. Dữ liệu lấy từ bảng NhanVien và Query 6.
4. Lậ p báo cáo Tổng Hợ p Bán Hàng để theo dõi doanh số từng mặt hàng. Dữ liệu lấytừ bảng MatHang và Query 5.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 137/147
135
9.3. Bài tập 3 – Quản lý Cử a hàng bán thiết bị máy vi tính
Tạo file CSDL có tên là ViTinh.accdb
1) Thiế t kế cơ sở d ữ liệu gồ m các bả ng sau :
KhachHang(MaKH, TenKH, DiaChi, Phone)
Field Name Data Type Description Field Properties
MaKH Short Text Mã khách hàng Field size : 2
TenKH Short Text Tên khách hàng Field size : 50
DiaChi Short Text Địa chỉ khách hàng Field Size: 70
Dthoai Short Text Số điện thoại khách hàng Field Size: 15
NhanVien(MaNV, HoNV, TenNV, NgayVaoLam, Luong, MaPB)
Field Name Data Type Description Field Properties
MaNV Short Text Mã số nhân viên Field size : 3
Input Mask : L00
Holot Short Text Họ và tên lót nhân viên Field size : 50 Ten Short Text Tên nhân viên Field size : 10
CoGD Yes/No Đã lập gia đ ình hay chưa Format:: ;”Co”;”Chua”
TDVH Short Text Trình độ văn hóa
Phai Yes/No Giới tính Format: ;”Nam”;”Nu”;”Khac”
LCB Number Lương cơ bản FieldSize: Long Interger
NgaySinh DateTime Ngày sinh Format: Short Date
NgayNV DateTime Ngày vào làm việc Format: Short Date
Socon Number Số con FieldSize: Byte
Hinh OLE Object Hình ảnh đại diện
SanPham(MaSP, TenSp, Dongia, DVT)
Field Name Data Type Description Field Properties
MaSP Short Text Mã sản phẩm Field size : 5
TenSP Short Text Tên sản phẩm Field size : 50
Dongia Number Đơn giá Field size : Long Integer
DVT Short Text Đơn vị tính Field size: 10
ChamCong(MaNV, NgayCong, NgayPhep, NgoaiGio)
Field Name Data Type Description Field Properties
MaNV Short Text Mã nhân viên Field size : 3
LOOKUP Row Source : NhanVien
NgayCong Number Số ngày công Field Size: Long Integer
NgayPhep Number Số ngày phép Field Size: Long Integer
NgoaiGio Number Số ngày làm việc ngoài giờ Field Size: Integer
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 138/147
136
HoaDon(SoHD, MaKh, MaSp, MaNV , Ngay, LoaiVT, SoLuong, DonGia, HTTT)
Field Name Data Type Description Field Properties
SoHD Autonumber Số hóa đơn FieldSize: Long Integer
MaKH Short Text Mã khách hàng Field size : 5
LOOKUP Row Source : NhanVien
MaSp Short Text Mã sản phẩm Field size : 5
LOOKUP Row Source : SanPham
MaNV Short Text Mã nhân viên Field size : 3
LOOKUP Row Source : NhanVien
Ngay Date Time Ngày bán hàng Field Size: Short Date
LoaiVT Short Text Loại vật tư (nhập hoặc
xuấ t)
Field Size: 1
Format: ;”N”;”X”
SoLuong Number Số lượng Field Size: Long Interger
DonGia Number Đơn giá Field Size: Long Integer
HTTT Short Text Hình thứ c thanh toán (Tm:
tiền mặt, Tp: tín phiế u,
No: Nợ)
Field Size: 2
Format: ;”TM”;”TP”;”No”
2) Thiế t l ậ p mố i quan hệ giữ a các bảng đ ã cho
3) Nhậ p d ữ liệu cho các bả ng
SanPham
WW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 139/147
137
NhanVien
KhachHang
ChamCong
HoaDon
4) Thự c hiệ n các truy vấ n sau :
1. Cho biết mã số, tên, số lượ ng, và hình thức thanh toán của các sản phẩm đã đư ợ cxuất trong năm 2012.
2. Cho biết thông tin về các nhân viên nam lớn hơn 30 tuổi và làm việc hơn 20 ngàycông gồm: mã nhân viên, họ và tên, tình tr ạng hôn nhân, trìnhđ ộ văn hóa, số con,
ngày công, ngày phép và ngoài giờ .
3. Cho biết mã nhân viên, họ và tên, giới tính, lương cơ bản, và lương cho các nhân
viên. Với lương được tính như sau: WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 140/147
138
Luong = Lcb*(NgayCong + NgayPhep) + NgoaiGio*2*Lcb + PhuCapCon
PhuCapCon = Nếu số con > 3 thì phụ cấ p 200.000, nếu số con >2 thì phụ cấp đượ c100.000, còn lại phụ cấ p 50000
4. Xây dựng truy vấn sao cho khi nhậ p vào mã số nhân viên bất k ỳ thì biết đượ c chi
tiết các hóa đơn mà nhân viên này đã th ực hiện: mã số hóa đơn, tên sản phẩm, tênkhách hàng, ngày thực hiện, loại vật tư, số lượng, đơn giá, hình thức thanh toán.
5. Cho biết công ty có bao nhiêu nhân viên nam có trình độ đại học.
6. Cho biết tổng số lượng hàng đã đượ c xuất vào trong năm 2013.
7. Thống kê số lượ ng nhậ p/xuất của từng mặt hàng như trong hình:
8. Thống kê trình độ học vấn theo giớ i tính của các nhân viên trong công ty như hình:
9. Tăng đơn giá 15% cho các sản phẩm có đơn giá < 20.
10. Tăng lương cơ bản của nhân viên có trìnhđ ộ đại học lên 10%, trìnhđ ộ thạc s ĩ lên15%.
5) Thự c hiệ n các biể u mẫ u (Form) :
1. Tạo form frmThongTinNhanVien để hiển thị các thông tin về nhân viên nha: Mã
nhân viên, họ và tên, phái, trình độ văn hóa, số con và hình.
2. Thiết k ế form frmNhanVienVaHoaDon hiển thị chi tiết các hóa đơn mà mỗi nhânviên đã thực hiện nhậ p xuất.
3. Thiết k ế form frmChamCongNhanVien có dạng như sau.
Yêu cầuKhi chchọn bất cứ nhân viên nào từ combo box mã nhân viên thì các thông tin về họ tên,,
hình, ngày công, ngày phép, ngoài giờ , ngày công thực của nhân viên đó đượ c hiển thị tương ứng. Vớ i:
Ngaycongthuc= NgayCong + NgayPhep + NgoaiGio * 2WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 141/147
139
6) Thự c hiệ n các báo cáo (Report):
1. Tạo report rptNhanVienXuatHang để báo cáo chi tiết về tình hình xuất hàng của mỗinhân viên trong cơ sở dữ liệu như sau (hình dưới đây chri in vài hàng để làm mẫu):
2. Tạo report rptChiTietNhapXuat để báo cáo chi tiết nhậ p xuất của mỗi khách hàng
trong cơ sở dữ liệu. Báo cáo gồm các thông tin sau: tên khách hàng, số hóa đơn, mã
sản phẩm, ngày nhậ p xuất, loại vật tư (nhậ p hay xuất), số lượ ng, hình thức thanh toán
và thành tiền (thành tiền = số lượng * đơn giá).
Trong báo cáo cho biết tổng thành tiền của mỗi khách hàng và cuối báo cáo có tổngthành tiền của tất cả các khách hàng.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 142/147
140WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 143/147
141
9.4. Bài tập 4 – Quản lý Dự án
Tạo file CSDL có tên là DuAn.accdb
1) Thiế t kế cơ sở d ữ liệu gồ m các bả ng sau:
PhongBan(MaPB, TenPB)
Field Name Data Type Description Field Properties
MaPB Short Text Mã phòng ban Field size : 2
TenPhongBan Short Text Tên phòng ban Field size : 50
NhanVien(MaNV, HoNV, TenNV, NgayVaoLam, Luong, MaPB)
Field Name Data Type Description Field Properties
MaNV Short Text Mã số nhân viên Field size : 3
Input Mask : L00
HoNV Short Text Họ nhân viên Field size : 50 TenNV Short Text Tên nhân viên Field size : 10
GioiTinhNam Yes/No Giới tính nhân viên
NgayVaoLam DateTime Ngày nhân viên vào làm
việc tại công ty
Format: ShortDate
Luong Currency Lương nhân viên Format: Standard
Decimal Places: 0
MaPB Short Text Mã phòng ban của nhân
viên
FieldSize: 2
LOOKUP Row Source : PhongBan
DuAn(MaDA, TenDA, DiaDiem, NgayBD, MaPB)
Field Name Data Type Description Field Properties
MaDA Short Text Mã số dự án Field size : 2
Input Mask : L0
TenDA Short Text Tên dự án Field size : 50
DiaDiem Short Text Địa điểm thự c hiện dự
án
Field size : 50
NgayBD DateTime Ngày bắt đầu dự án Format: ShortDate
MaPB Short Text Mã phòng ban quản lý
dự án
Field size : 2
LOOKUP Row Source : PhongBan
PhanCong(MaDA, MaNV, SoGio)
Field Name Data Type Description Field Properties
MaDA Short Text Mã dự án Field size : 2
LOOKUP Row Source : DuAn
MaNV Short Text Mã nhân viên FieldSize: 3
LOOKUP Row Source : NhanVien
SoGio Number Số giờ nhân viên được phân
công thự c hiện dự án
FieldSize: Decimal
Precision:18, Scale:1
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 144/147
142
ThanNhan(MaNV, TenThanNhan, NgaySinh, QuanHe)
Field Name Data Type Description Field Properties
MaNV Short Text Mã nhân viên FieldSize: 3
LOOKUP Row Source : NhanVien
TenThanNhan Short Text Tên thân nhân của
nhân viên
Field size : 50
NgaySinh DateTime Ngày sinh của thân
nhân
Format: ShortDate
QuanHe Short Text Mối quan hệ của thân
nhân và nhân viên
Field size : 30
2) Thiế t l ậ p mố i quan hệ giữ a các bảng đ ã cho
3) Nhậ p d ữ liệu cho các bả ng
PhongBanMaPB TenPB
KT Kế toán
KD Kinh doanh
PX Phân xưởng
NhanVien
MaNV HoNV TenNV GioiTinhNam NgayVaoLam Luong MaPB
N01 Hoài Nam X 12/10/1991 3.500.000 KD
V02 Bình Phương 30/07/1985 4.000.000 KT
N03 Mỹ Hòa X 15/06/1987 5.000.000 KD
V04 Phương Anh 08/03/1990 5.000.000 KT
N05 Sơn Thủy 23/07/1989 3.500.000 PX
DuAn
MaDA TenDA DiaDiem NgayBD MaPB
D1 Hồ Con Rùa Sài Gòn 27/03/2011 KD
D2 Chùa Tây Phương Hà Nội 10/06/2009 KD
D3 Chùa Long Sơn Nha Trang 16/08/2011 KD
D4 Dinh Bảo Đại Nha Trang 22/01/2010 KT
D5 Chùa Th ầy Hà Nội 23/05/2010 KT
PhanCong
MaDA MaNV SoGio
D1 N01 2
D1 N03 5
D2 N01 6
D2 V02 8
D3 V02 10
D3 V04 7
D3 N01 9
D4 N03 4WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 145/147
143
ThanNhan
MaNV TenThanNhan NgaySinh QuanHe
N01 Nam 12/10/1990 Con gái
N01 Quốc 22/01/1981 Con trai
V02 Sơn 17/10/2001 Vợ chồng
V04 Việt 03/12/2002 Con trai
V04 Nam 10/02/1985 Vợ chồng
4) Thự c hiệ n các truy vấ n sau :
1. Tìm các nhân viên lương ít hơn 4.000.000 ở phòng ‘Kinh doanh’ hoặc ít hơn5.000.000 ở phòng ‘K ế toán’.
2. Tìm tên những nữ nhân viên và danh sách ngườ i thân của họ.
3. Liệt kê các đề án ở "Nha Trang" cùng vớ i tên phòng ban chủ trì đề án.
4. Liệt kê những nhân viên và tên đề án mà nhân viên đó tham gia, với điều kiện đề án
đó do một phòng ban khác quản lý.
5. Vớ i mỗi đề án thực hiện tại ‘Nha Trang’, liệt kê tên đề án và tổng số giờ làm việc của
tất cả các nhân viên tham dự đề án đó.
6. Vớ i các phòng ban có mức lương trung bình trên 3.500.000, liệt kê tên phòng ban và
số lượ ng nhân viên của phòng ban đó.
7. Cho biết lương trung bình của tất cả các nữ nhân viên.
8. Vớ i mỗi giờ làm việc cho từng dự án, một nhân viên sẽ được thưở ng 1% tiền lương.Tính số tiền thưở ng của từng nhân viên theo từng dự án. Gồm MaNV, HoTen,
Luong, MaDA, TenDA, SoGio, TienThuong.
9. Vớ i mỗi giờ làm việc cho từng dự án, một nhân viên sẽ được thưở ng 1% tiền lương.Tính tổng số tiền thưở ng của từng dự án.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 146/147
144
10. Tính tổng số giờ làm việc của từng nhân viên theo từng dự án tại ‘Hà Nội’
(crosstab).
5) Thự c hiệ n các biể u mẫ u (Form) : Hãy dùng công cụ Wizard để tạ o biể u mẫ u1. Tạo các biểu mẫu dạng columnar cho bảng PhongBan, DuAn
2. Tạo biểu mẫu Main/Sub Form cho bảng NhanVien (main) và ThanNhan (sub)
3. Tạo biểu mẫu Main/Sub Form cho bảng DuAn (main) và NhanVien (sub)
6) Thự c hiệ n các báo cáo (Report): Hãy dùng công cụ Wizard để tạ o báo cáo
1. Lậ p báo cáo bảng NhanVien.
2. Lậ p báo cáo thống kê các dự án, mỗi dự án có những nhân viên nào tham gia vớ i số
giờ là bao nhiêu.
WWW D Y
KEMQUY
NHON UCO
Z COM
8/12/2019 Giáo trình Tin học ứng dụng dành cho ngành kinh tế Tác giả: BM. Hệ thống Thông tin, Khoa CNTT, ĐH Nha Trang,…
http://slidepdf.com/reader/full/giao-trinh-tin-hoc-ung-dung-danh-cho-nganh-kinh-te-tac-gia 147/147
TÀI LIỆU THAM KHẢO
[1] Cơ sở dữ liệu 1, Nguyễn Đứ c Thuần, Trường Đại học Nha Trang, 2009.
[2] Hệ quản tr ị CSDL Access, Nguyễ n Qu ỳnh Diệ p, Khoa CNTT Trườ ngĐại học Sư Phạm Hà nội, 2007.
[3] Microsoft Access 2013 Step By Step, Joyce Cox and Joan Lambert ,
Microsoft Press, 2013.
[4] Fundamental of Database System 4th Edition, Elmasri - Navathe, Addison
Wesley, 2003.
YNHON
UCOZ CO
M