Tải bản đầy đủ (.pdf) (18 trang)

Giáo trình tin học quản lý phần 6 pot

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

Phần 2: Sử dụng Access trong quản lý

PHẦN 2
SỬ DỤNG ACCESS TRONG QUẢN LÝ


GIỚI THIỆU
Như đã nói ở trên, Excel là một công cụ rất mạnh của Microsoft trong việc giải quyết các
bài toán quản lý, cần đến các khả năng tính toán đa dạng. Tuy nhiên, nhược điểm của Excel là
không giải quyết được các bài toán cần phải quản lý nhiều dữ liệu và cần đến khả năng lập trình
mạnh. Để giải quyết vấn đề này, Microsoft cung cấp một công cụ là Access, giúp cho việc quản trị
các hệ cơ sở dữ liệu được thực hiện dễ dàng và nhanh chóng.
Phần 2 giới thiệu với bạn đọc việc sử dụng Access trong công tác quản lý. Cụ thể hơn, đó là
việc sử dụng Access để quản lý các cơ sở dữ liệu, bao gồm các công việc như tạo các bảng dữ liệu,
thiết lập quan hệ giữa các bảng, tạo các truy vấn, các form nhập liệu, và cuối cùng là tạo các báo
cáo thống kê. Thực chất, Access không phải là một hệ quản trị CSDL quy mô lớn, nhưng cũng
khá mạnh, cả về khía cạnh lập trình và quản lý dữ liệu. Việc sử dụng hết các tính năng của Access
có thể cho phép tạo ra các ứng dụng tin học chuyên nghiệp thực sự. Ngoài ra, Access cũng là một
công cụ được ưa thích của các lập trình viên chuyên nghiệp vì tính tiện lợi, dễ sử dụng. Tuy nhiên,
cuốn tài liệu được biên soạn chủ yếu dành cho cán bộ, sinh viên không phải chuyên ngành tin học,
do vậy chủ yếu chú trọng vào việc sử dụng các công cụ tạo sẵn của Access để tạo các ứng dụng
quản trị dữ liệu không quá phức tạp. Tài liệu cũng không tập trung sâu vào khía cạnh lập trình
(tuy nhiên vẫn giới thiệu một số lệnh cơ bản và quan trọng nhất về lập trình VBA và DAO), và
không đề cập đến các bài toán có mối quan hệ dữ liệu phức tạp, vì để giải quyết các bài toán này,
bạn đọc phải có kiến thức về phân tích thiết kế hệ thống.
Sau khi giới thiệu về các công cụ tạo và quản lý dữ liệu trong Access, phần 2 cũng hướng
dẫn bạn đọc thực hiện 2 ví dụ về quản lý dữ liệu, đó là bài toán quản lý nhân sự và quản lý bán
hàng (ở mức đơn giản). Trong 2 ví dụ này, ví dụ thứ 2 được coi như 1 bài tập lớn dành cho bạn
đọc, với các gợi ý và hướng dẫn ở mức sơ lược.
Mục tiêu
Kết thúc phần này, sinh viên cần:


- Nắm được các khái niệm về dữ liệu và CSDL
- Nắm được cách tạo 1 CSDL, tạo các bảng dữ liệu, tạo các liên kết dữ liệu, tạo các truy
vấn, form nhập liệu, và các báo cáo thống kê.
- Nắm được tổng quan về lập trình VBA và lập trình CSDL sử dụng DAO.
- Hiểu và xây dựng được bài toán quản lý nhân sự (mức đơn giản), có khả năng mở rộng
chức năng của bài toán trên.
- Thực hiện được bài toán quản lý bán hàng với các yêu cầu như trong tài liệu đã nêu.

93
Phần 2: Sử dụng Access trong quản lý
Cách trình bày của phần này
Phần này được trình bày theo dạng giới thiệu, hướng dẫn sử dụng và minh họa bằng một ví
dụ thực tế, cụ thể. Trong phần hướng dẫn thực hiện ví dụ, bài toán được phân tích từ đầu, và các
bước để xây dựng 1 ứng dụng quản lý dữ liệu được hướng dẫn thực hiện cụ thể cho tới khi hoàn
thành 1 ứng dụng hoàn chỉnh. Ví dụ thứ 2 được hướng dẫn và gợi ý sơ lược các chức năng,
phương pháp thực hiện v.v. qua đó bạn đọc có thể tự hoàn chỉnh ví dụ này.
Phần cuối là tóm tắt nội dung chương và các bài tập ôn tập dưới dạng câu hỏi trắc nghiệm
hoặc bài tập tự giải.
Phương pháp học
Để học phần này một cách hiệu quả, sinh viên nên học theo cách sau:
- Đọc kỹ và hiểu cách giải thích của phần lý thuyết hoặc hướng dẫn. Tìm hiểu ý nghĩa của
phần giải thích lý thuyết này. Cố gắng nắm được các ví dụ minh họa.
- Suy nghĩ, tìm cách mở rộng các ví dụ minh họa. Nghĩ ra các ví dụ tương tự để thực hiện.
- Phần hướng dẫn thực hiện ví dụ, theo các bước hướng dẫn, đọc kỹ, hiểu và thực hiện trên
máy cho tới bước cuối cùng. Hoàn thành và nghiên cứu việc mở rộng ví dụ.
- Đối với bài tập tự giải, đọc gợi ý, hướng dẫn, đồng thời tham khảo phần các phần trên để
hoàn thành ví dụ.
- Đọc phần tóm tắt để tổng hợp kiến thức. Làm các bài tập ôn tập, đọc lại, nghiên cứu lại
những phần kiến thức chưa nắm vững.
Yêu cầu của phần này

Để hiểu được các kiến thức trong phần này, bạn đọc cần có kiến thức cơ sở về tin học, một
số kiến thức về sử dụng Access căn bản. Ngoài ra, cần có các kiến thức cơ sở về lập trình và quản
lý dữ liệu, có kỹ năng phân tích bài toán.

94
Phần 2: Sử dụng Access trong quản lý

CHƯƠNG 4: CÁC KIẾN THỨC CƠ BẢN VỀ ACCESS


Về bản chất, Access là một hệ quản trị cơ sở dữ liệu (DBMS - Database Management
System). Cũng giống như các sản phẩm khác thuộc lĩnh vực này, Access có thể lưu trữ và lấy ra
thông tin (thường được gọi là dữ liệu - Data), trình bày các thông tin được yêu cầu và tự động lặp
lại các thao tác khác. Với Access, ta có thể lưu trữ thông tin theo định dạng mong muốn, dễ dàng
tạo ra các mẫu nhập liệu (input form), đồng thời còn có thể dễ dàng lấy và hiển thị thông tin theo
bất kỳ kiểu gì mong muốn thông qua các báo cáo.
Access được coi là một ứng dụng cơ sở dữ liệu cá nhân rất mạnh trong hệ điều hành
Windows, thậm chí nó còn được coi là ứng dụng cơ sở dữ liệu cá nhân mạnh nhất từ trước đến
nay. Điều này có được là bởi vì Access và Windows đều là sản phẩm của Microsoft, do đó nó
được thừa hưởng và kế thừa rất nhiều tính năng của Windows như: Dễ dàng chép và dán (copy
and paste) dữ liệu từ bất kỳ nơi đâu trong Access, từ Windows sang Access và ngược lại. Access
có rất nhiều phiên bản, tương ứng với mọi phiên bản của Windows, từ Windows98, Windows ME,
Windows XP đến dòng WindowsNT (2000, 2003).
4.1 MỞ ĐẦU
4.1.1 Khởi động và cài đặt Access
Để bắt đầu làm việc với MS Access, chúng ta phải khởi động chương trình Access. Trong các
phiên bản gần đây, Microsoft ghép Access vào như một thành phần của bộ Microsoft Office. Vì vậy,
khi cài đặt Office, nếu đã lựa chọn cài đặt rồi thì một cách ngầm định Access sẽ được cài vào cùng thư
mục đã cài MS Office. Nếu chưa cài đặt Access trong lần cài đặt Office trước đó, có thể sử dụng công
cụ Add/Remove Programs của Windows trong cửa sổ Control Panel.



95
Phần 2: Sử dụng Access trong quản lý
Để cài thêm Access, chọn chương trình Microsoft Office và chọn nút lệnh Change. Khi đó
Windows sẽ hỏi ta muốn làm gì với bộ chương trình Office đã cài đặt:

Trong cửa sổ trên, có 3 lựa chọn là: Add or Remove Features (Thêm hoặc gỡ bỏ các thành
phần), Reinstall or Repair (Cài lại hoặc sửa chữa) và Uninstall (Gỡ toàn bộ chương trình). Ở đây,
chọn lựa chọn thứ nhất và bấm Next để tiếp tục.

Windows sẽ mở ra một cửa sổ, liệt kê tất cả các thành phần có trong bộ Office. Tùy từng
phiên bản mà Office sẽ có nhiều hoặc ít thành phần. Tài liệu này trình bày về sử dụng bộ Office
2003. Nếu bạn đọc sử dụng bộ Office phiên bản khác, có thể một số giao diện sẽ khác trong tài
liệu này đôi chút. Tuy nhiên các bước cơ bản cũng như các ứng dụng cơ bản của bộ Office như
Word, Excel, PowerPoint, Outlook và Access thì không thể thiếu.
Khi Access chưa được cài đặt, cần chọn cài thêm Access bằng cách chọn ô Access trong
cửa sổ lựa chọn và nhấn nút Update. Khi đó, Windows sẽ tiến hành cài đặt thêm Access.

96
Phần 2: Sử dụng Access trong quản lý
Thực hiện theo các chỉ dẫn của Windows đến khi việc cài đặt được hoàn tất. Lúc này, ta có
thể bắt đầu sử dụng Access để tạo ra ứng dụng của mình.
4.1.2 Tạo 1 cơ sở dữ liệu trống
Như đã nói ở trên, Access là một thành phần của MS Office nên có thể được khởi động giống
như khởi động Word, Excel. Từ Start menu, chọn Programs > Microsoft Office > Microsof Access.
Khi đó Windows sẽ khởi động Access. Một cửa sổ Access “trống” được mở ra để người
dùng có thể bắt đầu công việc của mình. Tại đây, có thể mở ứng dụng sẵn có hay tạo một ứng
dụng hoàn toàn mới.
Có nhiều cách để tạo một cơ sở dữ liệu mới trong Access. Cách thông thường nhất là từ

menu chính của chương trình, chọn File > New. Cách thứ 2 là click chuột vào biểu tượng “New” -
đây là biểu tượng hình 1 trang văn bản trống nằm ngay dưới menu File. Dù chọn cách nào thì
Access cũng đưa ra một loạt các lựa chọn để cho phép người dùng chọn cách tạo một cơ sở dữ
liệu mới. Cụ thể, Access sẽ đưa ra các lựa chọn như trong hình sau:

Click chuột vào lựa chọn “Blank database” (cơ sở dữ liệu trống) để yêu cầu Access tạo ra
một cơ sở dữ liệu mới hoàn toàn.


97
Phần 2: Sử dụng Access trong quản lý
Gõ tên file và nơi muốn lưu trữ file cơ sở dữ liệu và bấm nút lệnh “Create”. Khi đó, Access
sẽ tạo ra một tệp cơ sở dữ liệu trống để người dùng có thể bắt đầu làm việc.
Cũng tương tự như các dạng tệp khác của Word, Excel hay các tệp trên MS DOS mà có thể
đã rất quen thuộc với bạn đọc, Access cũng tạo ra một tệp để lưu trữ cơ sở dữ liệu. Tuy nhiên đây
là một tệp đặc biệt, nó chứa các đối tượng như bảng, truy vấn, mẫu nhập, các báo cáo và các đoạn
mã chương trình. Tệp cơ sở dữ liệu khi được tạo ra thường có độ lớn khoảng 92 Kb và được tăng
dần theo số lượng dữ liệu được đưa vào.
4.1.3 Các khái niệm cơ bản trước khi bắt đầu với Access.
Như vậy, chúng ta đã tạo được một cơ sở dữ liệu trống và có thể bắt đầu việc lập một ứng
dụng với Access. Trước khi bắt đầu, chúng ta sẽ xem xét một số khái niệm rất cơ bản của một hệ
quản trị cơ sở dữ liệu.
Trước tiên là khái niệm Bảng - Table. Có thể nói, bảng là một tập hợp các dòng và các cột
chứa dữ liệu, trong đó, mỗi cột là một thuộc tính của bảng, mỗi dòng chứa một bộ dữ liệu của
bảng. Ví dụ, chúng ta có một danh sách học sinh gồm 50 học sinh. Các thông tin về mỗi học sinh
bao gồm: Số thứ tự, Họ và tên, Ngày sinh, Giới tính. Như vậy, có thể tạo ra một bảng gồm có 4
cột và 50 dòng (không tính dòng chứa tiêu đề của mỗi cột). Cụ thể bảng đó sẽ như sau:

STT Họ và tên Ngày sinh Giới tính
1 Nguyễn Văn An 10/10/1987 Nam

2 Lê Thị Bình 15/02/1987 Nữ
… … … …
50 Vũ Thị Xuân 17/09/1987 Nữ
Từ ví dụ trên, có thể thấy một điều là: Mọi dữ liệu cần lưu trữ trong thực tế đều có thể được
biểu diễn và lưu trữ dưới dạng bảng. Và với cấu trúc bảng như thế, việc tìm kiếm dữ liệu cũng
như xử lý dữ liệu để kết xuất các báo cáo sẽ được thực hiện rất dễ dàng và nhanh gọn. Trong
Access, bảng là một đối tượng được tạo ra từ các dòng và cột như đã nói ở trên với mục đích
chính là lưu trữ dữ liệu phục vụ cho ứng dụng.
Khái niệm thứ 2 mà chúng ta cần tìm hiểu là các khái niệm khóa (key) và khóa chính
(primery key).
Trong các hệ quản trị cơ sở dữ liệu quan hệ, khóa là một khái niệm chỉ một hoặc nhiều cột
trong bảng mà từ các cột đó, có thể xác định được các cột khác trong bảng. Để hiểu rõ hơn về điều
này, trở lại với ví dụ về bảng “Danh sách học sinh” ở trên. Bảng này gồm có 4 trường (cột) là Số
thứ tự, Họ và Tên, Ngày sinh và Giới tính. Chúng ta có thể thấy, trong một lớp học, chỉ cần biết
tên của một học sinh, có thể tìm ra được các thông tin còn lại như ngày sinh, giới tính của học
sinh đó. Và như vậy, họ tên của học sinh có thể được coi là khóa vì nó có thể được dùng để xác
định các thuộc tính còn lại.
Tuy nhiên, nếu trong lớp học có 2 hoặc nhiều học sinh có tên trùng nhau thì việc xác định
các thuộc tính khác của một học sinh dựa vào tên sẽ không đúng. Khi đó, người ta đưa ra một khái

98
Phần 2: Sử dụng Access trong quản lý
niệm “Khóa chính”. Khóa chính của một bảng là một trường mà giá trị của nó là duy nhất trong
toàn bộ bảng (không thể có giá trị 2 giá trị giống nhau trên 2 dòng khác nhau của một bảng) và
thuộc tính này có tính chất của khóa (nghĩa là có thể được sử dụng để xác định các thuộc tính còn
lại của bảng). Trở lại ví dụ trên, chúng ta không thể sử dụng “Họ và tên” để làm khóa chính của
bảng vì nó có thể trùng nhau, do vậy ta thêm vào một trường (cột) nữa gọi là “Mã học sinh”. Mã
này là duy nhất cho mỗi học sinh và như vậy, nó có thể được sử dụng làm khóa chính của bảng.
Tiếp theo, chúng ta sẽ tìm hiểu khái niệm “Liên kết” trong cơ sở dữ liệu quan hệ nói chung
và trong Access nói riêng. Liên kết là một kỹ thuật trong cơ sở dữ liệu quan hệ dùng để “nối” 2

hay nhiều bảng dữ liệu với nhau theo một thiết kế cho trước để đảm bảo được tính lưu trữ cũng
như việc truy vấn (tìm kiếm) dữ liệu sau này. Trong Access, có hai kiểu liên kết là 1-1 và 1-n. Ý
nghĩa của các kiểu liên kết trên như sau:
- Liên kết 1-1: Với kiểu liên kết này, ở 2 bảng tham gia vào liên kết sẽ có một trường giống
nhau. Trong đó, ở 1 bảng, trường giống nhau đóng vai trò là khóa chính và ở bảng còn lại,
trường giống nhau được thêm vào để tạo liên kết. Với liên kết kiểu này, mỗi bản ghi trong
một bảng sẽ có 1 và chỉ 1 bản ghi tương ứng được tìm thấy trong bảng bên kia bằng cách
so sánh giá trị ở 2 cột giống nhau trong 2 bảng. Ví dụ, ta có 2 bảng “Điểm” và “Phách”
với liên kết 1-1 như sau:

Và dữ liệu được lưu trữ trong hai bảng như sau:

Rõ ràng, ta thấy mỗi dòng dữ liệu (1 bản ghi) trong bảng Phách tương ứng với 1 và chỉ 1
dòng dữ liệu trên bảng Điểm và ngược lại.

99
Phần 2: Sử dụng Access trong quản lý
- Liên kết 1-n: Là liên kết mà ở đó, một bản ghi trong 1 bảng (gọi là bảng phía 1) có thể
liên kết với 1 hoặc nhiều bản ghi ở bảng kia (gọi là bảng phía n). Ngược lại, một bản ghi
trong bảng phía n chỉ có thể liên kết với 1 và chỉ 1 bản ghi trong bảng phía 1.
Ví dụ có 2 bảng Phòng và Nhân viên với liên kết 1-n như sau:

Và dữ liệu trong 2 bảng:

Ở đây, có thể dễ dàng nhận thấy, một phòng có thể có nhiều nhân viên nhưng mỗi nhân viên chỉ
có thể thuộc về 1 phòng duy nhất. Do đó, liên kết giữa hai bảng Phòng và Nhân viên là liên kết 1-n.
4.2 LẬP BẢNG DỮ LIỆU (TABLE)
Ở phần trên chúng ta đã tìm hiểu cách tạo một cơ sở dữ liệu trống và lưu trữ nó trong ổ đĩa
cứng của máy tính. Bây giờ chúng ta bắt đầu tiến hành việc tạo các đối tượng trong cơ sở dữ liệu.
Trước hết là việc tạo các bảng để lưu trữ dữ liệu.

Trước khi bắt tay vào việc tạo một cơ sở dữ liệu và các đối tượng trong đó, người dùng nhất
thiết phải trải qua bước phân tích và thiết kế cơ sở dữ liệu của mình trên giấy. Điều này có nghĩa
là, người dùng phải dự tính trước được các đối tượng (ở đây là bảng), các trường dữ liệu trong
từng bảng, các mối quan hệ giữa các bảng, kiểu dữ liệu v.v. Sau đó mới tiến hành tạo cơ sở dữ
liệu trên Access.
Để giúp các bạn tiện theo dõi, chúng ta xem xét một ví dụ cụ thể, thường gặp trong thực tế
như sau: Giả sử chúng ta cần tạo một cơ sở dữ liệu quản lý việc tuyển sinh của một trường đại học.
Cơ sở dữ liệu này phải đáp ứng được các nghiệp vụ cơ bản của một qui trình tuyển sinh thực sự.
Nghĩa là phải quản lý được danh sách thí sinh, điểm của thí sinh, và đặc biệt, đảm bảo bí mật giữa
điểm của thí sinh và tên.
Từ các yêu cầu nghiệp vụ cơ bản như trên, chúng ta tiến hành việc thiết kế cơ sở dữ liệu.
Trước tiên, phải xác định xem những “đối tượng” nào cần được lưu trữ thông tin trong cơ sở dữ
liệu. Ở đây, chỉ có một đối tượng duy nhất là “Thí sinh”. Do đó, ta sẽ tạo một bảng để lưu trữ
thông tin về thí sinh. Bảng này có số trường bằng chính số “thông tin” về thí sinh mà ta dự định
quản lý, bao gồm: Họ tên, ngày sinh, giới tính, quê quán. Đến đây sẽ có một câu hỏi: Làm sao để
lưu trữ điểm thi của từng thí sinh? Chúng ta hoàn toàn có thể đưa thêm vào 3 trường dữ liệu để

100
Phần 2: Sử dụng Access trong quản lý
lưu trữ 3 điểm thi của từng thí sinh. Tuy nhiên như vậy cơ sở dữ liệu không đáp ứng được yêu cầu
nghiệp vụ của bài toán là đảm bảo tính bí mật giữa họ tên và điểm thi. Vì vậy, chúng ta phải tìm
cách nào đó để xử lý được yêu cầu này.
Để ý đến nghiệp vụ thực tế, chúng ta thấy trong mỗi bài thi của thí sinh có một nơi gọi là
“Số phách”. Số phách chính là một số duy nhất mà cán bộ lập phách tạo ra giữa 2 phần của 1 bài
thi để khi chấm thi người chấm không biết được thông tin gì về thí sinh ngoài số phách. Sau đó,
cán bộ phụ trách tuyển sinh sẽ lắp ghép lại 2 phần của bài thi theo số phách đã tạo trước đó để có
được điểm thi cho từng thí sinh. Ở đây, trong cơ sở dữ liệu của mình, chúng ta cũng làm theo cách
đó bằng cách thêm vào bảng “Thí sinh” một trường dữ liệu là “Số phách”. Trường này sẽ là khóa
chính của bảng. Tiếp theo, ta tạo ra một bảng để lưu giữ điểm và số phách của thí sinh. Ta gọi đó
là bảng “Phách - Điểm”. Bảng này chỉ gồm 4 trường là số phách và điểm 3 môn của thí sinh,

trong đó số phách cũng là khóa chính của bảng mới.
Như vậy ta đã hoàn thành bước thiết kế cơ sở dữ liệu. Bước tiếp theo sẽ là tạo các bảng
trong cơ sở dữ liệu trống đã được tạo ra ở bước trước.
Trở lại với phần tạo cơ sở dữ liệu ở trên, chúng ta đã có một cơ sở dữ liệu có tên là
“My_First_DB”. Công việc của chúng ta bây giờ là tiến hành tạo các đối tượng cho cơ sở dữ liệu.
Nhìn vào hình dưới đây, có thể thấy trong một cơ sở dữ liệu, Access hỗ trợ các đối tượng sau:

- Các bảng (tables)
- Các truy vấn (Queries)
- Các mẫu nhập liệu (Forms)
- Các báo cáo (Reports)
- Các trang (pages)

101
Phần 2: Sử dụng Access trong quản lý
- Macros
- Các modules.
Để tạo một bảng dữ liệu, ở phần các đối tượng (Objects), chọn Tables. Khi đó ở cửa sổ bên
phải, Access sẽ liệt kê ra các lựa chọn giúp ta có thể bắt đầu tạo bảng. Thông thường, nên chọn
lựa chọn “Create table in design view”.
Khi kích đúp chuột vào lựa chọn “Create table in design view”, cửa sổ table sẽ mở ra, cho
phép ta bắt đầu tạo bảng. Trong cửa sổ này có 2 phần cần lưu ý:
- Phần thứ nhất là phần cho phép chúng ta khai báo các trường dữ liệu trong bảng. Các
thông tin cần khai báo bao gồm Field Name (tên trường), Data type (Kiểu dữ liệu) và
Description (mô tả của trường - đây là tùy chọn nhằm giúp ta nhanh chóng nhìn ra ý nghĩa
của trường dữ liệu trong trường hợp cơ sở dữ liệu rất lớn hoặc cho người khác xem cơ sở
dữ liệu có thể hiểu được ý nghĩa của trường dữ liệu đó).
- Phần thứ hai là phần thuộc tính của từng trường (Field Properties). Phần này cho phép
người dùng định nghĩa cụ thể và chi tiết hơn về kiểu dữ liệu, các ràng buộc cũng như một
số thuộc tính khác của trường dữ liệu mà chúng ta sẽ xem xét cụ thể ở phần sau.



Trong ví dụ đang xét, chúng ta dự định tạo 2 bảng. Bảng thứ nhất là bảng “Thí sinh”, gồm
có các trường dữ liệu: Số báo danh, Họ và tên, ngày sinh, Giới tính và Quê quán. Do đó, ta tạo các
trường dữ liệu cho bảng Thí sinh như sau:

102
Phần 2: Sử dụng Access trong quản lý

Trước tiên, chúng ta điền vào các trường dữ liệu mà ta đã thiết kế cho bảng “Thí sinh”. Ở phía
cột “Kiểu dữ liệu” (Data type), ta cứ để Access chọn ngầm định là kiểu dữ liệu chữ (Text). Sau khi đã
điền được đầy đủ các trường, chúng ta sẽ quay lại để thiết lập kiểu dữ liệu cho từng trường.
- Với trường “Số báo danh”, có thể tùy ý chọn kiểu dữ liệu cho trường này. Ở đây giả sử
“Số báo danh” là chữ và độ dài không quá 10 ký tự. Như vậy, thiết lập “Data type” là
“Text” và trên cửa sổ “Field properties”, thiết lập giá trị “Field size” (kích thước trường)
là 10.

- Tương tự như “Số báo danh”, các trường “Họ và Tên”, “Quê quán”, tiến hành thiết lập
kiểu dữ liệu là Text và độ dài của từng trường là tùy chọn. Như vậy, chỉ còn 2 trường là
Ngày sinh và Giới tính chưa được thiết lập kiểu dữ liệu.

103
Phần 2: Sử dụng Access trong quản lý
- Với trường Ngày sinh, Access hỗ trợ kiểu dữ liệu là Date/Time. Sau khi chọn kiểu dữ liệu
Date/Time cho Ngày sinh, thiết lập các thuộc tính của kiểu dữ liệu này bằng cách chọn
“Format” trong vùng “Field properties”. Access sẽ liệt kê các kiểu dữ liệu “Date/Time” để
lựa chọn tùy theo nhu cầu.

- Trường cuối cùng là trường Giới tính. Có rất nhiều cách để biểu diễn dữ liệu kiểu này. Ví
dụ, có thể trực tiếp sử dụng kiểu dữ liệu chữ với giới tính là: Nam và Nữ. Tuy nhiên,

trong quản lý dữ liệu, việc làm sao để giảm bớt được độ lớn của dữ liệu là rất quan trọng.
Do đó, thông thường người ta không dùng chữ để biểu diễn những trường dữ liệu kiểu
này mà có thể dùng kiểu lôgic với giá trị đúng (True) biểu diễn giới tính Nam và sai
(False) để biểu diễn giới tính Nữ. Ngoài ra, còn có thể sử dụng số nguyên 1 cho giới tính
Nam, 0 cho giới tính Nữ.
Tóm lại, Access hỗ trợ các kiểu dữ liệu được mô tả trong bảng sau:
STT Kiểu dữ liệu Độ lớn Dữ liệu thường lưu trữ
1 Number (Kiểu số) Tùy thuộc vào từng
loại số cụ thể
Số nguyên (ngắn, dài, nhỏ), số thực
2 Autonumber (Số tự động
tăng theo mỗi bản ghi)
4 bytes Thường dùng cho các cột cần lưu trữ
số thứ tự tăng dần
3 Text (Kiểu chữ) Tùy thuộc độ dài của
xâu chữ
Xâu ký tự
4 Yes/No 1 byte Lưu trữ các giá trị logic (các giá trị chỉ
có thể là đúng hoặc sai
5 Date/Time 8 bytes Lưu trữ dữ liệu ngày, giờ. Có nhiều
cách hiển thị khác nhau.
6 Currency Ký tự Lưu trữ dữ liệu kiểu tiền tệ với ký hiệu
của tiền tệ (ví dụ $)
7 Memo Tùy thuộc dữ liệu Lưu trữ dữ liệu có độ lớn tùy ý, thường
là các dữ liệu thuộc kiểu ghi nhớ
8 Hyperlink (Siêu liên kết) Tùy thuộc độ dài xâu Lưu trữ dữ liệu là các siêu liên kết
9 OLE Tùy thuộc đối tượng Lưu trữ các đối tượng như văn bản,
hình ảnh, âm thanh …

104

Phần 2: Sử dụng Access trong quản lý
Sau khi đã tạo đầy đủ các trường và thiết lập kiểu dữ liệu cho các trường xong, có thể thiết
lập khóa chính cho bảng bằng cách chọn trường dữ liệu dự định chọn làm khóa chính rồi bấm vào
biểu tượng có hình chìa khóa ở trên thanh công cụ

Và khi đó, biểu tượng chìa khóa sẽ được Access đặt vào bên cạnh trường dữ liệu được chọn.

Đến đây ta đã hoàn thành việc tạo bảng dữ liệu Thí sinh. Để ghi lại, bấm vào biểu tượng
“Save” trên thanh công cụ hoặc chọn menu File > Save. Thực hiện các bước tương tự, ta có thể dễ
dàng tạo nốt bảng Phách - Điểm cho cơ sở dữ liệu tuyển sinh.
4.3 LẬP CÁC TRUY VẤN DỮ LIỆU (QUERY)
Ở phần trước của tài liệu, chúng ta đã nghiên cứu cách để tạo ra các bảng để lưu trữ dữ liệu.
Phần này, chúng ta sẽ tiếp tục tìm hiểu các kỹ thuật truy vấn dữ liệu. Truy vấn dữ liệu là một kỹ
thuật mà người sử dụng thao tác trên cơ sở dữ liệu để lấy ra các thông tin mà mình mong muốn.
Cũng như mọi hệ quản trị cơ sở dữ liệu khác, Access hỗ trợ hầu hết các kiểu truy vấn dữ liệu như
lọc - trích - hiển thị, tổng hợp - thống kê, thêm - xóa - sửa dữ liệu v.v. Vì vậy có nhiều loại truy
vấn tồn tại để xử lý các yêu cầu trên. Access cung cấp cho người dùng 7 loại truy vấn. Đó là:
- Select query.
- Total query.
- Crosstab query.
- Append query.
- Delete query.
- Update query.
- Create table query.
Về bản chất, truy vấn là một câu lệnh SQL (Structured Query Language - Ngôn ngữ truy
vấn có cấu trúc), một ngôn ngữ được sử dụng ở hầu hết các hệ quản trị cơ sở dữ liệu hiện tại. Sau
đây chúng ta sẽ xem xét một số truy vấn điển hình.

105
Phần 2: Sử dụng Access trong quản lý

4.3.1 Select query
Về bản chất, select query là một câu lệnh có cấu trúc như sau:
SELECT <Danh sách cột>
FROM <Danh sách bảng>
WHERE <Điều kiện>
[GROUP BY <Danh sách cột>]
[ORDER BY <Danh sách cột>] ;
Câu lệnh trên có thể hiểu như sau: Chọn ra các cột mong muốn từ các bảng dữ liệu với điều
kiện thỏa mãn điều kiện chọn. Nếu từ khóa tùy chọn GROUP BY được đưa vào thì dữ liệu đầu ra
sẽ được nhóm theo danh sách các cột đứng sau từ khóa GROUP BY. Nếu từ khóa tùy chọn
ORDER BY được đưa vào thì dữ liệu trả về sẽ được sắp xếp theo các cột đứng sau từ khóa
ORDER BY. Có hai kiểu sắp xếp là tăng dần (Ascending) và giảm dần (Descending).
Tiếp theo, chúng ta sẽ xem xét cụ thể các thành phần trong câu lệnh SQL:
- <Danh sách cột> là tất cả các cột dữ liệu trong một hay nhiều bảng mà ta muốn Access
lấy ra. Mỗi cột được viết cách nhau bởi dấu phẩy “,”. Nếu hai bảng có trường dữ liệu
cùng tên thì phải chỉ rõ tên cột của bảng nào bằng cách viết <tên bảng>.<tên cột>.
- <Danh sách bảng> là tất cả các bảng mà ta muốn lấy dữ liệu ra. Mỗi bảng được viết cách
nhau bởi một dấu phẩy “,”. Ngoài ra, ta còn có thể đặt lại tên bảng trong câu lệnh để việc
truy xuất đến các trường trong từng bảng được dễ hơn bằng cách viết <tên bảng> <tên
mới> (Chú ý dấu cách ở giữa).
- <Điều kiện> thường là các phép toán so sánh (>,<,=>,<=, =, <>), các phép toán logic (và -
AND, hoặc - OR) hay các phép toán tập hợp (thuộc - IN, nằm giữa - BETWEEN) v.v.
Như vậy, đến đây chúng ta đã có thể hiểu được cấu trúc cũng như cách tạo ra một truy vấn
dạng lựa chọn (select query). Để hiểu rõ hơn về truy vấn này, chúng ta sẽ xem xét ví dụ cụ thể sau:
Có một cơ sở dữ liệu quản lý nhân sự của một đơn vị gồm 2 bảng dữ liệu. Bảng thứ nhất là
bảng “Phòng”, bao gồm các trường: Mã Phòng, Tên Phòng. Bảng thứ hai là bảng Nhân Viên, bao
gồm các trường: Mã nhân viên, Tên nhân viên, Giới tính, Ngày sinh và Mã Phòng.
Yêu cầu của bài toán như sau:
- Lấy ra các thông tin về Tên nhân viên, tên phòng của tất cả các nhân viên trong công ty có
giới tính là Nam.

- Lấy ra các thông tin về Tên nhân viên, tên phòng của tất cả các nhân viên trong phòng
Tổng hợp có ngày sinh từ 1/1/1950 đến 31/12/1970.
Ta tiến hành tạo các truy vấn như sau:
Giả sử đã có cơ sở dữ liệu như trên và trong các bảng đã có dữ liệu. Khởi động Access và
mở cơ sở dữ liệu đó ra.

106
Phần 2: Sử dụng Access trong quản lý


Ở phía bên trái màn hình, trong hộp chọn đối tượng, chọn Query. Có 2 cách để có thể tạo
mới một truy vấn. Cách thứ nhất, nhấp đúp chuột vào lựa chọn “Create query in Design view” và
cách thứ 2 là bấm nút lệnh New. Khi đó, Access sẽ mở một cửa sổ cho phép bắt đầu tạo mới một
truy vấn theo cách nào:


Chọn Design view và bấm OK. Khi đó, Access sẽ mở một cửa sổ “Show table” để lựa chọn
các bảng muốn lấy dữ liệu ra (tùy thuộc vào từng bài toán). Trở lại với yêu cầu thứ nhất của bài
toán, ta thấy yêu cầu là “Lấy ra tất cả thông tin về Tên nhân viên, tên phòng của các nhân viên
trong công ty có giới tính là Nam”. Rõ ràng với yêu cầu như thế, chúng ta phải lấy dữ liệu từ cả
hai bảng Nhân viên và Phòng (vì Tên phòng chỉ xuất hiện trong bảng Phòng chứ không có trong
bảng Nhân viên). Vì vậy, trong hộp thoại “Show table”, chọn cả 2 bảng bằng cách giữ phím Shift
và click chuột lên cả 2 bảng rồi bấm nút lệnh Add.

107
Phần 2: Sử dụng Access trong quản lý

Khi đó, Access sẽ mở một cửa sổ cho phép thiết kế truy vấn:

Ở yêu cầu thứ nhất của ví dụ, chúng ta muốn lấy ra các trường: Tên nhân viên và tên phòng.

Do đó, ở bảng Nhân viên, chọn trường TenNhanVien. Ở bảng Phòng, chọn TenPhong. Ngoài ra,
bài toán còn có yêu cầu là chỉ lấy ra thông tin về tên nhân viên và tên phòng của nhân viên có giới
tính là Nam. Do đó, ta cũng chọn thêm trường GioiTinh ở trong bảng NhanVien. Khi đó truy vấn
của ta được Access làm giúp như sau:


108
Phần 2: Sử dụng Access trong quản lý
Đến đây, nếu ta dừng lại và “chạy” truy vấn bằng cách click chuột vào nút lệnh “Run”
trên thanh công cụ thì ta sẽ nhận được kết quả như sau:

Rõ ràng, đây là một kết quả đúng về mặt tính toán nhưng lại không đúng theo yêu cầu đặt ra.
Đó là ta không muốn hiển thị cột Giới tính và những nhân viên có giới tính là nữ. Vì vậy, để sửa
lại truy vấn cho đúng với yêu cầu của bài toán, có thể làm như sau:
Từ menu hệ thống, chọn View Æ Design view. Khi đó Access sẽ mở lại cửa sổ thiết kế truy
vấn như ở trên:

Như đã phân tích, truy vấn hiện tại trả về kết quả thừa một cột là cột giới tính. Do đó, để bỏ
cột này đi (không hiển thị ở kết quả đầu ra), ta cần bỏ dấu đánh dấu ở cột Giới tính trên dòng
“Show” bằng cách nhấp chuột vào ô chọn đó. Ý nghĩa của dòng “Show” được hiểu như sau: Nếu
được chọn thì cột tương ứng sẽ được hiển thị ở kết quả đầu ra của truy vấn. Trong ví dụ này ta chỉ
chọn 2 cột là Tên nhân viên và Tên phòng.
Điều thứ 2 mà truy vấn chưa đáp ứng được là chưa lọc được những nhân viên có giới tính là
Nam. Do vậy, ta phải tiếp tục sửa lại truy vấn. Để ý hàng “Criteria” (tiêu chuẩn). Đây là điều kiện
lọc mà Access cho phép người dùng đưa vào các điều kiện lọc dữ liệu. Ở ví dụ này ta muốn giới
tính là “Nam”, do đó ở cột Giới tính, hàng Criteria ta thêm vào biểu thức = “Nam” để Access hiểu
rằng chỉ chọn những bản ghi có giới tính là Nam. Khi đó, truy vấn của ta sẽ như sau:

109
Phần 2: Sử dụng Access trong quản lý


Sau khi sửa lại và chạy truy vấn này, ta sẽ được kết quả mới như sau:

Rõ ràng kết quả này là tập con của kết quả trong câu truy vấn ban đầu. Nó chỉ chứa các bản
ghi với giới tính của nhân viên là “Nam” và không hiển thị cột Giới tính. Như vậy kết quả là đúng
với yêu cầu của bài toán.
Như đã trình bày ở phần đầu của mục này, truy vấn thực chất là một câu lệnh SQL có cấu
trúc. Để xem truy vấn ta vừa tạo được viết dưới dạng câu lệnh SQL như thế nào, từ menu View,
chọn SQL view. Khi đó, ta sẽ thấy câu lệnh SQL của truy vấn trên như sau:
SELECT NhanVien.TenNhanVien, Phong.TenPhong
FROM Phong INNER JOIN NhanVien ON Phong.MaPhong = NhanVien.MaPhong
WHERE (((NhanVien.GioiTinh)="Nam"));
Để ghi lại truy vấn vừa tạo, bấm vào biểu tượng “Save” trên thanh công cụ hoặc chọn menu
File > Save. Như vậy truy vấn đã được lưu trữ trong cơ sở dữ liệu và có thể được tái sử dụng.
Với yêu cầu thứ 2 của bài toán là “Lấy ra tất cả các thông tin về Tên nhân viên, tên phòng
của các nhân viên trong phòng Tổng hợp có ngày sinh từ 1/1/1950 đến 31/12/1970”, chúng ta sẽ
có query như sau:


110

×