Tải bản đầy đủ (.doc) (54 trang)

Giáo trình hướng dẫn sử dụng access

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 (1.86 MB, 54 trang )

Trường CĐ GTVT III NNT
CHƯƠNG 0:
NHẬP MÔN HỆ THỐNG CƠ SỞ DỮ LIỆU
(DATABASE MANAGEMENT SYSTEM)
A. Một hệ thống quản trị cơ sở dữ liệu (CSDL) gọi tắt là DBMS bao gồm:
 Một sưu tập các dữ liệu liên quan được gọi là Cơ sở dữ liệu(DataBase) .
 Một sưu tập các chương trình ứng dụng được dùng để truy xuất, cập nhật và quản lý dữ
liệu. Các chương trình này hình thành hệ thống quản trị dữ liệu (Management System).
B. Mục tiêu của DBMS:
Là cung cấp một môi trường thuận tiện và hiệu qủa cho việc sử dụng dữ liệu theo
nghĩa:
 Truy tìm thông tin từ CSDL.
 Lưu trữ thông tin vào CSDL.
C. Các CSDL thường được thiết kế để quản lý một lượng lớn thông tin. Việc này
liên quan tới :
 Định nghĩa các cấu trúc lưu trữ thông tin.
 Cung cấp các cơ chế xử lý thông tin.
 Cung cấp an toàn cho thông tin trong cơ sở dữ liệu.
 Kiểm soát đồng thời nếu hệ thống chia sẽ bởi nhiều người dùng.
Phần lý thuyết Trang 1
NNT Trường CĐ GTVT III
MÔ HÌNH QUAN HỆ THỰC THỂ
(ENTITY – RELATIONSHIP)
Mô hình dữ liệu quan hệ – Thực thể (E – R) nhìn thế giới thực như là một tập các
đối tượng căn bản được gọi là các thực thể (Entity), và các mối quan hệ (Relationship) ở
giữa các đối tượng này. Nó đã được phát triển để làm thuận tiện cho việc thiết kế CSDL
bằng cách đặt tả một lược đồ ( Enterprise Schema). Một lược đồ như vậy biểu diễn một
cấu trúc Logic tổng quát của CSDL.
I. NHỮNG KHÁI NIỆM CĂN BẢN.
 Thực thể (an Entity): Là một “sự vật” hoặc “đối tượng” hoặc “vật thể” mà nó tồn
tại và có thể phân biệt được với các đối tượng khác. Một thực thể có một tập các


thuộc tính.
 VD: Thực thể Sinh viên, Sách, Môn học, con Mèo, Hóa đơn …
 Thuộc tính (Attributes): Là một trong những đặc trưng (Tính chất) của thực thể.
 VD: Xét thực thể SINH VIEN thì Tên Sinh viên, MSSV, Giới tính, Ngày sinh, Quê
quán … được gọi là các thuộc tính của thực thể SINH VIEN.
 Tập thực thể (an Entity Set): Là một tập hợp các thực thể cùng loại hay nói một
cách khác là cùng chung tập thuộc tính thường được gọi là bảng (Table).
 VD: Tập thực thể SINH VIEN của một Trường Đại Học, Tập thực thể SACH của
một thư viện, Tập thực thể MATHANG của một Công ty …
 Khóa (Key): Để phân biệt được thực thể này với thực thể khác trong cùng một tập
thực thể hoặc các quan hệ trong một tập quan hệ đã cho là rất quan trọng. Khái
niệm khóa cho phép ta thực hiện những phân biệt như vậy.
a) Khóa lớn (Super Key): Là một tập gồm một hoặc nhiều thuộc tính mà khi chúng
ghép lại với nhau cho phép chúng ta xác định duy nhất một thực thể trong tập thực
thể.
VD: Xét thực thể SINH VIEN (MSSV, Tên SV, Giới tính, Ngày sinh, Mã khoa, Quê
quán …) thì: MSSV được gọi là một khóa lớn. MSSV kết hợp với Tên SV cũng là một
khóa lớn …. Vậy một khóa lớn có thể chứa những thuộc tính dư thừa, và thường thì ta
chỉ quan tâm khóa lớn có số thuộc tính ít nhất được gọi là khóa đề nghị (Candidate
Key).
b) Khóa chính (Primary): Là một khóa đề nghị được chọn bởi người thiết kế CSDL
và được dùng như là một phương tiện chính để xác định các thực thể trong tập thực
thể.
VD: Xét thực thể SINHVIEN thì MSSV là một khóa đề nghị.
II. LƯỢC ĐỒ QUAN HỆ THỰC THỂ
Chúng ta có thể biểu diễn cấu trúc Logic tổng quát của một CSDL một cách đồ họa bằng
lược đồ quan hệ thực thể (E - R). Những qui ước trong lược đồ như sau:
 Tên tập thực thể được viết hoa, không gõ dấu.
 Trước thuộc tính có dấu # thì thuộc tính đó tham gia làm khóa chính.
 Trước thuộc tính có dấu * thì thuộc tính đó bắt buộc phải có.

 Trước thuộc tính có dấu 0 thì thuộc tính đó là tùy chọn.
VD: Xét tập thực thể SINHVIEN( # Mssv, * Tên Sv, * Giới tính, * Ngày sinh, * Mã khoa,
0 Quê quán,…).
Trang 2 Phần lý thuyết
Trường CĐ GTVT III NNT

@ Để mô tả lược đồ quan hệ thực thể ta xét bài toán sau: Hãy thiết kế các tập thực thể
(Các Bảng) và mối quan hệ giữa các tập thực thể đó cho một hệ thống cơ sở dữ liệu của
một trường Đại Học để quản lý việc đăng ký môn học và điểm của Sinh Viên.
1) Ta có thể thiết kế các bảng chính như sau:
 Bảng KHOA chứa thông tin về các khoa thuộc trường Đại Học. Thông tin mỗi
khoa bao gồm: mã khoa (MAKHOA), tên khoa (TENKHOA). Các khoa khác nhau
sẽ có mã khoa khác nhau, mỗi khoa thì có nhiều Sinh Viên theo học. Bảng KHOA
có cấu trúc cụ thể như sau (trong đó MAKHOA là khóa chính của bảng):
Tên vùng Ý nghĩa
MAKHOA Mã khoa
TENKHOA Tên khoa

 Bảng SINH VIEN chứa thông tin về các Sinh Viên. Thông tin mỗi Sinh Viên bao
gồm: mã số Sinh Viên (MSSV), tên Sinh Viên (TENSV), giới tính (GIOITINH),
ngày sinh (NGAYSINH), quê quán (QUEQUAN), ngoài ra một Sinh Viên phải
thuộc vào một khoa duy nhất nên phải có thêm thông tin mã khoa (MAKHOA).
Các Sinh Viên khác nhau thì có mã số Sinh Viên khác nhau. Bảng SINHVIEN có
cấu trúc cụ thể như sau (trong đó MSSV là khóa chính của bảng):
Tên vùng Ý nghĩa
MSSV Mã số của Sinh Viên
TENSV Tên Sinh Viên
GIOITINH Giới tính của Sinh Viên
NGAYSINH Ngày sinh Sinh Viên
QUEQUAN Quê quán Sinh Viên

MAKHOA Mã khoa mà Sinh Viên theo học

 Bảng MON HOC chứa thông tin về các môn học. Thông tin mỗi môn học bao
gồm: mã môn học (MAMH), tên môn học (TENMH), số tín chỉ (SOTC). Các môn
học khác nhau thì có mã môn học khác nhau. Bảng MONHOC có cấu trúc cụ thể
như sau (trong đó MAMH là khóa chính của bảng):
Tên vùng Ý nghĩa
MAMH Mã môn học
TENMH Tên môn học
SOTC Số tín chỉ
2) Ta xét mối quan hệ giữa các bảng trên:
 Bảng KHOA và Bảng SINHVIEN, ta thấy một khoa thì có nhiều Sinh viên theo
học, ngược lại một Sinh Viên thì chỉ thuộc vào một khoa nào đó (Ứng với 1
MSSV). Đây là tượng trưng cho mối quan hệ Một – Nhiều (One to Many). Mô tả
sơ đồ như sau:
Phần lý thuyết Trang 3
NNT Trường CĐ GTVT III
 Bảng SINHVIEN và Bảng MONHOC, ta thấy một Sinh viên có thể đăng ký nhiều
Môn học, ngược lại một Môn học cũng được nhiều Sinh viên đăng ký học. Đây là
tượng trưng cho mối quan hệ Nhiều – Nhiều (Many to Many). Mô tả sơ đồ như
sau:
@ Xét bài toán đăng ký kết hôn giữa một người Nam và một Người Nữ. Ta thấy theo
luật hôn nhân tại một thời điểm xác định thì một người Nam chỉ đăng ký kết hôn với một
người Nữ, ngược lại một người Nữ cũng tại một thời điểm xác định chỉ đăng ký kết hôn
với một người Nam. Đây là tượng trưng cho mối quan hệ Một – Một (One to One). Mô tả
sơ đồ như sau:
Trang 4 Phần lý thuyết
KHOA
# MAKHOA
* TENKHOA

+ SOGV
SINHVIEN
# MSSV
* TENSV
* GOITINH
* NGAYSINH
* MAKHOA
+ QUEQUAN
1
n
MONHOC
# MAMH
* TENMH
+ SOTC
+ GVPT
SINHVIEN
# MSSV
* TENSV
* GOITINH
* NGAYSINH
* MAKHOA
+ QUEQUAN
nn
ĐK KẾT HÔN
NAM
HO_TEN
# SO_CMND
* QUE_QUAN
* NGAY_SINH
+ NGHE_NGHIEP

1
NU
HO_TEN
# SO_CMND
* QUE_QUAN
* NGAY_SINH
+ NGHE_NGHIEP
1
Trường CĐ GTVT III NNT
 Chú ý: Đối với việc phân tích hệ thống CSDL nếu gặp những mối quan hệ: Nhiều
– Nhiều hoặc Một – Một thì ta phải tìm cách phá vỡ những mối quan hệ này thành
những mối quan hệ Một – Nhiều. (?).
III. PHÁ VỠ CÁC MỐI QUAN HỆ MANY to MANY, HOẶC ONE to ONE:
Để phá vỡ giữa các tập thực thể có mối quan hệ Many to Many hoặc One to One ta
phải tìm cách xây dựng thêm một thực tập thực thể giao giữa các tập thực thể này. Ta
xét các trường hợp cụ thể sau:
1) Phá vỡ mối quan hệ Many to Many: Xét lại mối quan hệ giữa hai tập thực thể
SINHVIEN và MONHOC ta thấy:
Để một Sinh viên có thể được đăng ký học nhiều Môn học và ngược lại để một Môn
học có nhiều Sinh viên theo học ta thiết kế thêm tập thực thể giao như sau:
 Ta có thể giải thích như sau: Đối với tập thực thể ĐANGKY là tập thực thể giao
nên ta phải lấy thuộc tính tham gia làm khóa chính của bảng 1 tham gia làm khóa
chính của bảng giao, những thuộc tính này được gọi là Khóa ngoại (Xem chi tiết
bài sau). Ngoài ra một Môn học, Sinh viên có thể bị học lại nhiền lần (do không
đạt) nên có sự trùng lắp giữa MSSV và MAMH nên ta phải thêm thuộc tính
NGAYDK tham gia làm khóa chính của tập thực thể. Ứng với một Môn học mà
Sinh viên theo học sẽ có Điểm.
2) Phá vỡ mối quan hệ One to One: Xét lại mối quan hệ kết hôn giữa hai tập thực thể
người trưởng thành NAM và NU ta thấy tại một thời điểm nhất định thì một người
Nam cũng như người NU chỉ được kết hôn duy nhất với một người, nhưng xét một thời

gian dài (cả đời người) thì một người NAM cũng như người NU có thể kết hôn được
với nhiều người hoặc tái hôn nếu điều kiện cho phép vì họ có thể kết hôn rồi ly dị, ly
dị xong thì có thể kết hôn với người khác hoặc lại đi tái hôn với người cũ. Ta có thể
thiết kế tập thực thể DK KETHON là tập thực thể giao như sau:
Phần lý thuyết Trang 5
MONHOC
# MAMH
* TENMH
+ SOTC
+ GVPT
SINHVIEN
# MSSV
* TENSV
* GOITINH
* NGAYSINH
* MAKHOA
+ QUEQUAN
n
n
ĐANGKY
# MSSV
# MAMH
# NGAYĐK
* DIEM
1
1
1
NAM
HO_TEN
# SO_CMND

* QUE_QUAN
* NGAY_SINH
+ NGHE_NGHIEP
1
NU
HO_TEN
# SO_CMND
* QUE_QUAN
* NGAY_SINH
+ NGHE_NGHIEP
ĐK KH
# SO_CMNDnam
# SO_CMNDnu
# NGAYDK
n
n
NNT Trường CĐ GTVT III
CHƯƠNG I: TỔNG QUAN VỀ ACCESS
I. Khái niệm cơ sở dữ liệu (CSDL: DataBase)
CSDL là tập hợp những dữ liệu liên quan tới một chủ đề, một phạm vi quản lý. Nhằm
thoả mãn nhu cầu khai thác thông tin nhanh chóng, chính xác, hiệu quả.
(CSDL là tập hợp dữ liệu mang tính hệ thống, chứ không phải là dữ liệu rời rạc)
CSDL quan hệ (Relational DataBase): là tập hợp các bảng liên quan tới nhau, tạo
thành một hệ thống thông tin thống nhất, đảm bảo tính không được thiếu, không thừa của
nguồn dữ liệu.
Hệ quản trị CSDL (HQT CSDL: DataBase Management System)
Là phần mềm cho phép tạo, lưu trữ, quản lý và tương tác với CSDL.
Các chức năng cơ bản của HQTCSDL
Một HQTCSDL phải có ngôn ngữ mô tả dữ liệu (Data Definition Language) cho
phép ta định nghĩa cấu trúc (tạo, sửa, xoá) và mô tả các mối liên hệ của dữ liệu cũng như

những quy tắc quản lý trên dữ liệu đó.
Một HQTCSDL phải có ngôn ngữ thao tác dữ liệu (Data Manipulation Language)
cho phép người sử dụng có thể cập nhật dữ liệu (thêm, sửa, xoá).
Một HQTCSDL phải có ngôn ngữ truy xuất dữ liệu (Data Receive Language) để
khai thác, trích rút dữ liệu trong CSDL khi có nhu cầu.
Ngoài ra, một số HQTCSDL cung cấp cho người sử dụng những cơ chế bảo mật và
phục hồi dữ liệu khi có sự cố xảy ra.
HQTCSDL quan hệ là hệ quản trị cơ sở dữ liệu theo mô hình quan hệ.
Hệ quản trị cơ sở dữ liệu MS Access là HQTCSDL quan hệ có khá đầy đủ các chức
năng trên. Ngoài ra chương trình này còn có các chức năng khác như tạo Form, Report,
Macro, Module,… cho phép xây dựng hoàn chỉnh một phần mềm quản lý CSDL.
II. Các thành phần trong cơ sở dữ liệu Access
(Nằm trên file có phần mở rộng *.mdb)
Trong cơ sở dữ liệu của Ms Access 2000 gồm có 7 thành phần, mỗi thành phần gồm
nhiều đối tượng.
Ví dụ: Trong thành phần Tables có nhiều đối tượng Table, trong thành phần Queries
có nhiều đối tượng Query,

Trang 6 Phần lý thuyết
Trường CĐ GTVT III NNT
Từ các nguồn khác: có nghĩa là liên kết lấy dữ liệu từ các file dạng khác như *.xls
(Excel), hoặc dữ liệu trong các hệ quản trị cơ sở dữ liệu khác,
II.1. Table: là đối tượng lưu trữ dữ liệu.
Hình 1.1: Màn hình hiển thị dữ liệu bảng HoSo.
II.2. Query: tính toán, xử lý và khai thác dữ liệu trong Cơ sở dữ liệu.

Hình 1.2: Màn hình hiển thị dữ liệu truy vấn các thí sinh KV1.
II.3. Form: giao diện nhập và thể hiện dữ liệu, tạo hộp thoại giao tiếp giữa ứng dụng và
người sử dụng.


Hình 1.3: Giao diện liệt kê các thí sinh theo từng khu vực.
II.4. Macro: tạo các hành động điều khiển và liên kết các đối tượng nằm trong các thành
phần của Access.
Phần lý thuyết Trang 7
NNT Trường CĐ GTVT III
Ví dụ: tạo hành động mở mẫu biểu có tên sbfTest và chỉ hiển thị những thí sinh thuộc
KV3.

Hình 1.4: Màn hình hiển thị phần thiết kế Macro.
II.5. Report: tạo mẫu báo cáo thể hiện dữ liệu phong phú, đẹp mắt. Là khâu cuối cùng của
quá trình xử lý dữ liệu, để rồi in ra giấy.
Hình 1.5: Báo cáo thống kê chi tiết các thí sinh theo từng khu vực.
II.6. Module: môi trường để soạn thảo các hàm (Function), thủ tục (Sub) viết bằng ngôn ngữ
VBA (Visual Basic for Application) hay còn gọi là Access Basic. Nhằm xử lý và điều khiển
các đối tượng phức tạp.
Ví dụ: tạo thủ tục SuaNoiSinh để sửa dữ liệu trong cột (trường) NoiSinh. Nếu là
“hanoi” thì đổi thành “Ha Noi “.

Trang 8 Phần lý thuyết
Trường CĐ GTVT III NNT
Hình 1.6: Màn hình soạn thảo mã lệnh chương trình.
II.7. Page: cho phép thể hiện dữ liệu trên trang dạng Web (*.htm). Người sử dụng có thể truy
cập vào CSDL thông qua trình duyệt Microsoft Internet Exploirer (IE).


Hình 1.7: Màn hình hiển thị danh sách khu vực từ cửa sổ IE.
Phần lý thuyết Trang 9
NNT Trường CĐ GTVT III
CHƯƠNG II: TABLE - BẢNG DỮ LIỆU
I. Khái niệm

Table là thành phần quan trọng nhất trong CSDL, là nơi trực tiếp lưu trữ dữ liệu. Mỗi
Table chứa thông tin về một thực thể xác định.
Ví dụ:
Bảng MonHoc lưu trữ thông tin về các môn học như: Mã môn học, Số tiết,
Bảng NhanVien lưu trữ thông tin về cán bộ nhân viên như: Mã nhân viên, Họ tên,
Ngày sinh, Quê quán, Lương,…
Mã NV Họ tên Ngày sinh Quê quán Lương
SR001 Nguyễn Phương Nam 14/12/1975 Hà Tây 650000
SR002 Trần Mạnh Hùng 03/09/1970 Thái Nguyên 800000
SR003 Vũ Phương Thảo 19/12/1978 Hải Phòng 720000
I.1. Cấu trúc của bảng: gồm các hàng và các cột giao nhau
Cột trong Table thì gọi Field (trường)
Mỗi Field ứng với một mục dữ liệu mà ta cần lưu trữ, và mỗi Field có một kiểu dữ liệu
xác định.
Mã NV, Họ tên, Quê quán: kiểu kí tự
Ngày sinh: kiểu ngày tháng
Lương: kiểu số.
Hàng trong table thì gọi Record (bản ghi)
Là một thể hiện dữ liệu của các Field trong bảng.
I.2. Khoá chính (Primary Key)
Trong bảng thường có khoá chính gồm một hoặc nhiều trường đảm bảo 2 tính chất
sau:
Dữ liệu trên đó là duy nhất, mục đích dùng để phân biệt bản ghi này với bản ghi kia
Không được phép rỗng dữ liệu (phải nhập dữ liệu). Vì khi biết được giá trị của
trường khoá chính thì có thể suy ra giá trị của các trường khác.
I.3. Khoá ngoại (Foreign Key)
Để tạo quan hệ giữa các bảng người ta lấy khoá chính đưa sang bảng quan hệ làm
khoá ngoại. Dữ liệu trong khoá ngoại phải được tham chiếu lấy từ khoá chính.
II. Các phương pháp tạo Table
II.1. Tạo Table bằng Table Wizard

Đây là phương pháp tạo bảng theo các bước hướng dẫn để xây dựng các Table từ
trong CSDL mẫu của Access
Cách 1: trong cửa sổ Database chọn New/ Table Wizard
Cách 2: chọn Create table by using wizard.
Trang 10 Phần lý thuyết
Trường CĐ GTVT III NNT

Hình 2.1: Cửa sổ tạo mới Table bằng trợ giúp.
Sample Tables: chọn các Table mẫu
Sample Fields: chọn các Fields trong Table mẫu
Fields in my new table: các trường xuất hiện trong
bảng khi nó được tạo ra
(ta có thể chọn nút lệnh Rename Field… để đổi tên
trường)
Phương pháp này chỉ với mục đích tham khảo, vì các
Table mẫu thường không thích hợp với cách quản lý của ta
(thường phải thiết kế lại).
II.2. Tạo Table bằng Datasheet View
Cách 1: trong cửa sổ Database chọn New/ Datasheet View
Cách 2: chọn Create table by entering data
Người dùng chỉ cần gõ dữ liệu trực tiếp vào bảng có dạng giống Excel

Hình 2.2: Cửa sổ tạo mới Table bằng Datasheet View.
Access sẽ tự động xác định:
Kiểu dữ liệu của trường tuỳ theo dữ liệu nhập
Số trường sẽ thu lại theo số cột có dữ liệu
Số bản ghi sẽ thu lại theo số hàng có dữ liệu nhập.
II. 3. Tạo Table bằng Design View
Đây là cách tạo bảng thường dùng nhất, với cách này ta trực tiếp tạo ra cấu trúc bảng
theo mong muốn.

Cách 1: trong cửa sổ Database chọn New/ Design View
Cách 2: chọn Create table in Design View
Phần lý thuyết Trang 11
NNT Trường CĐ GTVT III

Hình 2.3: Cửa sổ tạo mới Table.
Màn hình giao diện tạo bảng bằng Design View như sau:

Hình 2.4: Cửa sổ thiết kế Table.
Field Name: đặt tên trường.
Data Type: kiểu dữ liệu của trường.
Description: chú thích ý nghĩa của trường, nội dung sẽ hiện ở dòng trạng thái
(Status Line) để hướng dẫn nhập liệu khi mở Table ở chế độ Datasheet.
Field Properties: các thuộc tính của trường.
Nếu tạo mới Table mà chưa tạo khoá chính thì khi thoát khỏi chế độ Design View
Access bắt ta phải đặt tên cho Table, rồi sau đó sẽ hỏi ta có muốn tạo khoá chính không? Ta
chọn No để không tạo khoá.

Trang 12 Phần lý thuyết
Trường CĐ GTVT III NNT
Hình 2.5: Hộp thoại hỏi khoá chính.
II.3.1. Tên trường (Field Name)
Các quy tắc đặt tên trường
Tên trường có thể chứa các kí tự chữ cái, chữ số, dấu cách, các kí tự đặc biệt (trừ các
kí tự “.”, “!”, “[“, “]” )
Tên trường không được bắt đầu bằng dấu cách, không quá 64 kí tự. Trong một bảng
không có tên trường trùng nhau.
III.2. Kiểu dữ liệu của trường (Data Type)
Trường Giải thích
Text (kiểu kí tự): tối đa 255 kí tự

Memo
(kiểu kí ức): tối đa 64000 kí tự, thường được dùng để lưu trữ những văn bản
lớn chẳng hạn như chú thích, tiểu sử cá nhân
Number (kiểu số): gồm các kiểu có miền giá trị khác nhau khai báo trong Field size
Date/Time (kiểu ngày tháng): tối đa 8 byte dùng lưu trữ dữ liệu dạng ngày tháng
Currency
(kiểu tiền tệ): tối đa 8 byte, đây cũng là một dạng kiểu Number nhưng có ký
hiệu tiền tệ.
Yes/No (kiểu Logic): lưu dữ liệu chỉ trong 2 trạng thái.
AutoNumber
(kiểu số tự động): dữ liệu trong trường có kiểu này sẽ được tự động thêm vào
các giá trị tuần tự hay ngẫu nhiên mà không cần người sử dụng nhập vào.
OLE Object (nhúng và liên kết đối tượng): lưu âm thanh, hình ảnh tối đa 1GB bộ nhớ.
Hyperlink
(kiểu siêu liên kết): lưu đường dẫn tới một máy khác trên mạng hay địa chỉ
liên kết tới một trang Web, địa chỉ Email, tối đa 2048 kí tự.
Lookup
wizard:
tham chiếu tới danh sách các giá trị của một trường nào đó ở bảng khác.
Bảng các kiểu dữ liệu của một trường có thể nhận
II. 3.2 Các thuộc tính của trường (Field Properties)
Phần Genernal: các thuộc tính chung
Field size: quy định độ rộng của dữ liệu trong trường.
Ví dụ: Đối với kiểu Text ở thuộc tính này ta quy định là 10 thì chỉ được nhập 10
kí tự. Còn đối với kiểu Number ta chọn các kiểu với miền sau:

Giá trị Miền giá trị Số Byte
Integer
Số nguyên (-32768 → 32767)
2

Long Integer số nguyên
(-2147483648→2147483647)
4
Single kiểu số thực(đơn)
(-3.4*10
38
→ 3.4*10
38
)
4
Double kiểu số thực(kép)
(-1.797*10
308
→ 1.797*10
308
)
8
Format: định dạng các thể hiện của dữ liệu trong trường. Với từng kiểu dữ liệu
(Data Type), ta có các kiểu định dạng khác nhau.
Phần lý thuyết Trang 13
NNT Trường CĐ GTVT III
Đối với dạng Text
' < ': dữ liệu trong trường tự động chuyển thành chữ thường
' > ': dữ liệu trong trường tự động chuyển thành chữ hoa
@ [tên màu]: tự động định dạng màu chữ
Tên các màu: Black (đen), Blue (xanh lá cây), Green (xanh nước biển),
Cyan (xanh nhạt), Red (đỏ), Magenta (tím cánh sen), Yellow (vàng), White
(trắng),
Đối với dạng Date/Time
Ta chọn các dạng có sẵn:


Hoặc ta dùng các kí tự d, m, y để thiết lập như sau:
dd/mm/yyyy: 19/12/2003 (với dd:day, mm: month, yyyy:year)
dd-mmm-yyyy: 19-Dec-2003
mm/dd/yy: 12/19/03
Đối với dạng số ta dùng các định dạng có sẵn
Giả sử ta có giá trị 3456.789

Đối với dạng dữ liệu Yes/No: có các dạng Yes/No, True/False, On/Off. Nếu
không khai báo Format thì sẽ hiện các giá trị –1 (Yes), 0 (No).
Decimal Places: quy định số chữ số thập phân (chỉ có trong Number, Currency).
Input Mask (mặt nạ nhập liệu): Trong trường hợp dữ liệu có cùng dạng thức ta
nên quy định mẫu nhập liệu, nhưng phải nhập đúng quy định đó.
Nhóm ký tự định nghĩa InputMask
Kí tự mặt nạ Ý nghĩa
0
Vị trí dành cho một số 0→ 9 (bắt buộc nhập)
9
Vị trí dành cho một số 0→ 9 (không bắt nhập)
#
Vị trí dành cho một kí tự số 0→ 9, dấu +, -, trống
L Vị trí dành cho một kí tự A-Z (bắt buộc nhập)
? Vị trí dành cho một kí tự A-Z (không bắt nhập)
A Vị trí dành cho một ký tự chữ hoặc số (bắt buộc)
A Vị trí dành cho một ký tự chữ hoặc số (không bắt
buộc)
& Vị trí dành cho một kí tự bất kì (bắt buộc)
C Vị trí dành cho một kí tự bất kì (không bắt buộc)
Trang 14 Phần lý thuyết
Trường CĐ GTVT III NNT

. , : ; - /: Ngăn cách giữa các phần
Password Những kí tự đánh vào sẽ hiển thị dấu * (dạng mật
khẩu)

Ví dụ: Giá trị trong trường ngày sinh có dạng 19/12/1978 ta thấy rằng khung mặt nạ
nhập liệu là __ /__ /____
. Ta phải thiết lập như sau 00/00/0000
Caption: chuỗi tiêu đề cột khi bảng ở chế độ Datasheet (chế độ cập nhật dữ liệu),
nếu bỏ qua thì Access lấy tên trường làm tiêu đề cột.
Default Value: xác định giá trị định trước (dùng trong trường hợp nhập dữ liệu đó
là nhiều)
Validation Rule: xây dựng biểu thức kiểm tra dữ liệu (quy tắc hợp lệ)
Ví dụ: nếu > 0 thì dữ liệu nhập vào phải lớn hơn 0.
Validation Text: xâu kí tự hiện trong hộp thông báo lỗi nếu vi phạm điều kiện
trong Validation Rule.
Required: có bắt buộc phải nhập dữ liệu không?
Yes: tương ứng với việc buộc nhập dữ liệu
No: không buộc nhập dữ liệu
tại trường đó.
Allow Zero Length: áp dụng cho Text, Memo, Hyperlink cho phép nhập hay
không nhập dữ liệu là giá trị rỗng.
Indexed (chỉ số): Tạo chỉ số để sắp xếp và tăng tốc độ tìm kiếm dữ liệu
No: không tạo chỉ số
Yes (Duplicates Ok): tạo chỉ số được phép trùng
Yes (No Duplicates): tạo chỉ số không được phép trùng

Lookup: các thuộc tính tham chiếu
Display Control: chọn cách hiển thị
Text Box: hộp văn bản
Combo Box: hộp liệt kê thả

List Box: hộp liệt kê danh sách
Check Box: hộp kiểm tra (áp dụng cho Yes/No)
Nếu Display Control đặt là Text thì sẽ không có các tuỳ chọn tiếp theo, nếu Display
Control đặt là List Box sẽ có thêm các phần tuỳ chọn như sau:
Row Source Type: kiểu nguồn dữ liệu
Table/Query: lấy dữ liệu có sẵn trong Table hoặc Query.
Value List: tự đánh dữ liệu cho danh sách
Field List: danh sách là tên các field trong Table hoặc query
Row Source: nguồn giá trị trong danh sách (có thể chọn tên của
Table/Query, hoặc tự liệt kê giá trị )
Bound Column: cột được lấy làm giá trị của Field
Column Count: số cột hiển thị trong danh sách
Column Heads: bật tắt dòng tiêu đề
Column Widths: độ rộng của từng cột trong danh sách
Nếu Display Control đặt là Combo Box sẽ có thêm những phần sau:
List Row: số dòng hiển thị trong danh sách
List Width: độ rộng của danh sách (tổng độ rộng của các cột)
Phần lý thuyết Trang 15
NNT Trường CĐ GTVT III
Limit to List: giới hạn trong danh sách
Yes: chỉ được nhập dữ liệu lấy trong danh sách cho Field
No: có thể nhập dữ liệu ngoài danh sách cho Field
III. Các hình thức tạo bảng khác
III. Import Table (nhập khẩu bảng)
Lấy bảng đã có sẵn từ CSDL khác về CSDL hiện thời. Bảng được tạo ra độc lập với
bảng nguồn.
Cách 1: trong cửa sổ Database chọn New/ ImportTable
Cách 2: vào thực đơn File/Get External Data/Import
Chỉ ra đường dẫn chọn file CSDL khác rồi chọn lệnh Import.


Hình 2.6: Cửa sổ Import Objects.
Chọn tên bảng cần Import rồi OK
Select All: chọn tất cả các bảng
Deselect All: huỷ chọn tất cả các bảng.
Chú ý: Ta có thể dùng phương pháp Export Table (xuất khẩu bảng) để đưa bảng từ
CSDL hiện thời sang CSDL khác.
Trang 16 Phần lý thuyết
Trường CĐ GTVT III NNT
Cách 1: chọn bảng cần xuất khẩu rồi vào thực đơn File/Export
Cách 2: nhấn phải chuột vào bảng cần xuất khẩu /Export
III.2 Link Table (bảng liên kết)
Là cách tạo bảng bằng cách liên kết đến một bảng của CSDL khác. Cách tạo bảng này
gần giống như cách tạo bảng bằng Import Table, chỉ khác là bảng không được lấy hẳn về như
Import Table mà chỉ là liên kết tới bảng đó.
Cách 1: trong cửa sổ Database chọn New/ LinkTable
Cách 2: vào thực đơn File/Get External Data/ LinkTable
Chỉ ra đường dẫn CSDL chứa bảng cần liên kết đến rồi chọn lệnh Link
Lưu ý:
Biểu tượng của bảng liên kết có thêm hình mũi tên.
Bảng liên kết chỉ được cập nhật dữ liệu, không được phép sửa thiết
kế.
IV. Các chế độ của Table
Có hai chế độ mở bảng, mở bảng ở chế độ cập nhật dữ liệu (Datasheet View) và mở
bảng ở chế độ thiết kế (Design View).
IV.1. Mở bảng ở chế độ thiết kế (Design View)
Cho phép sửa đổi cấu trúc bảng. Tại đây, chúng ta có thể chèn thêm trường, xoá
trường đi, thay đổi kiểu dữ liệu hay thuộc tính của trường,
Cách thực hiện:
Bước 1: chọn Table
Bước 2: nhấn Design trên thanh công cụ của cửa sổ Database

Chèn thêm một trường vào trong Table
Cách 1: vào thực đơn Insert/Rows
Cách 2: phải chuột /Insert Rows
Xoá một hoặc nhiều trường trong Table
Bước a: chọn các trường muốn xoá
Bước b: vào thực đơn Edit/Delete Rows hoặc phải chuột/ Rows
Tạo khoá chính (Primary Key)
Bước a: chọn một hoặc nhiều trường làm khoá chính
Bước b: thiết lập khoá chính
Cách 1: vào thực đơn Edit/Primary Key
Cách 2: nhấn vào biểu tượng Primary Key (chìa khoá)
trên thanh công cụ
(Nếu muốn bỏ khoá chính ta thực hiện lại động tác trên)
IV.2. Mở bảng ở chế độ cập nhật dữ liệu (Datasheet View)
Cho phép xem và thêm, xoá, sửa dữ liệu của bảng.
Cách thực hiện
Bước 1: chọn Table muốn mở
Bước 2: nhấn Open trên thanh công cụ của cửa sổ Database (hoặc
Enter)
Các thao tác trên Record: thêm, sửa, xoá Record
(giống trong MS Excel)
a. Nhập, sửa dữ liệu OLE Object
Nhập hình ảnh
Cách 1: vào thực đơn Insert/Object /chọn Object Type
Cách 2: phải chuột/ Insert Object / chọn Object Type
Phần lý thuyết Trang 17
NNT Trường CĐ GTVT III
Hình 2.7: Màn hình cho phép chỉ định loại đối tượng OLE.

Create New: tạo file ảnh, văn bản, bảng tính, bằng các chương trình trong Object

Type.
Hình 2.8: Chọn đường dẫn đến file cho đối tượng OLE.
Create from File: lấy file ảnh, văn bản, bảng tính, đã lưu trong máy
(Bấm nút Browse chọn đường dẫn tới file đó)
Link: chỉ liên kết tới file đó.
Sửa hình ảnh
Cách 1: vào thực đơn Edit/Bitmap Image Object / Edit
Cách 2: phải chuột/ Bitmap Image Object / Edit
Điều chỉnh độ rộng, thay đổi vị trí cột (tham khảo sách bài tập)
Đổi tên, ẩn, hiện cột (tham khảo sách bài tập).

b. Sắp xếp dữ liệu
Bước 1: Chọn cột cần sắp xếp
Bước 2: Chọn các cách
Cách 1: Record/Sort /{Ascending | Descending}
Cách 2: Nhấn biểu tượng trên thanh công cụ.
c. Lọc dữ liệu
Trang 18 Phần lý thuyết
Trường CĐ GTVT III NNT
Filter By Selection
Chức năng: Dùng để lọc các bản ghi thỏa mãn giá trị đã được chọn trong bảng dữ
liệu.
Bước 1: chọn giá trị cần lọc của cột trên bảng dữ liệu
Bước 2: chọn các cách sau
Cách 1: vào thực đơn Records/ Filter/ Filter By Selection
Cách 2: kích phải chuột/ Filter By Selection.
Để lọc những giá trị khác (ngược lại) với giá trị được chọn ta chỉ cần chọn Filter
Excluding Selection.
Để bỏ lọc ta chọn biểu tượng Remove Filter trên thanh công cụ (hoặc kích phải chuột /
Remove Filter).

Sử dụng lọc Filter By Form
Chức năng: Lọc những bản ghi thỏa mãn nhiều giá trị mà ta lựa chọn trên nhiều
cột (thỏa mãn nhiều điều kiện).
Bước 1: vào thực đơn Records/ Filter/ Filter By Form (hoặc chọn biểu tượng
Filter By Form trên thanh công cụ)
Bước 2: chọn giá trị cần lọc trên từng cột của bảng/Apply Filter
Sử dụng lọc Advanced Filter/Sort
Cho phép ta lọc dữ liệu và sắp xếp bằng cách sử dụng các phép toán (toán tử)
Bước 1: Chọn Records/ Filter/ Advanced Filter Sort xuất hiện
Field: Chọn trường cần lọc hoặc sắp xếp.
Sort: Chọn kiểu sắp xếp.
Criteria: nhập điều kiện lọc.
Or: Nhập điều kiện lọc hoặc.
Bước 2: Chọn Filter/ Apply Filter /Sort hoặc chọn Apply Filter trên thanh
công cụ
V. Sao chép, xóa, đổi tên Table trong CSDL
Phải đóng các Table cần thực hiện và trở về cửa sổ Database
V.1. Sao chép
Bước 1: chọn Table
Bước 2: vào thực đơn Edit/Copy
Bước 3: vào thực đơn Edit/Paste xuất hiện hộp thoại
Hình 2.9: Hộp thoại sao chép bảng.
Table Name: đặt tên Table mới (hoặc chọn bảng đích để nối dữ
liệu)
Paste Option: chọn dạng sao chép
Structure Only: chỉ lấy cấu trúc Table
Structure and Data: lấy cấu trúc Table và cả dữ liệu
Append Data to Existing Table: thêm dữ liệu vào cuối Table đích.
V.2. Đổi tên
Bước 1: chọn Table

Phần lý thuyết Trang 19
NNT Trường CĐ GTVT III
Bước 2: vào thực đơn Edit/Rename (hoặc phải chuột/Rename)
Bước 3: gõ tên mới/Enter.
V.3. Xoá Table
Bước 1: chọn Table
Bước 2: chọn các cách sau
Cách 1: phải chuột/ Delete
Cách 2: nhấn phím Delete trên bàn phím
Bước 3: xác nhận Yes để xoá.
VI. Quan hệ giữa các bảng – Relationship
Với những cơ sở dữ liệu được tổ chức cẩn thận và bài bản, thường thì sau khi thiết
kế xong cấu trúc cho các table, người ta quy định luôn mối quan hệ giữa các table này.
Khi tạo mối quan hệ thì tính nhất quán dữ liệu sẽ được đảm bảo và các bảng có
thể bổ xung thông tin cho nhau. Để dễ hiểu ta xét quan hệ giữa hai Table
a. Mối quan hệ một – một
Table A có quan hệ một – một với Table B nếu một giá trị trên trường quan hệ của
Table A chỉ xuất hiện một lần trên trường quan hệ của Table B và ngược lại.
b. Mối quan hệ một – nhiều
Table A có quan hệ một – nhiều với Table B nếu một giá trị trên trường quan hệ của
Table A có thể xuất hiện nhiều lần trên trường quan hệ của Table B nhưng giá trị trên trường
quan hệ của Table B chỉ xuất hiện một lần trên trường quan hệ của Table A.
c. Mối quan hệ nhiều – nhiều
Mối quan hệ này thể hiện rằng một giá trị trên trường quan hệ của Table A có thể
xuất hiện nhiều lần trên trường quan hệ của Table B và ngược lại.

Nếu trong thực tế có mối quan hệ này khi triển khai mô hình CSDL quan hệ phải tách
ra làm hai quan hệ một – nhiều bằng cách tạo ra Table thứ ba.
Ví dụ: ta có hai bảng gồm các trường sau:
SinhVien ( MaSV, TenSV, NgaySinh , QueQuan, Khoa )

MonHoc ( MaMH, TenMH, SoTiet )
Hai bảng này có quan hệ nhiều - nhiều vì “Một sinh viên phải thi nhiều môn học và
một môn học có nhiều sinh viên đăng ký thi”
Ta tạo Table thứ ba để giải toả mối quan hệ nhiều - nhiều như sau:
KETQUATHI (MaSV, MaMH, Diem)
VI.1. Tạo dây quan hệ
Bước 1: Hiện hộp thoại Relationships
Cách 1: Vào thực đơn Tools/Relationships
Cách 2: Chọn biểu tượng thanh công cụ
Bước 2: Hiện hộp thoại Show Table
Cách 1: Relationships/ Show Table
Cách 2: Chọn biểu tượng trên thanh công cụ
Trang 20 Phần lý thuyết
Trường CĐ GTVT III NNT
Hình 2.10: Màn hình thêm các Table vào cửa sổ quan hệ.
Add: để bổ xung thêm Table vào quan hệ
Close: đóng cửa sổ Show Table.







Hình 2.11: Các bảng trong file CSDL TuyenSinh.mdb.
Bước 3: Đặt quan hệ giữa 2 bảng (dùng phương pháp kéo thả)
Xuất hiện hộp thoại Edit Relationships
Phần lý thuyết Trang 21
NNT Trường CĐ GTVT III
Hình 2.12: Cửa sổ tạo các ràng buộc cho quan hệ

Enfore Referential Integrity
ép buộc tính toàn vẹn tham chiếu: đảm bảo sự đúng đắn của dữ liệu.
Cascade Update Related Fields: Cập nhật liên hoàn: khi ta thay đổi giá trị của
khoá chính thì giá trị tương ứng trong tất cả các bảng liên hệ với nó cũng tự động thay đổi
theo.
Cascade Delete Related Records: Xoá liên hoàn: bản ghi ở bảng chính bị xoá thì
các bản ghi ở các bảng liên hệ cũng bị xoá theo.
Lưu ý: Các chức năng Cascade Update Related Fields, Delete Related Records
chỉ có thể sử dụng được nếu ta chọn Enfore Referential Integrity.
Relationdhips Type: loại quan hệ
Trang 22 Phần lý thuyết
Trường CĐ GTVT III NNT
One to One: là quan hệ một – một
One to Many: là quan hệ một – nhiều
Chú ý: Nếu là quan hệ có ép buộc tính toàn vẹn tham chiếu thì dây quan hệ sẽ có
biểu diễn loại quan hệ (có đầu mút), còn nếu không thì dây quan hệ sẽ là đường trơn không có
biểu diễn loại quan hệ (không có đầu mút).
Bước 4: Chọn nút lệnh Create.







Hình 2.13: Các quan hệ trong file CSDL TuyenSinh.mdb.
VI.2. Sửa dây quan hệ
Cách 1: Nhấn đúp chuột tại dây quan hệ
Cách 2: Nhấn phải chuột tại dây quan hệ / Edit Relationship
VI.3. Xoá dây quan hệ

Cách 1: Chọn dây quan hệ / nhấn phím Delete
Cách 2: Phải chuột dây quan hệ / Delete.
VII. Các phép toán
VII.1. Các phép toán số học
Chú ý: Thứ tự ưu tiên của các
phép toán là lũy thừa, nhân, chia, chia lấy
nguyên, cộng, trừ. Ngoài ra có thể sử dụng
dấu ( ) để thay đổi thứ tự ưu tiên.
VII.2. Các phép toán so sánh
Chú ý: Đối với giá trị kiểu
Date/Time thì ngày sau lớn hơn ngày
trước.
Các phép toán so sánh tạo nên biểu thức Logic cho kết quả True (-1) hoặc False (0)
VII.3. Các phép toán Logic: AND, OR, NOT
X Y X AND Y X OR Y NOT (X)
-1 -1 -1 -1 0
-1 0 0 -1 0
0 -1 0 -1 -1
0 0 0 0 -1
Chú ý: Thứ tự ưu tiên của các phép toán Logic là NOT -> AND -> OR. Ngoài ra có
thể sử dụng dấu ( ) để thay đổi thứ tự ưu tiên.
VII.4. Phép toán ghép chuỗi
Cú pháp: <Biểu thức chuỗi 1> & <Biểu thức chuỗi 2>
Ví dụ: “Chao cac ban ” & ” hoc vien, sinh vien SaraCenter” trả về chuỗi
“Chao cac ban hoc vien, sinh vien SaraCenter”
Phần lý thuyết Trang 23
NNT Trường CĐ GTVT III
Chú ý: Nếu thay phép toán & bằng phép toán + thì có thể cho kết quả sai trong một
số trường hợp.
VII.5. Phép lấy mẫu

Cú pháp: LIKE <mẫu dữ liệu>
So sánh chuỗi dữ liệu với mẫu dữ liệu được chỉ sau LIKE
Các kí tự đại diện sử dụng trong mẫu dữ liệu
*: đại diện cho nhiều kí tự
?: đại diện cho một kí tự
#: đại diện cho một chữ số (từ 0 đến 9)
Ví dụ: Tìm những thí sinh có tên bắt đầu bằng kí tự “H”
LIKE “H*” trả kết quả “Hữu”, “Hạnh”, “Hương”,
Ví dụ: Tìm những thí sinh có tên không bắt đầu bằng kí tự “T”
NOT LIKE “T*”
VII.6. Phép toán BETWEEN AND
Cú pháp: BETWEEN <giá trị 1> AND <giá trị 2>
Lấy giá trị trong đoạn từ giá trị 1 đến giá trị 2
Ví dụ: BETWEEN 1 AND 10 ⇔ >=0 AND <=10
BETWEEN #01/01/1982# AND #30/12/1982#
⇔ >= #01/01/1982# AND <= #30/12/1982#
VII.7. Phép toán IN
Cú pháp: IN (<giá trị 1>, <giá trị 2>, , <giá trị N>)
Lấy giá trị rời rạc <giá trị 1> hoặc <giá trị 2>, ,<giá trị N>
Ví dụ:
IN(1,3,4,5) ⇔ 1 OR 2 OR 4 OR 5
IN(“Hà Nội”, “Thái Bình”,”Hà Tây”) ⇔ “Hà Nội” OR “Thái Bình”
OR ”Hà Tây”
NOT IN (“Hà Nam”, “Hải Phòng”) ⇔ <> “Hà Nam” AND <> “Hải
Phòng”.
VII.8. Phép toán IS NULL
Để lấy những giá trị rỗng (không có dữ liệu)
Ví dụ: Chọn ra những thí sinh chưa có thông tin về khu vực
MaKV is null
Chú ý chung:

Giá trị của kiểu Text nằm trong dấu nháy kép “…”
Giá trị của kiểu Date/Time nằm trong dấu thăng #… #
Có thể kết hợp các toán tử Logic với các toán tử khác như:
Not Like, Not Between, Not In, Is Not Null,
Trang 24 Phần lý thuyết
Trường CĐ GTVT III NNT
CHƯƠNG 3: QUERY - TRUY VẤN
I. Khái niệm
Là công cụ khá đặc trưng của MS Access, đáp ứng các yêu cầu giúp cho người sử
dụng tính toán xử lý và khai thác dữ liệu trên CSDL dưới nhiều hình thức.
Số liệu thì được lưu trữ trên Table, còn Query là công cụ để tìm và nhìn số liệu
dưới nhiều góc độ khác nhau.
Query dùng để tạo ra nguồn số liệu cơ sở cho các thành phần khác như: Form,
Report kể cả một Query khác, thậm chí tạo ra một Table.
Có 2 phương thức tạo Query
Thiết kế thông qua cửa sổ đồ hoạ QBE (Query By Example)
Hình 3.1: Truy vấn thông tin các thí sinh KV1.

Viết bằng lệnh SQL (Structured Query Language)
Hình 3.2: Truy vấn thông tin các thí sinh KV1.
Phần lý thuyết Trang 25

×