Chương 2: Thiết kế Table

Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
TÀI LIỆU MICROSOFT ACCESS.
CHƯƠNG 2: LÀM QUEN VỚI TABLE (BẢNG)
I. THIẾT KẾ CƠ SỞ DỮ LIỆU:
Một CSDL được thiết kế tốt cho phép người sử dụng truy cập nhanh chóng đến những thông tin cần tham khảo, giúp tiết kiệm được thời gian truy xuất thông tin. Một CSDL thiết kế tốt giúp người sử dụng rút ra được những kết quả nhanh chóng và chính xác hơn.
Để thiết kế một CSDL tốt chúng ta phải hiểu cách mà một Hệ QTCSDL quản trị các CSDL như thế nào. MS Access hay bất kỳ một Hệ QTCSDL nào có thể cung cấp các thông tin cho chúng ta một cách chính xác và hiệu quả nếu chúng được cung cấp đầy đủ mọi dữ kiện về nhiều đối tượng khác nhau lưu trữ trong các bảng dữ liệu.
Khi bắt tay thiết kế CSDL, chúng ta phải xác định và phân tích các thông tin muốn lưu trữ thành các đối tượng riêng rẽ, sau đó báo cho Hệ QTCSDL biết các đối tượng đó liên quan với nhau như thế nào. Dựa vào các quan hệ đó mà Hệ QTCSDL có thể liên kết các đối tượng và rút ra các số liệu tổng hợp cần thiết.
* Các bước thiết kế CSDL:
Bước 1: Xác định mục tiêu khai thác CSDL của chúng ta. Điều này quyết định các loại sự kiện chúng ta sẽ đưa vào MS Access.
Bước 2: Xác định các bảng dữ liệu cần thiết. Mỗi đối tượng thông tin sẽ hình thành một bảng trong CSDL của chúng ta.
Bước 3: Sau khi đã xác định xong các bảng cần thiết, tiếp đến ta phải chỉ rõ thông tin nào cần quản lý trong mỗi bảng, đó là xác định các trường. Mỗi loại thông tin trong bảng gọi là trường. Mọi mẫu in trong cùng một bảng đều có chung cấu trúc các trường.
Bước 4: Xác định các mối quan hệ giữa các bảng. Nhìn vào mỗi bảng dữ liệu và xem xét dữ liệu trong bảng này liên hệ thế nào với dữ liệu trong bảng khác. Thêm trướng hoặc tạo bảng mới để làm rõ mối quan hệ này. Đây là vấn đề hết sức quan trọng, tạo được quan hệ tốt sẽ giúp chúng ta nhanh chóng truy tìm tìm và kết xuất dữ liệu.
Bước 5: Tinh chế, hiệu chỉnh lại thiết kế. Phân tích lại thiết kế ban đầu để tim lỗi, tạo bảng dữ liệu và nhập vào vài bản ghi, thử xem CSDL đó phản ánh thế nào với những yêu cầu truy xuất của chúng ta, có rút được kết quả đúng từ những bảng dữ liệu đó không. Thực hiện các chỉnh sửa thiết kế nếu thấy cần thiết.
Page 1 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
II. TẠO MỚI, KHAI BÁO CẤU TRÚC CHO 01 TABLE
1.Khái niệm table: Dữ liệu được tổ chức có dạng bảng gồm nhiều dòng và nhiều cột. Các hàng (rows) là những bản ghi (records). Các cột (columns) gọi là các vùng tin (fields), mỗi field chỉ lưu trữ một kiểu dữ liệu duy nhất. Mỗi table chỉ lưu trữ dữ liệu theo 01 chủ đề nhất định .
Để lưu trữ được dữ liệu trong các table, ta phải khai báo cấu trúc cho table. Khi khai báo cấu trúc cho table xong, ta mới tiến hành nhập liệu được.
Tạo mới bảng(table) trong Microsoft Access:
Trong MS Access có hai cách để tạo bảng, một là cách dùng Table Wizard, nhưng các trường ở đây MS Access tự động đặt tên và không có bàn tay can thiệp của người sử dụng. Ở đây, sẽ đưa ra cách tạo mới bảng hoàn toàn do người sử dụng.
2.Tạo bảng không dùng Table Wizard:
Click vào đây để thiết kế bảng dạng Design
Trong cửa sổ Database, chọn tab Table (hoặc Lệnh View/Daatbase object - Table)
Chọn nút New, xuất hiện hộp thoại
Datasheet View: Trên màn hình sẽ xuất hiện một bảng trống với các trường (tiêu đề cột) lần lượt Field1, field2
Design View: Trên màn hình xuất hiện cửa sổ thiết kế bảng, người sử dụng tự thiết kế bảng.
Table Wizard: Thiết kế bảng với sự trợ giúp của MS Access
Import table: Nhập các bảng và các đối tượng từ các tập tin khác vào CSDL hiện thời.
Page 2 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
Link table: Tạo bảng bằng cách nối vào CSDL hiện thời các bảng của CSDL khác.
Chọn chức năng Design View, chọn OK.
(Thông thường ít khi ta thiết kế table mà dùng Table Wizard vì ta sẽ khó kiểm soát được bảng mà chúng ta tạo ra.)
3. Sử dụng Design View:
Field Name: Tên trường cần đặt (thông tin cần quản lý)
Data Type: Kiểu dữ liệu của trường
Desciption: Mô tả trường, phần này chỉ mang ý nghĩa làm rõ thông tin quản lý, có thể bỏ qua trong khi thiết kế bảng.
Field properties: Các thuộc tính của trường
Page 3 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
III. CÁC KIỂU DỮ LIỆU TRONG ACCESS:
Khi ta tạo bảng thì ta phải chọn kiểu dữ liệu cho từng field trong bảng ở mục DataType. Trong muc DataType có các kiểu dữ liệu sau đây:
Kiểu dữ liệu
Dữ liệu vào
Kích thước
Text
Kiểu văn bản cho phép bạn gõ các ký tự chữ hoặc ký tự số(mặc định) nhưng không dùng để tính toán
Từ 0 đến 255 ký tự, lưu trữ: mỗi byte cho một ký tự.
Memo
Kiểu văn bản nhưng có độ dài lớn hơn 255 ký tự. Văn bản nhiều dòng, trang
Tối đa 65535 ký tự
Number
Kiểu số dùng để tính toán
1,2,4 hoặc 8 bytes
Date/Time
Kiểu ngày giờ có giá trị từ năm 100 đến năm 9999
8 bytes
Currency
Kiểu tiền tệ, giống như kiểu số nhưng cho phép lưu 15 chữ số phần nguyên và 4 chữ số lẻ
8 bytes
Auto number
Tạo một số gẫu nhiên hoặc tự động tăng lên 1 nhưng không trùng nhau.
4 bytes ( 16bytes nếu chọn Replication ID)
Yes/No
Giá trị Yes/No, True/False, On/Off
1 bit, lưu trữ: 2bytes
OLE Object
Đối tượng của phần mềm khác như bảng tính của Microsoft Excel, tài liệu Word, hình ảnh, âm thanh, dữ liệu kiểu nhị phân
Tối đa 1 giga byte
Hyperlink
Lưu địa chỉ siêu liên kết ví dụ: http:///www.yahoo.com
Tới 64.000 ký tự, lưu trữ 4 bytes địa chỉ
Lookup Wizard
Field được tạo ra cho phép bạn chọn giá trị từ các bảng khác hoặc từ 01 danh sách của listbox hoặc combobox . Dùng khi bạn cần tạo khóa ngoại cho bảng
Có kích thước với field làm khóa chính( primary Key)
Page 4 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
IV. CÁC THUỘC TÍNH CỦA TỪNG FIELD ỨNG VỚI TỪNG KIỂU DỮ LIỆU KHÁC NHAU:
Ứng với mỗi field ta chọn kiểu dữ liệu phù hợp. Ứng với mỗi kiểu dữ liệu, ta có bảng thuộc tính fied tương ứng. Dưới đây là bảng thuộc tính của từng field
1.Kiểu dữ liệu Text: Có các thuộc tính cần chú ý sau:
1.1.Field Size: Quy định độ dài tối đa cho chuỗi.
1.2.Format: dùng để định dạng cho 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 Page 5 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
* Các ký tự dùng để định dạng chuỗi
Ký tự
Tác dụng, chức năng
@
Chuỗi ký tự
>
Đổi tất cả ký tự nhập vào thành in hoa
<
Đổi tất cả ký tự nhập vào thành in thường
“Chuỗi ký tự “
Chuỗi ký tự giữa 2 dấu nháy
Ví dụ:
Cách định dạng
Dữ liệu
Hiển thị
@@@-@@@@
123456
abcdef
123-456
abc-def
>
Tinhoc
TINHOC
<
TINHOC
Tinhoc
@;”Không có”;”Không biết”
Chuỗi bất kỳ
Chuỗi rỗng
Giá trị trống (Null)
Hiển thị chuỗi
Không có
Không biết
1.3 Input Mask: dùng để quy định mẫu nhập liệu cho từng vị trí của dữ liệu nhằm giới hạn việc nhập sai dữ liệu cho field. Bảng dưới đây là các ký hiệu sử dụng trong Input Mas
Ký tự
Tác dụng
0
Chữ số từ 0 đến 9, bắt buộc phải nhập, không nhập dấu [+] và dấu [-]
9
Chữ số từ 0 đến 9 hoặc dấu cách, không bắt buộc phải nhập, không nhập dấu [+] và dấu [-]
Page 6 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
#
Chữ số từ 0 đến 9 hoặc dấu cách, không bắt buộc phải nhập, cho phép nhập dấu [+] và dấu [-]
L
Chữ cái từ A đến Z, bắt buộc phải nhập
?
Chữ cái từ A đến Z, không bắt buộc phải nhập
a
Chữ cái từ A đến Z, hoặc số không bắt buộc phải nhập
A
Chữ cái từ A đến Z, hoặc số, bắt buộc phải nhập
&
Ký tự bất kỳ hoặc là dấu cách bắt buộc phải nhập
C
Ký tự bất kỳ hay dấu cách không bắt buộc phải nhập
<
Đổi thành chữ viết thường
>
Đổi thành chữ viết hoa
!
Điền từ phải sang trái ( mặc định là từ trái qua phải)
Password
Nội dung hiển thị bằng các dấu (*)
\<Ký tự>
Ký tự theo sau chỉ để hiển thị chứ không lưu vào field. Ví dụ \A hiển thị là A
Ví dụ
Input mask
Dữ liệu nhập vào
(000)000-0000
(054)828-8282
(999)999-9999!
(206)555-0248
( )555-0248
#999
-20
2000
(000)AAA-A
(123)124-E
Page 7 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
1.5.Caption: Dùng để làm tiêu đề cột trong chế độ datasheet, các nhãn khi tạo đối tượng trên forms hay reports, có độ dài tối đa là 255 ký tự gồm các chữ cái, chữ số và khoảng cách…
Lưu ý: khi đặt tên cho field, người thiết kế thường viết tắt để làm giảm độ dài của field. Vì vậy, đối với các field bạn nên khai báo các nhãn cho chúng để giúp cho người sử dụng hiểu rõ hơn nội dung của field.
1.6.Default Value: Gán gia1 trị mặc định cho field khi tạo field mới trừ Auto Number và OleObject.
1.7.Validation Rule: dùng để gõ vào biểu thức điều kiện (dạng 1 ngôi) cần kiểm tra dữ liệu nhập vào ở mức field, biểu thức này sẽ được kiểm tra khi bạn dừng việc nhập liệu để thực hiện các thao tác khác hoặc di chuyển con trỏ qua field khác. Nếu kết quả của biểu thức là sai (False), Access sẽ hiện thông báo có nội dung được lưu trong thuộc tính Validation Text.
1.8.Validation Text: dùng để chứa chuỗi được thông báo khi biểu thức kiểm tra ở thuộc tính Validation Rule có giá trị sai (False)
* Các phép toán có thể dùng trong Validation rule
Các phép toán
Phép toán
Tác dụng
Phép so sánh
>, <, >=, <=, =, <>
Phép toán logic
Or, and , not
Hoặc, và, phủ định
Phép toán về chuỗi
Like
Giống như
Chú ý: Nếu hằng trong biểu thức là kiểu ngày thì nên đặt giữa 2 dấu #.
Page 8 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
Ví dụ
Validation rule
Tác dụng
<>0
Khác số không
Like “*HUE*”
Trong chuỗi phải chứa HUE
<#25/07/76#
Trước ngày 25/07/76
>=#10/10/77# and <=#12/11/77#
Trong khoảng từ 10/10/77 đến 12/12/77
1.9.Required: Có thể quy định thuộc tính này để bặt buộc hay không bắt buộc nhập dữ liệu cho trường.
Required
Tác dụng
Yes
Bắt buộc nhập dữ liệu
No
Không bắt buộc nhập dữ liệu
1.10. AllowZeroLength:Thuộc tính này cho phép quy định một trường có kiểu Text hay memo có thể hoặc không có thể có chuỗi có độ dài bằng 0.
�� Chú ý: Cần phân biệt một trường chứa giá trị null ( chưa có dữ liệu) và một trường chứa chuỗi có độ dài bằng 0 ( Có dữ liệu nhưng chuỗi rỗng “”).
AllowZeroLength
Tác dụng
Yes
Chấp nhận chuỗi rỗng
No
Không chấp nhận chuỗi rỗng
Page 9 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
1.11.Index: Quy định thuộc tính này để tạo chỉ mục trên một trường. Nếu chúng ta lập chỉ mục thì việc tìm kiếm dữ liệu nhanh hơn và tiện hơn.
Index
Tác dụng
Yes( Dupplicate OK)
Tạo chỉ mục có trùng lặp
Yes(No Dupplicate )
Tạo chỉ mục không trùng lặp
No
Không tạo chỉ mục
2. Kiểu dữ liệu Number:
Các thuộc tính: Input Mask, Caption, Default Value, Validation Rule, Validation Text, Required, Index cũng có các tính chất giống như kiểu dữ liệu kiểu Text.
Ở kiểu dữ liệu number, ta cần chú ý kỹ đến các thuộc tính sau:
2.1. Field Size: ở field size của kiểu number có các loại như sau:
Kiểu dữ liệu
Ý nghĩa
Thập phân
Lưu trữ
Byte
Số từ 0 đến 255
Không
1 byte
Integer
Số từ -32.768 đến 32767
Không
2 bytes
Long Integer
(Mặc định) từ -2.147.483.648 đến -2.147.483.647
Không
4 bytes
Single
-3,4x1038..3,4x1038
7
4 bytes
Double
-1.797x10308 ..1.797x10308
15
8 bytes
Decimal
Rất lớn
28
12 bytes
Replication
Dùng khi tạo các bản sao cho CSDL
Không
16 bytes
Page 10 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
2.2. Format: Access cung cấp cho các kiểu:
Dạng
Dữ liệu
Mô tả
Hiển thị
General Number
1234.5
Số không có dấu phân cách hàng ngàn
1234.5
Currency
1234.5
Số có ký hiệu tiền tệ
$1.234.50
Fixed
1234.5
Số có chữ số lẻ cố định (mặc nhiên là 2 chữ số lẻ)
1234
Standard
1234.5
Số có dấu phân cách hàng ngàn
1,234.50
Pecent
0.825
Số có dạng phần trăm
82.50%
Scientific
1234.5
Số viết theo kiểu khoa học
1.23E+03
*Định dạng do người sử dụng
<Phần 1>;<Phần 2>;<Phần 3>;<Phần 4>
<Phần 1>:Chuỗi định dạng tương ứng trong trường hợp số dương.
<Phần 2>: Chuỗi định dạng tương ứng trong trường hợp số âm.
<Phần 3>: Chuỗi định dạng tương ứng trong trường hợp số bằng zero.
<Phần 4>: Chuỗi định dạng tương ứng trong trường hợp null.
*Các ký tự định dạng
Ký tự
Tác dụng
.(Period)
Dấu chấm thập phân
,(comma)
Dấu phân cách ngàn
0
Ký tự số (0-9)
#
Ký tự số hoặc khoảng trắng
$
Dấu $
%
Phần trăm
Page 11 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
Ví dụ:
Định dạng
Hiển thị
0;(0);;”Null”
Số dương hiển thị bình thường
Số âm được bao giữa 2 dấu ngoặc
Số zero bị bỏ trống
Null hiện chữ Null
+0.0;-0.0;0.0
Hiển thị dấu + phía trước nếu số dương
Hiển thị dấu - phía trước nếu số âm
Hiển thị 0.0 nếu âm hoặc Null
2.3. Decimal Places: Quy định số chữ số lẻ được hiển thị đối với các số thực ( từ 0 đến 15). Để sử dụng thuộc tính này bạn phải chọn kiểu số là Single, Double, Decimal)
3.Kiểu ngày tháng(Date/Time): Ở kiểu Date/Time ta chú ý các thuộc tính sau đây. Các thuộc tính không nêu cũng có ý nghĩa giống như các mục trên.
3.1.Format: định dạng cho kiểu Date/Time có các loại sau đây:
Dạng
Hiển thị
General date
10/30/99 5:10:30PM
Long date
Friday, may 30 , 1999
Medium date
30-jul-1999
Short date
01/08/99
Long time
6:20:00 PM
Medium time
6:20 PM
Short time
18:20
d/m/yy
dd/mm/yyyy
3/4/93
03/04/1993
Page 12 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
* Các ký tự định dạng:
Ký tự
Tác dụng
: (colon)
Dấu phân cách giờ
/
Dấu phân cách ngày
d
Ngày trong tháng (1-31)
dd
Ngày trong tháng 01-31)
ddd
Ngày trong tuần (Sun -Sat0
W
Ngày trong tuần (1-7)
WW
Tuần trong năm (1-54)
M
Tháng trong năm (1-12)
MM
Tháng trong năm (01-12)
q
Quý trong năm (1-4)
y
Ngày trong năm (1-366)
yy
Năm (01-99)
h
Giờ (0-23)
n
Phút (0-59)
s
Giây (0-59)
4.Kiểu Yes/No
4.1. Format : Các kiểu định dạng
Định dạng
Tác dụng
Yes/No
Đúng/Sai
True/False
Đúng/Sai
On/Off
Đúng/Sai
*Định dạng do người sử dụng: Gồm 3 phần
<Phần 1>;<Phần 2>;<Phần 3>
Trong đó: <Phần 1>: Bỏ trống
Page 13 of 14
Tài Liệu Access – Chương 2: Thiết kế Table (Bảng)
<Phần 2>: Trường hợp giá trị trường đúng
<Phần 3>: Trường hợp giá trị trường sai
Ví dụ
Định dạng
Hiển thị
Trường hợp True
Trường hợp False
;”Nam”;”Nu”
Nam
Nu
;”co”;”Khong”
Co
Khong
LƯU Ý: Đối với bất kỳ kiểu dữ liệu nào thì ta cũng có Field Properties. Trong Field Properties có 2 tab chính: General và Lookup
Tab Lookup: dùng để cho ta lựa chọn cách thể hiện nội dung của dữ liệu. Có 3 cách thể hiện: TextBox, ListBox, ComboBox.
Chú ý: Đối với kiểu Yes/No, ta phải chọn kiểu TextBox hoặc ComboBox mới hiển thị được nội dung bằng chữ : “nam”, “nữ”.
Page 14 of 14
 
---------------------------------------------------------------------------------------thanh Navigation (2 mục) ---------------------------------------------------------------------------------------thanh Navigation (2 mục)