Phần II
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MICROSOFT ACCESS
2
CHƯƠNG 4. GIỚI THIỆU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
MICROSOFT 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 Database
Management 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 MS Access
Start All Programs Microsoft Office Microsoft Office Access
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 Database
Ở 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
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
Phủ định mệnh đề
Kế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.
Kế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.
2 mệnh đề có giá trị trái ngược nhau thì cho kết quả đúng
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
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
So sánh 2 đối tượng
Thuộc, trong tập hợp hoặc miền giá trị (dùng trong các câu truy vấn)
Trong khoảng từ…đến…
Not
And
False
Ý nghĩa
Giá trị đúng
Giá trị sai
[…]
Giá trị tham số, ví dụ [tham so]
Null
Giá trị rỗng
#...#
Date
Ngày hiện hành
Ngày giờ hiện
hành
Giờ hiện hành
[Color]
Toán tử
True
Now
Time
Mid(TenSV,2,3)
Kết quả
Tên bắt đầu bằng chữ N
Tên có chứa chữ a
3 (nếu Ten = 'Mai')
5 (nếu Ten = 'Nguyen')
'Ma'
'ai' (nếu TenSV = 'Mai')
'guy' (nếu TenSV = 'Nguyen')
2) Các hàm về ngày tháng
Hàm
Now()
Kết quả
Ngày giờ hiện tại
Month(#8/12/2011#)
Day(#5/27/2011#)
Year(Now())
Year(Now()) – Year(NgaySinh)
2
2
Tính số tuổi của sinh viên
Hour(#06:30#)
Minute(#13:
DatePart('q',
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)
Tên bảng
Trường dữ liệu (field)
Bản ghi (record)
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ệ)
Trường khóa chính
(primary key)
Các thuộc tính mô
tả trường dữ liệu
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 MaKhoa có kiểu dữ liệu là Text, kích thước 2 ký tự, được hiển thị là
chữ in hoa,…
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
Phần I2.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ệ - và quan hệ -∞ (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ới
một bản ghi trong bảng A.
Ví dụ: một khoa của trường Đại học Nha Trang
có nhiều sinh viên nhưng một sinh viên chỉ thuộc về
duy nhất một khoa.
Mô tả dữ liệu 2 bảng như sau:
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
Tab Tables Create Table in Design View hoặc Tab Tables
Sau đó ta được bảng thiết kế như sau:
Thông báo khi nhập dữ liệu sai
quy tắc
Tạo chỉ mục
Bắt buộc phải nhập dữ
liệu hay không
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:
Text: kiểu chuỗi có độ dài tối đa 2 ký tự
Memo: kiểu chuỗi có độ dài tối đa .
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ờ)
Single
số thực byte
Double
số thực 2 byte
Decimal
số thực
byte
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: 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ự
Hiển thị
2 abc-def
TINHOC
tinhoc
ABC
Không có
Chưa nhập
Kiểu số (Number) và kiểu số tiền tệ (Currency)
Định dạng do ACCESS cung cấp
Loại số
General Number
Currency
Euro
Fixed
Standard
Pecent
Scientific
Dữ liệu nhập vào
2 .
2 .
2 .
2 .
2 .
. 2
2 .
Hiển thị
Hiển thị dấu + phía trước nếu số dương
Hiển thị dấu - phía trước nếu số âm
Hiển thị . nếu âm hoặc Null
Kiểu Date/Time
Định dạng do ACCESS cung cấp
Định dạng
General date
Hiển thị
10/30/99 5:10:30PM
Long date
Medium date
Friday, may 30 , 1999
30-jul-
Short date
Long time
Medium time
Short time
6:20:00 PM
6:20 PM
:2
Kiểu Yes/No
Định dạng do ACCESS cung cấp
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 Text Box
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 đúng
theo quy định đã cài đặt ở thuộc tính này.
Ký tự
#
L
?
a
A
&
C
!
Tác dụng
Bắt buộc nhập ký tự số
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à 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
Bắt buộc nhập, ký tự chữ hoặc số
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ỳ
Không bắt buộc nhập ký tự bất kỳ
Ví dụ:
Tác dụng
Validation rule
0
Khác số không
Like "*HUE*"
Trong chuỗi phải chứa HUE
>= #10/10/99# and
trên thanh công cụ.
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
Right Click Delete Row
5.3. Thiết lập mối quan hệ giữa các bảng
Bước 1: Chọn biểu tượng Relationship
hoặc vào menu 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 lần
lượt chọn bảng Add
Sau khi chọn xong thì click Close
Nếu cần chọn thêm bảng thì Right Click (tại vùng cửa
sổ Relationships) Show Table
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
hoặc click vào biểu tượng
trên thanh công cụ.
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ằng các cách sau
Double click vào bảng cần xem (hoặc nhập dữ liệu)
Click chọn bảng, sau đó click vào biểu tượng
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 MaKH của bảng SinhVien
Bảng có
quan hệ
nhiều (∞)
Trường khóa
ngoại đến
bảng quan hệ
Kiểu thể hiện
dữ liệu
Bảng được tham chiếu
(bảng có quan hệ )
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
Nhấn phím Delete.
Right Click trên vùng đã chọn Delete Record
Click vào biểu tượng
trên thanh công cụ
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ệu
Sắ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:
Bước 1: Đặt con trỏ lên trường (cột) muốn sắp xếp;
Bước 2: Nhấn nút lệnh sắp xếp trên thanh công cụ:
- Sắp xếp tăng dần
- Sắp xếp giảm dần.
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ả
Delete Query
Update Query
Make Table Query
6.2. Query truy vấn
6.2.1. Select Query (truy vấn với phép chọn, chiếu, kết nối)
Phần này minh họa lại cách thực hiện Query cho các ví dụ về các phép chọn, chiếu,
kết nối trong chương về đại số quan hệ.
Ví dụ 01: Cho biết tên khoa của sinh viên có mã số ‘ 2 2’. Liệt kê các thông tin
MaSV, HoSV, TenSV, TenKhoa.
Biểu thức đại số quan hệ cho truy vấn trên:
MaSV, HoSV, TenSV, TenKhoa [ MaSV=’5202’ (SinhVien ⋈ MaKH = MaKhoa Khoa)]
Tạo truy vấn trong Access:
Trong màn hình cơ sở dữ liệu, chọn mục Queries, sau đó chọn Create query in
Design view để mở màn hình Show Table.
Trong màn hình Show Table, chọn và nhấn nút Add các table tham gia truy vấn
(Khoa và SinhVien). Sau khi chọn xong, nhấn nút Close để trở về màn hình Design Query.
Bảng tham gia
Kéo bốn cột MaSV, HoSV, TenSV, TenKhoa vào phần B.
Thực hiện phép chọn MaSV = ' 2 2': gõ mệnh đề = ' 2 2' vào dòng Criteria
ứng với cột MaSV.
Kết quả thực hiện:
Ví dụ 02: Tạo cột mới (HoTen) từ 2 trường HoSV và TenSV
Kết quả thực hiện: