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

Session 2 Sử dụng Access ppt

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 (399.15 KB, 21 trang )

Session 2 Sử dụng Access
Mục tiêu của bài học:
Cuối bài học này, bạn có thể:
Trình bày ngắn gọn giới thiệu về MS Access
Tạo một CSDL mới trong Access
Tạo các bảng trong Access
Giải thích làm thế nào để đặt khóa chính và khóa ngoại
Giải thích làm thế nào để kiểm tra tính hợp lệ của dữ liệu
Giải thích các quy tắc kiểm tra hợp lệ
Giải thích làm thế nào để thêm, sửa và xóa dữ liệu
Giải thích toàn vẹn tham chiếu là gì
Giải thích làm thế nào để nhập (import data) và xuất (export data) dữ liệu
Giải thích làm thế nào để tạo ra mật khẩu cho CSDL
Giải thích quá trình thu gọn (Compacting) và sửa chữa (Repairing) với MS Access
Giới thiệu
Trong bài trước, chúng ta đã giới thiệu thuật ngữ ‘cơ sở dữ liệu’ (CSDL) và các khái niệm cơ bản
liên quan đến CSDL. Chúng ta cũng đã tìm hiểu các mô hình CSDL khác nhau và tìm hiểu kỹ mô
hình CSDL quan hệ. Ta cũng đã thảo luận các khái niệm cơ bản về CSDL quan hệ, thuật ngữ
‘Toàn vẹn thực thể’ và ‘Toàn vẹn tham chiếu’, và kết thúc bài học với đoạn giới thiệu ngắn gọn
về ngôn ngữ SQL.
Trong bài này, chúng ta sẽ giới thiệu MS Access là một hệ quản trị CSDL quan hệ và khám phá
cách tạo bảng và CSDL. Chúng ta sẽ biết làm cách nào để thêm, sửa và xóa dữ liệu. Chúng ta
cũng sẽ biết làm cách nào để kiểm tra tính hợp lệ của dữ liệu trước khi nó được thêm vào hoặc
sửa chữa. Tính toàn vẹn thực thể và toàn vẹn tham chiếu trong MS Access cũng sẽ được thảo
luận. Access cung cấp các tính năng như đặt mật khẩu để bảo mật cho CSDL, thu gọn và sửa
chữa CSDL để đạt được hiệu suất hoạt động cao nhất.
2.1 Giới thiệu về Access
Microsoft Access 2000 là một Hệ Quản trị Cơ sở Dữ liệu Quan hệ (RDBMS). Là một thành phần
trong các phiên bản dành cho người dùng chuyên nghiệp và các nhà phát triển của bộ Microsoft
Office 2000, phần mềm này có giao diện dễ sử dụng giống như Excel 2000 và Word 2000.
Giống như các hệ quản trị CSDL quan hệ khác, MS Access đóng vai trò như một thành phần phía


sau back-end, nghĩa là nó chịu trách nhiệm lưu trữ dữ liệu, hơn nữa MS Access cho phép người
dùng tạo ra thành phần giao diện front-end để truy xuất thông tin một cách tương tác và thân
thiện.
Sử dụng Access 17
 Microsoft Access là một Hệ Quản trị CSDL Quan Hệ (RDBMS - Relational Database
Management System). Bên cạnh việc giúp người sử dụng thêm, sửa, xóa và thao tác các
bản ghi, nó còn cho phép tạo và bảo trì các mối quan hệ giữa các bảng.
2.1.1 Cơ sở dữ liệu Access
CSDL Access được cấu thành từ bảy đối tượng: Tables (Bảng), Queries (Truy vấn), Forms (Biểu
mẫu), Reports (Báo cáo), Pages (Trang), Macros (Macro) và Modules (Mô đun).
Dữ liệu trong CSDL đuợc lưu vào các ‘Bảng’. Việc truy xuất dữ liệu dựa trên một số tiêu chí
được thực hiện bằng cách sử dụng ‘Truy vấn’. Việc tạo giao diện cho người dùng để nhập, thay
đổi và thao tác dữ liệu được thực hiện bằng cách sử dụng ‘Biểu mẫu’. ’Báo cáo’ được dùng để
hiển thị dữ liệu lấy từ một hay nhiều bảng theo một định dạng nào đó. Dữ liệu này được lấy trực
tiếp từ các bảng hoặc có thể là kết quả của một số phép tính toán trên các trường. Ta cũng có thể
in các ‘Báo cáo’, ’Macro’ và ’Mô đun’ giúp ta tự động hóa các quy trình tính toán, duyệt qua ứng
dụng, in các báo cáo, Dữ liệu từ các bảng có thể được xem dưới dạng một trang web bằng cách
sử dụng ’Trang’. Hình 2.1 hiển thị màn hình ngay sau khi tạo một cơ sở dữ liệu.
Hình 2.1: Một cơ sở dữ liệu Access có tên là ‘auction’
Một CSDL trong MS Access có thể có một hoặc nhiều bảng có quan hệ với nhau. Xét một CSDL
lưu trữ các dữ liệu liên quan đến một ‘Hệ thống đặt vé máy bay’. Chi tiết về các hành khách đã
đặt vé có thể được lưu trong bảng ‘Reservation’, còn chi tiết về những vụ hủy vé có thể được lưu
trong bảng ‘Cancellation’. Ngày giờ các chuyến bay có thể được lưu trong một bảng khác nữa.
Tất cả các bảng này đều liên quan đến việc đặt vé máy bay nên tốt hơn hết là lưu trữ trong cùng
một CSDL, tên là ‘Airlines’. Mặt khác, một bảng chứa dữ liệu chi tiết về các lần nghỉ phép của
nhân viên của hãng hàng không thì không phù hợp với CSDL này, vì nó không liên quan gì đến
việc đặt vé máy bay.
2.1.2 Tạo một cơ sở dữ liệu mới
Với MS Access, chúng ta có thể dùng một trong hai cách sau để tạo một CSDL mới:
18 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000


 Sử dụng Database Wizard
 Không dùng Database Wizard
Cách đầu tiên khá dễ dàng. Chúng ta chọn Wizard và thực hiện theo các bước được chỉ ra và tạo
tất cả các thành phần như bảng, biểu mẫu, truy vấn.
Để tạo bảng theo cách dùng Wizard, chúng ta nhấn chuột vào General Templates và nhấn vào
thẻ ‘Databases’. Hộp thoại sau đây sẽ xuất hiện trên màn hình.
Hình 2.2: Các templates trong MS Access
Khi đã chọn một mẫu có sẵn (template), Wizard sẽ tiếp tục gợi ý người dùng qua một loạt các
bước để tạo một CSDL như minh họa trong hình 2.3.
Sử dụng Access 19
Hình 2.3: Database Wizard
Nếu không muốn dùng một Wizard, chúng ta có thể tạo một CSDL mới trong MS Access bằng
cách chọn trình đơn File, sau đó chọn New. Chúng ta có thể hoặc dùng một CSDL có sẵn làm
mẫu để tạo CSDL mới, hoặc tạo mới CSDL từ đầu. Để tạo CSDL từ một tập tin có sẵn, ta có thể
chọn Choose file và chọn một CSDL cụ thể qua một hộp thoại như trong hình 2.4:
20 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Hình 2.4: Tạo CSDL từ một CSDL đang tồn tại
Cách khác, chúng ta có thể tạo một CSDL mới, rỗng bằng cách chọn Blank Database. Việc này
có nghĩa là chúng ta cần phải tạo từ đầu các bảng. Phần tiếp theo sẽ mô tả việc tạo bảng như thế
nào trong MS Access.
2.1.3 Cơ sở dữ liệu trong MS Access và tập tin cơ sở dữ liệu
Khi chúng ta tạo một CSDL trong MS Access (dùng bất cứ cách nào), CSDL đó sẽ được lưu
trong một tập tin .mdb trong hệ thống. Trong phần này chúng ta sẽ biết làm cách nào để tạo ra các
bảng trong CSDL MS Access.
2.2 Bảng trong Access
Như chúng ta đã biết, trong MS Access, dữ liệu được lưu trong bảng nằm trong CSDL. Một bảng
được cấu thành từ một tập hợp các bản ghi. Đến lượt mình, mỗi bản ghi lại được cấu tạo từ nhiều
trường. Bây giờ chúng ta tìm hiểu xem làm thế nào để tạo bảng trong MS Access.
Giả sử chúng ta cần tạo hai bảng có tên là Product (Sản phẩm) và Bidding_details (Chi tiết đấu

giá) để lưu trữ thông tin chi tiết về các sản phẩm và các cuộc đấu giá cho một website đấu giá
trực tuyến.
Cấu trúc của các bảng này được minh họa trong hình 2.5.
Product
Trường Kiểu dữ
liệu
Kích
thước
ItemCode Numeric 3
Itemname Text 40
Price Numeric 10
Category Text 10
City Text 20
Bidding_details
Trường Kiểu dữ
liệu
Kích
thước
BidCode Numeric 3
ItemCode Numeric 3
Bids Numeric 3
Date Date/Time
Hình 2.5: Cấu trúc của các bảng
Các bước liên quan để thiết kế một bảng:
 Lựa chọn ra các trường hoặc các mục dữ liệu thích hợp để cho vào mỗi bảng.
 Xác định kiểu dữ liệu cho mỗi mục dữ liệu trong mỗi bảng.
 Nếu có thể thì xác định kích thước cho trường.
 Đặt các ràng buộc (constraints) trên các trường cần thiết.
Tên trường, kiểu dữ liệu, kích thước trường, ràng buộc và các thuộc tính khác tạo nên “cấu trúc”
của bảng. Chúng tạo thành nền tảng mà theo đó dữ liệu được nhập vào và duy trì. Nó được gọi là

‘Conceptual View – Cách nhìn khái niệm’ của bảng trong một CSDL quan hệ. Các hệ quản trị
CSDL trực quan như MS Access cung cấp một chế độ làm việc với bảng cho phép người dùng
tạo và thay đổi cấu trúc của bảng gọi là ‘Design View’. Các hệ quản trị CSDL quan hệ không trực
quan khác không cung cấp chế độ này.
Sử dụng Access 21
2.2.1 Tạo bảng
Chúng ta có thể tạo một bảng mới hoàn toàn bằng một trong các cách sau:

 Dùng Table Wizard
 Dùng Design View
 Dùng Datasheet View
Khi chúng ta nhấn chuột vào lựa chọn Table New, hộp thoại sau xuất hiện như hình 2.6.
Hình 2.6: Tạo một bảng mới
Table Wizard cho chúng ta một cách tạo bảng nhanh chóng và ngắn gọn. Chúng ta phải chọn ra
các trường từ các bảng được định nghĩa sẵn. Hình 2.7 minh họa các bảng mẫu được chứa sẵn
trong MS Access.
22 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Hình 2.7: Tạo bảng với Table Wizard
Nếu dùng Design View hay Datasheet View để tạo bảng, chúng ta phải tự tạo các trường của
riêng mình. Khi nhấn chuột vào nút Design View để tạo bảng, hộp thoại sẽ xuất hiện như hình 2.8
Hình 2.8: Tạo bảng sử dụng Design View
Sử dụng Access 23
Chúng ta cần làm quen với một số thuật ngữ liên quan đến bảng, các thuật ngữ này được đề cập
dưới đây.
Tên trường (Field Name) là một tiêu đề mà dữ liệu sẽ được cung cấp theo đó. Ví dụ: City là một
tiêu đề. Kích thước trường (Field Size) là dung lượng cần thiết để lưu trữ một mục dữ liệu.
City
Boston
Bản ghi (Record) là một tập hợp đầy đủ các trường có liên quan với nhau. Ví dụ, hình 2.9 minh
họa một tập hợp các trường có quan hệ với nhau, đó là một bản ghi. Nói cách khác, nếu đây là

một thành phần của bảng thì chúng ta có thể gọi đó là một dòng dữ liệu. Do đó, một dòng dữ liệu
cũng được gọi là một bản ghi.
Itemcode Itemname Price Category City
11 The Fountainhead 240 Book Boston
Hình 2.9: Ví dụ một bản ghi
Một bảng còn được coi như là một tập hồ sơ. Các bản ghi của bảng Product được thể hiện như
trong hình 2.10
Hình 2.10: Minh họa một bảng trong MS Access: bảng Product
Trong tập hợp dữ liệu trên đây, ta có thể thấy các mục dữ liệu thuộc nhiều kiểu khác nhau. Chẳng
hạn dữ liệu dưới tiêu đề Category là văn bản, trong khi dưới tiêu đề Price lại là một con số. Vì
có nhiều mục dữ liệu khác nhau, ta phải định nghĩa từng mục dữ liệu một, với mỗi mục dữ liệu ta
phải chỉ ra kiểu dữ liệu và tên trường cho nó.
Ví dụ như trường hợp Price (giá cả), chúng ta phải chỉ ra dữ liệu đó thuộc kiểu số và chúng ta gọi
dữ liệu đó là Price. Trong trường hợp City (thành phố), chúng ta phải xác định nó có kiểu văn
bản/kí tự và chúng ta muốn gọi dữ liệu đó là City.
Tương tự như vậy, chúng ta phải xác định được tên trường và kiểu dữ liệu cho từng trường khi
tạo bảng. Các trường được định nghĩa với kiểu dữ liệu phù hợp.
Các kiểu dữ liệu thông dụng đối với hầu hết các hệ quản trị CSDL quan hệ là:
a) Kiểu ký tự (Alphanumeric):
24 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Bảng
Kiểu dữ liệu này dùng để lưu cả kí tự và số. Trong một số hệ quản trị CSDL, kiểu
alphanumeric có thể có hai loại – một loại có kích thước cố định và loại kia có kích thước
thay đổi. Trong trường hợp kích thước cố định, nếu kích thước được đặt là 10, không kể bao
nhiêu dữ liệu được lưu trong trường đó, trường này cũng chiếm cố định 10 vị trí. Ngược lại,
khi cũng trường đó được đặt kiểu dữ liệu là có kích thước thay đổi, và kích thước trường
được đặt là 10, khi ta lưu 4 kí tự thì đảm bảo là chỉ chiếm 4 vị trí. Ở đây dung lượng dùng để
lưu trữ dữ liệu phụ thuộc vào lượng dữ liệu nhập vào.
Trong MS Access, kiểu alphanumeric được gọi là kiểu ‘Text’, và có chiều dài thay đổi. Kiểu
này có thể chứa được tối đa 255 kí tự.

b) Kiểu số (Numeric):
Kiểu ‘Numeric’ được dùng để lưu các con số. Hầu hết các hệ quản trị CSDL quan hệ đều có
vài phân loại con cho kiểu dữ liệu number. Mỗi phân loại con tự nó cũng là một kiểu dữ liệu.
Các kiểu thông dụng nhất trong số đó là:
Numeric Types Description
‘Byte’ Lưu các con số trong khoảng từ 0 đến 255. Kiểu này chiếm
không gian 1 byte.
‘Integer’ Chỉ lưu các số nguyên. Kiểu này chiếm 2 byte, cho phép nhận
các giá trị trong khoảng -32768 đến 32767
‘Long Integer’ Chiếm 4 byte và lưu được các số nguyên lớn hơn nhiều
‘Float’ Lưu các số thực, có độ chính xác đến 6 số sau dấu thập phân.
‘Double’ Lưu các số thực với độ chính xác cao hơn nhiều
Bảng 2.1: Các kiểu con của Numeric
Phụ thuộc vào từng hệ quản trị CSDL quan hệ, có thể có các biến thể khác của kiểu dữ liệu
‘Numeric’ ngoài các kiểu đã liệt kê trên đây. Tuy nhiên trong MS Access, kiểu ‘Number’ hỗ
trợ phần lớn các loại dữ liệu số đã đề cập ở trên. Chúng ta sẽ gặp lại chúng một cách chi tiết
hơn trong các phần sau.
Bên cạnh kiểu dữ liệu ‘Number’, cũng còn một kiểu dữ liệu ‘AutoNumber’ mà MS Access
cung cấp. Kiểu này rất tiện lợi khi một trường được dùng để chứa số thứ tự, hoặc các con số
mà chúng được tạo ra một cách ngẫu nhiên. MS Access cũng cho ta một kiểu dữ liệu riêng
gọi là ‘Currency’ để lưu các dữ liệu thuộc kiểu tiền tệ.
c) Kiểu ngày tháng/thời gian (Date/Time):
Kiểu dữ liệu này thông dụng với hầu hết các hệ quản trị CSDL quan hệ và được dùng để lưu
ngày tháng và thời gian. Tuy nhiên một số hệ quản trị CSDL quan hệ lại có một kiểu dữ liệu
riêng để lưu ngày tháng và một kiểu khác để lưu thời gian. Một lần nữa, định dạng của dữ
liệu kiểu ngày tháng được lưu trữ phụ thuộc vào hệ quản trị CSDL quan hệ. Ví dụ như Oracle
lưu dữ liệu kiểu ngày tháng theo định dạng ‘dd-mon-yy’, trong khi Access lưu ngày tháng
theo định dạng chuẩn ‘mm/dd/yy’. MS Access cũng cho phép dùng các định dạng khác cho
dữ liệu kiểu ngày tháng như dạng dài (long date time) hay dạng ngắn (short date).
d) Kiểu logic (Boolean)

Sử dụng Access 25
Kiểu dữ liệu này dùng để lưu một giá trị Boolean (TRUE/FALSE).
Trong MS Access, kiểu dữ liệu này được gọi là kiểu dữ liệu ‘Yes/No’ và được dùng để lưu
một trong hai giá trị này. Người sử dụng có thể nhập vào ‘Yes’ (hay ‘True’ hoặc ‘On’) hoặc
‘No’ (hay ‘False’ hoặc ‘Off’). Kiểu này chỉ chiếm 1 bit.
e) Kiểu memo (Memo)
Một số hệ quản trị CSDL quan hệ như MS Access còn cung cấp một kiểu dữ liệu khác để lưu
các dữ liệu có kích thước vượt quá mức mà trường kiểu ‘Text’ có thể lưu trữ. Như đã đề cập,
một trường kiểu ‘Text’ có thể lưu đến 255 kí tự. Để lưu bất kỳ dữ liệu nào vượt quá mức đó,
ta có thể dùng kiểu dữ liệu ‘Memo’. Kiểu dữ liệu này cho phép lưu đến 64,000 kí tự.
f) Các kiểu dữ liệu đặc biệt
Có một số kiểu dữ liệu để lưu các dữ liệu như hình ảnh, toàn bộ các tập tin, v.v. MS Access
cung cấp một kiểu dữ liệu gọi là ‘OLE Object’ dùng để lưu các dữ liệu như vậy.
Ngoài các kiểu dữ liệu mà hầu hết các hệ quản trị CSDL quan hệ cung cấp, MS Access còn
cung cấp một kiểu dữ liệu gọi là ‘Hyperlink’. Kiểu dữ liệu này cho phép người dùng lưu các
URL, địa chỉ email hoặc liên kết đến các tập tin khác trong hệ thống của người dùng hay trên
mạng.
Dưới đây là bảng tóm tắt các kiểu dữ liệu trong MS Access:
Kiểu dữ liệu Mô tả
Text Chứa dữ liệu alphanumeric
Memo Chứa dữ liệu vượt quá 255 kí tự
Number Lưu dữ liệu số để tính toán về sau
Date/Time Lưu ngày tháng hoặc thời gian
Currency Lưu các giá trị kiểu tiền tệ
AutoNumber Tự động tạo ra các số thứ tự hoặc các số ngẫu nhiên (các con số không bao
giờ lặp lạI)
Yes/No Lưu một giá trị lô gic hay ‘Boolean’, có giá trị ‘Yes/No’ hoặc
‘True/False’.
Hyperlink Lưu các URL, địa chỉ email hoặc liên kết đến các tập tin khác trong hệ
thống

OLE object Lưu hình vẽ, ảnh chụp của nhân viên, tập tin Word, Excel hoặc tương tự
như vậy
Bảng 2.2: Tóm tắt các kiểu dữ liệu trong MS Access
Việc tìm ra các trường cần thiết và chọn kiểu dữ liệu thích hợp cho mỗi trường là rất cần thiết.
Một lý do quan trọng cho việc này là các toán tử thao tác trên các trường phụ thuộc vào kiểu dữ
liệu của các trường đó. Cùng một phép tính cộng sẽ làm việc khác nhau trên trường kiểu số và
kiểu ngày tháng.
Hãy xét ví dụ sau đây để hiểu rõ hơn tầm quan trọng của việc chọn kiểu dữ liệu thích hợp:
26 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
1) Nếu trường Pending Quantity (số lượng hàng ta còn nợ khách) (kiểu dữ liệu: Numeric) là 70
và ta cộng thêm 5 vào đó, kết quả sẽ như sau:
70 + 5 = 75
2) Nếu trường Order Date (ngày đặt hàng) (kiểu dữ liệu: ngày tháng) là 9/3/98 và ta cộng thêm
5, kết quả sẽ như sau::
9/3/98 + 5 = 14/3/98
Cùng với kiểu dữ liệu, chúng ta cần phải chỉ rõ kích thước của trường nếu kiểu dữ liệu đó là văn
bản (Text) hay số (Numeric). Về cơ bản, việc chỉ ra kích thước trường nghĩa là chỉ ra lượng dữ
liệu tối đa mà trường đó có thể chứa được. Với một số kiểu dữ liệu, ta không cần phải định kích
thước. Ví dụ như khi một trường có kiểu dữ liệu ngày tháng (Date), kích thước của trường đó
được tự động đặt là 8 byte.
Lấy ví dụ, trong MS Access, kích thước mặc định cho một trường kiểu ‘Text’ là ‘50’, nghĩa là tối
đa 50 kí tự có thể được nhập vào trường này. Tuy nhiên, ta có thể định lại kích thước đó là một số
trong khoảng 0 đến 255, phụ thuộc vào kích thước của dữ liệu mà ta cần lưu trong trường đó.
Trong phần nói về các kiểu dữ liệu trước đây, chúng ta đã thấy kiểu dữ liệu ‘Number’ có thể có
nhiều loại khác nhau. Tuy nhiên MS Access chỉ cung cấp một kiểu dữ liệu ‘Number’. Nhưng ta
có thể kiểm soát kích thước của trường bằng cách thiết lập giá trị cho thuộc tính ‘Field Size’ trên
trường đó. Bảng dưới đây là tóm tắt các thiết lập cho phần ‘Field Size’ của trường có kiểu
‘Number’.
Thiết lập Mô tả
Byte Lưu các số từ 0 đến 255 (không có phần thập phân).

Integer Lưu các số từ –32768 đến + 32767 (không có phần thập phân).
Long Integer Đây là thiết lập mặc định. Lưu các số từ –2,147,483,648 đến + 2,147,483,647.
Single Lưu các số thập phân (với độ chính xác thập phân là 7 chữ số).
Double Lưu các số thập phân (với độ chính xác thập phân là 15 chữ số).
Bảng 2.3: Thiết lập kích thước trường (Field Size) cho trường kiểu Number
Cần phải đặt kích thước trường là nhỏ nhất có thể vì càng ít dữ liệu xử lí càng nhanh hơn và tốn
ít bộ nhớ hơn.
Sử dụng Access 27
Hình 2.11: Một bảng được tạo trong ‘Design View’
Nhìn qua, ta thấy bảng được cấu tạo từ các dòng và cột dữ liệu. Điều cần chú ý là mỗi dòng hay
mỗi bản ghi là tập hợp các trường có quan hệ với nhau.
2.2.2 Sự toàn vẹn CSDL
MS Access cho phép CSDL duy trì sự toàn vẹn của mình dựa trên các thuộc tính của trường
(field properties) và các ràng buộc (constraints). Mỗi trường có một số đặc tính hay thuộc tính
(‘properties’) gắn liền với chúng. Thuộc tính thông dụng nhất là tên trường, kiểu dữ liệu và thuộc
tính khóa chính (‘Primary Key’). Ba thuộc tính này trong MS Access có thể được thiết lập trong
phần trên của cửa sổ trong chế độ Design View. Các thuộc tính còn lại của trường được để ở phần
bên dưới của cửa sổ. Tùy thuộc vào kiểu dữ liệu của trường, ta sẽ thấy các thuộc tính khác nhau.
Hình dưới đây hiển thị các thuộc tính của trường ‘Date’.
Default Value: Thuộc tính này dùng để đặt giá trị mặc định cho một trường. Ví dụ, trong trường
hợp của trường ‘Date’, thuộc tính ‘Default Value’ có thể được đặt là ‘Date()’ như hình 2.12. Điều
này đảm bảo là mặc định, ngày hiện tại của hệ thống sẽ được hiển thị trong trường đó. Điều này
có nghĩa là ngay cả khi chúng ta không chỉ định giá trị cho trường Date, trường đó không bao giờ
rỗng mà luôn mang giá trị của ngày hiện tại.
28 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000

Hình 2.12: Giá trị mặc định (Default Value)
Khi nhập dữ liệu vào bảng, có thể xảy ra một số sai sót. Lỗi có thể xảy ra khi nhập dữ liệu vào
máy tính. Để tránh hoặc loại bỏ những lỗi như vậy, dữ liệu nhập vào phải được kiểm tra tính hợp
lệ dựa trên các điều kiện nào đó. Quá trình kiểm tra tính chính xác của dữ liệu được gọi là

Validation.
Validation Rule (Quy tắc kiểm tra tính hợp lệ): Khi dữ liệu được nhập vào một trường, để
được chấp nhận nó phải thỏa mãn những điều kiện nhất định, điều kiện đó được chỉ ra trong
thuộc tính này.
Validation Text: Chỉ ra thông báo sẽ được hiển thị trong trường hợp dữ liệu nhập không thỏa
điều kiện trong phần ‘Validation Rule’.
Giả sử trong bảng ‘Product’, ta cần phải bảo đảm rằng thư kí sẽ không nhập vào một giá nhỏ hơn
hoặc bằng không. Để kiểm tra việc này, trong thuộc tính ‘Validation Rule’ của trường ‘Price’, ta
có thể nhập vào điều kiện ‘>0’. Điều này chỉ ra rằng, giá chỉ được xác định là hợp lệ nếu giá trị
được nhập vào trường này là lớn hơn ‘0’. Hơn nữa, trong trường hợp giá không hợp lệ, ta cần
phải báo cho người thư kí điều đó. Việc này có thể được hoàn thành nhờ việc nhập vào một thông
điệp rõ ràng vào thuộc tính ‘Validation Text’ của trường đó, chẳng hạn như ‘Giá Không Được
Bằng Hoặc Nhỏ Hơn Không’.
Primary key: Một CSDL hiệu quả là một CSDL mà trong đó không có các bản ghi lặp lại trong
mỗi bảng. Để đảm bảo điều này, ít nhất một trong các trường của bảng phải là duy nhất. Trong
một trường học, trường ‘MãHọcViên’ khiến John khác biệt với nửa tá John trong lớp. Trong một
Sử dụng Access 29
ngân hàng, Số Tài khoản là duy nhất. Trong bảng Product ở ví dụ của chúng ta, mỗi sản phẩm có
duy nhất một ‘MãHàng’ (ItemCode) giúp phân biệt một bản ghi với các bản ghi khác. Một trường
bảo đảm cho mỗi bản ghi là duy nhất trong bảng như vậy được gọi là một ‘khóa chính’ (‘Primary
Key’).
Một ‘khóa chính’ cũng làm tăng tốc độ tìm kiếm dữ liệu trong một bảng lớn. Việc gán khóa chính
cho một bảng có 5000 bản ghi hoặc hơn nữa làm cho việc xác định vị trí một bản ghi cụ thể trong
bảng đó dễ dàng hơn.
Một ràng buộc ‘khóa chính’ (‘Primary Key’ constraint) trong MS Access, khi được đặt lên một
trường hoặc một kết hợp các trường, sẽ làm cho trường hoặc tập hợp các trường đó trở thành
khóa chính.
2.2.3 Thêm, sửa đổi và xóa dữ liệu
‘Thêm’ một bản ghi liên quan đến việc thêm thông tin vào một dòng mới. Khi một đợt hàng mới,
sách chẳng hạn, đến nơi, chi tiết về đợt hàng đó cần phải được thêm vào bảng Product. Tương tự,

các bản ghi trong bảng cũng cần được sửa đổi. Khi số lần ra giá cho một sản phẩm tăng lên, phần
tương ứng của sản phẩm đó trong bảng ‘Bidding_Details’ (chi tiết đấu giá) cũng phải được sửa
đổi để chứa số lượng mới, nhưng những thông tin còn lại liên quan đến sản phẩm vẫn giữ nguyên
như cũ. Tương tự, các bản ghi cũng phải được xóa khi chúng không còn được cần đến nữa.
Chúng ta có thể thêm một bản ghi mới bằng cách chọn trình đơn Insert và lựa chọn New Record
hay cách khác là ta có thể trực tiếp thêm bản ghi mới vào bảng.

Hình 2.13: Thêm bản ghi trong Access
Việc sửa đổi có thể được thực hiện bằng cách nhấn chuột vào bản ghi và thay đổi các chi tiết cần
phải sửa. Ví dụ, nếu như giá của một quyển sách phải được sửa đổi, chúng ta có thể nhấn chuột
vào bản ghi đó và sửa lại giá như trong hình 2.14.
30 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Hình 2.14: Sửa đổi bản ghi trong Access
Để xóa một bản ghi, trước tiên ta chọn bản ghi muốn xóa, sau đó nhấn vào nút Delete Record
trên thanh công cụ Table Datasheet. Theo một cách khác, chúng ta có thể chọn trình đơn Edit và
lựa chọn Delete Record như minh họa trong hình 2.15.
Hình 2.15: Lựa chọn Delete Record và nút công cụ Delete trong MS Access
Một hộp thoại xác nhận được hiển thị khi ta xóa các bản ghi trong MS Access. Nếu chúng ta nhấn
‘Yes’ thì các bản ghi sẽ được xóa. Hình 2.16 hiển thị hộp thoại xác nhận.
Sử dụng Access 31
Hình 2.16: Xóa các records trong MS Access
Ngoài việc thao tác các dữ liệu trong các bảng, thỉnh thoảng chúng ta có thể cần phải thay đổi cấu
trúc của bản thân các bảng đó. Việc đó có thể được làm bất cứ lúc nào trong chế độ ‘Design
View’. Các thay đổi về cấu trúc có thể bao gồm việc thêm các trường mới, xóa các trường đang
tồn tại, thêm hoặc loại bỏ khóa chính, thay đổi kiểu dữ liệu (nếu có thể), thay đổi kích thước
trường hoặc các thuộc tính khác và các sửa đổi không liên quan trực tiếp đến dữ liệu trong bảng
như vậy. Hình sau đặt ràng buộc khóa chính cho cột BidCode trong bảng Bidding_details.
Hình 2.17: Sửa đổi cấu trúc của một bảng – Thêm khóa chính
2.2.4 Ràng buộc tham chiếu
Chúng ta đã thấy ý nghĩa của toàn vẹn tham chiếu trong bài học trước. MS Access dùng toàn

vẹn tham chiếu để đảm bảo các mối quan hệ giữa các bản ghi trong các bảng có quan hệ là hợp
lệ và các bản ghi có quan hệ với nhau không bị vô tình xóa hay thay đổi. Toàn vẹn tham chiếu
chỉ được thiết lập khi tất cả các điều kiện sau đều đạt:
 Hai bảng có một trường chung
 Trường tương ứng trong bảng chính (primary table) là khóa chính hoặc được đặt chỉ số duy
nhất (unique index)
 Các trường có quan hệ với nhau có cùng kiểu dữ liệu.
32 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
 Cả hai bảng đều thuộc về cùng một CSDL MS Access.
Các quy tắc sau đây được áp dụng khi ta dùng toàn vẹn tham chiếu trong một CSDL MS
Access:
 Chúng ta không thể thêm một giá trị vào trường khóa ngoại của bảng có quan hệ nếu giá trị
đó không tồn tại trong trường khóa chính của bảng chính. Tuy nhiên, ta có thể nhập giá trị
Null vào trường khóa ngoại, chỉ ra rằng các bản ghi đó không có quan hệ.
 Ta không thể xóa một bản ghi trong bảng chính nếu có các bản ghi tương ứng tồn tại trong
bảng có quan hệ. Ví dụ, chúng ta không thể xóa bản ghi sản phẩm trong bảng Product nếu có
các chi tiết ra giá cho sản phẩm đó trong bảng ‘Bidding_details’.
 Ta không thể thay đổi giá trị của khóa chính trong bảng chính nếu bản ghi đó có các bản ghi
có liên quan. Ví dụ, chúng ta không thể thay đổi mã hàng (‘Itemcode’) của sản phẩm trong
bảng ‘Product’ nếu có các chi tiết ra giá cho sản phẩm đó trong bảng ‘Bidding_details’.
Mỗi sản phẩm được ra giá trong bảng ‘Bidding_details’ phải có một mục trong bảng ‘Product’.
Trong cả hai bảng, trường ‘Itemcode’ là chung nhau, và chính trường này giúp chúng ta thiết lập
liên kết giữa hai bảng đó. Một liên kết như vậy được gọi là một ‘mối quan hệ’ (Relation)
Do đó, một mối quan hệ có thể được định nghĩa như một liên kết giữa hai trường chung của hai
bảng, điều này giúp chúng ta có thể lấy thông tin từ nhiều bảng khác nhau. Khóa ngoại chính là
cách thức để có được mối liên kết giữa hai hay nhiều bảng. Khóa ngoại gồm một hay kết hợp
nhiều trường mà giá trị của chúng trùng với khóa chính hay khóa duy nhất trong một bảng khác,
Lấy ví dụ, nếu bảng ‘Customers’ có một khóa chính là trường ‘Customer id’ và bảng ‘Orders’
cũng có một trường ‘Customer id’ và cả hai trường đều có cùng kiểu dữ liệu và cùng kích thước
thì trường ‘Customer id’ có thể được dùng để liên kết hai bảng với nhau. Như vậy trường

“Customer id” trong bảng Orders là khóa ngoại.
Trong MS Access, ta có thể tạo nên các mối quan hệ (relationship) bằng cách dùng trình đơn
Tools và lựa chọn Relationship. Ta lựa chọn hai bảng cần tạo mối quan hệ, sau đó ta chọn
trường chung của hai bảng đó. Cuối cùng, một mối quan hệ được tạo ra như trong hình 2.18.
Hình 2.18: Sơ đồ quan hệ - Relationship diagram
Sử dụng Access 33
2.3 Bảo trì CSDL MS Access
Với MS Access, ta có thể lấy dữ liệu từ một nguồn dữ liệu bên ngoài. Việc này được gọi là nhập
dữ liệu (data importing). Ta cũng có thể đưa dữ liệu từ một CSDL MS Access ra một nguồn dữ
liệu bên ngoài. Việc này được gọi là xuất dữ liệu (data exporting). Vì CSDL cũng có thể chứa
các thông tin mật và quan trọng nên việc dữ liệu phải được bảo vệ bằng một cách nào đó là cần
thiết. Chúng ta có thể bảo mật CSDL của chúng ta trong MS Access bằng mật khẩu CSDL
(database passwords).
2.3.1 Nhập dữ liệu (importing data) và xuất dữ liệu (exporting data)
Việc nhập dữ liệu (importing data) là quá trình sao chép dữ liệu từ một tập tin văn bản, một
bảng tính hoặc một bảng trong một CSDL vào một bảng mới trong CSDL MS Access. Tập tin
hoặc bảng dữ liệu nguồn không bị ảnh hưởng. Khi nhập (import) dữ liệu, ta không thể thêm dữ
liệu vào các bảng có sẵn. Bạn cũng có thể nhập (import) các đối tượng CSDL không phải là bảng
như biểu mẫu hoặc báo cáo từ các CSDL hay dự án MS Access khác.
Việc nhập dữ liệu (import) có thể được thực hiện bằng cách chọn trình đơn File, sau đó chọn Get
External data rồi lựa chọn Import.
Xuất dữ liệu (exporting data) có nghĩa là đưa dữ liệu từ các bảng CSDL ra một nguồn dữ liệu
bên ngoài. Để xuất dữ liệu bằng MS Access, chọn trình đơn File và lựa chọn Export.
2.3.2 Tạo mật khẩu cho CSDL
Ta có thể bảo vệ CSDL bằng cách thêm vào một mật khẩu để giới hạn những người dùng có thể
mở CSDL. MS Access lưu mật khẩu CSDL dưới dạng chưa được mã hóa.
Lưu ý: Nếu mật khẩu bị mất hoặc bị quên mất và nó không thể được phục hồi thì ta không thể
mở được cơ sở dữ liệu của mình.
Chúng ta có thể tạo một mật khẩu cho CSDL băng cách làm theo những bước sau:
 Chọn trình đơn File, nhấn Open.

 Nhấn vào mũi tên phía bên phải hộp Look In.
 Chọn ổ đĩa và thư mục nơi để CSDL đó.
 Chọn biểu tượng CSDL.
 Chọn mũi tên bên phải nút Open, sau đó nhấn Open Exclusive.
 Trong trình đơn Tools, chỉ vào Security, sau đó nhấn vào Set Database Password.
 Trong hộp Password, gõ mật khẩu của bạn vào.
2.3.3 Thu gọn và sửa CSDL
34 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Đôi khi dữ liệu hoặc các đối tượng trong một CSDL MS Access vô tình bị xóa và tập tin bị phân
mảnh (fragmented) hoặc hư hại. Điều này khiến tập tin sử dụng không gian đĩa một cách không
hiệu quả. Thu gọn tập tin (compacting) trong MS Access nghĩa là tạo ra một bản sao của tập tin
và sắp xếp lại tập tin được lưu trên đĩa. Việc thu gọn tập tin sẽ tối ưu hóa hiệu quả hoạt động của
các CSDL MS Access và các dự án MS Access. Nếu một tập tin (CSDL) MS Access bị hư hại
hoặc bị sửa đổi, nó có thể được sửa chữa (repair).
Trong hầu hết các trường hợp, MS Access phát hiện một tập tin bị hư hại khi ta mở một tập tin và
cho ta lựa chọn có sửa chữa nó hay không vào lúc đó.
MS Access có thể sửa chữa các trường hợp sau:
 Một bảng nào đó trong CSDL MS Access bị hỏng
 Mất thông tin về cấu trúc của file MS Access Project
 Một biểu mẫu, báo cáo hay mô đun nào đó bị hỏng.
 Thiếu thông tin cần thiết để mở một biểu mẫu, báo cáo hay một mô đun nào đó.
Microsoft Access kết hợp việc thu gọn và sửa chữa tập tin vào một quy trình duy nhất. Ta có thể
thu gọn và sửa một CSDL MS Access bằng cách sử dụng trình đơn Tools và lựa chọn Database
Utilities.
Sử dụng Access 35
Tổng kết
 Một CSDL MS Access được cấu tạo từ bảy đối tượng: Bảng, truy vấn, biểu mẫu, báo cáo,
trang, macrô và mô đun (Tables, Queries, Forms, Reports, Pages, Macros and Modules).
 Ta có thể tạo một CSDL trong MS Access bằng cách dùng một trong hai cách sau:
• Dùng Database Wizard

• Không dùng Database Wizard
 Khi ta tạo một CSDL trong MS Access (bằng bất cứ cách nào), nó sẽ được lưu thành một tập
tin .mdb trong hệ thống.
 Trong MS Access, dữ liệu được lưu trong bảng. Bảng được cấu tạo từ một tập hợp các bản
ghi có quan hệ với nhau. Mỗi bản ghi được cấu tạo từ một số trường.
 Ta có thể tạo bảng bằng một trong các cách sau:
• Dùng Table Wizard
• Dùng Design View
• Dùng Datasheet View
 MS Access dùng toàn vẹn tham chiếu (referential integrity) để đảm bảo mối quan hệ giữa
các bản ghi trong các bảng liên quan là hợp lệ, và các bản ghi có quan hệ không bị vô tình
xóa hay thay đổi.
 Ta có thể sử dụng dữ liệu từ một nguồn dữ liệu bên ngoài với MS Access. Điều này gọi là
nhập dữ liệu (import data)
 Xuất dữ liệu (exporting data) là đưa dữ liệu từ một CSDL MS Access ra một nguồn dữ liệu
bên ngoài.
 Ta có thể bảo mật CSDL MS Access bằng cách dùng mặt khẩu.
36 Khái niệm Hệ quản trị CSDL và SQL Server 2000
Kiểm tra sự tiến bộ
1. Trong MS Access, dữ liệu được lưu trong một _______________ được cấu tạo từ một số bản
ghi có quan hệ.
2. Trong MS Access, ta có thể tạo các mối quan hệ bằng cách sử dụng trình đơn __________và
lựa chọn___________.
3. Kiểu dữ liệu___________ được dùng để lưu dữ liệu cả kí tự và các con số.
4. Việc __________ được thực hiện bằng cách chọn trình đơn File, sau đó chọn Get External
data và lựa chọn Import.
5. Microsoft Access lưu mật khẩu CSDL dưới dạng ____________.
6. Việc _____________ trong MS Access có nghĩa là tạo một bản sao của tập tin và sắp xếp tập
tin được lưu lại trên đĩa.
7. Một trường đảm bảo mỗi bản ghi là duy nhất trong một bảng được gọi là ______________.

8. Microsoft Access kết hợp việc ____________ và việc sửa tập tin MS Access thành một quy
trình.
9. ___________ cho ta một cách tạo bảng ngắn gọn và nhanh chóng.
10. Một ________________có thể được định nghĩa như một liên kết giữa các trường chung của
hai bảng. Điều này giúp chúng ta có thể lấy thông tin từ nhiều bảng khác nhau
Sử dụng Access 37

×