4 bytes 8 OLE Object Đối tượng Hình ảnh, âm thanh, đồ họa 9 Hyperlink Dữ liệu của field là các link Tối đa 1GB 10 Lookup Wizard Cho phép chọn giá trị từ một danh sách các giá trị của
Trang 1Giảng Viên: Lê Thị Minh Nguyện Email: nguyenltm@hotmail.com
TIN HỌC ỨNG DỤNG TRONG KINH DOANH 2
Chương 2 BẢNG DỮ LIỆU - TABLE
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table
Trang 219/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 3
1 CÁC KHÁI NIỆM
Bảng dữ liệu (Table)
Bảng là đối tượng cơ bản và quan trọng nhất
của CSDL trong Microsoft Access, dùng để ghi nhận
và lưu trữ thông tin muốn quản lý (DL cơ sở)
Field
Record Tên bảng
Chương 2: BẢNG DỮ LIỆU - TABLE
1 CÁC KHÁI NIỆM
Tên bảng (Table Name)
Mỗi bảng có một tên gọi
Tên bảng thường được đặt sau khi tạo xong cấu trúc của bảng
Có thể đổi lại tên bảng
Lưu ý: Không nên sử dụng dấu cách (Space), các ký tự đặc
biệt hoặc chữ tiếng Việt có dấu trong tên bảng
Trường (Field – cột)
Lưu trữ thông tin liên quan đến một thuộc tính của đối tượng
Mỗi trường trong bảng là duy nhất
Tên trường phải duy nhất (không trùng nhau) và không trùng
với tên hàm, từ khóa của Access
Mỗi trường có một tên gọi dài tối đa 64 ký tự, (Không nên dùng
các ký tự !@#$%^&*()?><)
Mỗi trường có một tập hợp các thuộc tính miêu tả trường dữ
Trang 319/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 5
Bản ghi (Record)
Mỗi dòng trong bảng được gọi là record
dùng để lưu trữ thông tin của một đối tượng
Bản ghi trắng cuối cùng của mỗi bảng được
gọi EOF (End Of File)
Record
EOF
1 CÁC KHÁI NIỆM
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 6
2.1 Kiểu dữ liệu (Data Type)
2 KIỂU DỮ LIỆU
1 Text Xâu ký tự Dài tối đa 255 ký tự
2 Memo Xâu ký tự Dài tối đa 65.535 ký tự
3 Number Số nguyên, thực Dài : 1 , 2, 4 hoặc 8 Byte
4 Date/time Ngày tháng/giờ 8 Byte
5 Currency Tiền tệ 8 Byte
6 AutoNumber Số nguyên tự động được đánh số 4 bytes
8 OLE Object Đối tượng Hình ảnh, âm thanh, đồ họa
9 Hyperlink Dữ liệu của field là các link Tối đa 1GB
10 Lookup Wizard Cho phép chọn giá trị từ một danh sách
các giá trị của một trường ở bảng khác
11 Attachment Đính kèm dữ liệu từ chương trình khác,
nhưng không thể nhập văn bản hoặc số
Trang 419/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 7
2.3 Các thuộc tính
Độ rộng trường (FieldSize – chiều dài trường): Với dữ liệu kiểu số
và chuỗi, ta có thể quy định độ rộng vào ô Field zize
- Dữ liệu kiểu text có chiều dài tối đa là 255 nếu ta khai báo lớn hơn thì
thông tin nào vượt quá chiều dài sẽ bị ngắt bớt
- Dữ liệu kiểu Number:
2 KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
2.4 Mô tả trường (Description):
Phần này dùng để mô tả rõ hơn về trường
2 KIỂU DỮ LIỆU
Trang 519/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 9
2 KIỂU DỮ LIỆU
2.5 Qui định khoá chính (PrimaryKey)
Một bảng dữ liệu (Table) thường phải có một trường
(hay một nhóm trường) làm khoá chính Giá trị dữ liệu của
khoá chính dùng để xác định duy nhất các giá trị của các trường
khác trong cùng một dòng
PK
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 10
PK
2 KIỂU DỮ LIỆU
2.5 Qui định khoá chính (PrimaryKey)
Trang 619/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 11
2 KIỂU DỮ LIỆU
2.6 Khóa ngoại (Foreign Key)
Là một hay nhiều trường trong một bảng mà các
dữ liệu tại các cột này bắt buộc phải tồn tại trong một bảng
khác
Chú ý: kiểu dữ liệu khóa ngoại phải cùng kiểu dữ liệu và
cùng kích thước với khóa chính
Chương 2: BẢNG DỮ LIỆU - TABLE
3 THIẾT KẾ BẢNG
Tạo bảng sử dụng Design View
Trong cửa sổ làm việc của Access, chọn
Tab Create trên thanh Ribbon, trong nhóm lệnh Table,
Click nút Table Design
Trang 719/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 13
Tạo bảng sử dụng Design View
Màn hình Table Design View gồm 2 phần:
Phần thuộc tính Phần thiết kế
3 THIẾT KẾ BẢNG
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 14
Cách tạo Khóa chính
Tại cửa sổ thiết kế Table, đưa con trỏ chuột đến
dòng chứa tên trường cần chọn làm khoá chính hoặc
nếu kết hợp của nhiều trường thì nhấn phím Shift sau
đó chọn tất cả các trường cần chọn làm khóa chính
Trên thanh công cụ
Table (Table Tools)
/ Primary Key (hoặc
Right Click, chọn
Primary Key
3 THIẾT KẾ BẢNG
Trang 819/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 15
Sau khi khai báo các kiểu dữ liệu và tạo khoá xong ta Lưu (Ctrl + S ):
-Bước 3: Đặt tên bảng mới rồi nhấn OK
Lưu ý: Trường hợp chưa khai báo khóa chính thì khi lưu bảng Acces
sẽ nhắc nhở chỉ định khoá chính ( there is no primary defined
(Yes/No/Cancel))
- Chọn Yes:
+ Nếu trong bảng đã có 1 trường kiểu AutoNumber thì
Access sẽ lấy trường đó làm khoá chính
+ Nếu không có trường AutoNumber thì nó sẽ tạo ra một
trường có tên ID kiểu AutoNumber làm khoá chính
- Chọn No thì không tạo khóa chính
- Chọn Cancel thì trở lại cửa sổ thiết kế bảng
3 THIẾT KẾ BẢNG
Chương 2: BẢNG DỮ LIỆU - TABLE
Các thông báo lỗi khi khai báo bảng :
-Khi chỉ định một tên trường không hợp lệ (chẳng hạn như tên bắt đầu
bằng một khoảng trắng…) thì sẽ thông báo lỗi
“ The field is name is invalid”
hay một thông báo tương tự
“A field name is missing”
-Nếu trong một bảng có 2 tên trường trùng nhau thì sẽ thông báo lỗi:
“You already have a field name…”
-Khi thay đổi kiểu dữ liệu hay độ rộng trường mà trường đó được để
thiết lập quan hệ thì thông báo lỗi “You can’t change ta data type
or field size of this field; it is part of one or more
relationship”
3 THIẾT KẾ BẢNG
Trang 919/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table
Các bước thiết kế bảng
Bước 1: Tạo bảng
Bước 2: Thiết kế dữ liệu
Bước 3: tạo khóa chính
Bước 4: Lưu bảng
17
3 THIẾT KẾ BẢNG
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 18
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Kiểu Text
Field Size Số ký tự tối đa cho phép nhập
Caption Tên Field khi chuyển
sang DataSheet View Format
Các dạng thức của dữ liệu
> Đổi toàn bộ sang chữ hoa Default Value Giá trị mặc định khi nhập
< Đổi toàn bộ sang chữ thường
Validation Rule Giới hạn giá trị nhập
Trang 1019/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 19
Number
Dạng tổng quát như khi nhập
Currency Có ký hiệu tiền tệ
Validation Text Thông báo khi nhập
sai giới hạn (sai RBTV) Fixed Có số lẻ cố định
Standard Dấu phân cách phần ngàn
Required Dữ liệu có bắt buộc
hay không Percent Tính phần trăm
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
Caption Tên Field khi chuyển sang DataSheet View
Default Value Giá trị mặc định khi nhập
Validation Rule Giới hạn giá trị nhập (RBTV cho field )
Validation Text Thông báo khi nhập sai giới hạn (sai RBTV)
Required Dữ liệu có bắt buộc hay không
Indexes Lập chỉ mục cho phép trùng lắp dữ liệu không
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1119/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 21
On /Off On hoặc Off (0 hoặc -1) Caption Tên Field khi chuyển sang DataSheet View
Default Value Giá trị mặc định khi nhập
Validation Rule Giới hạn giá trị nhập (RBTV cho field )
Validation Text Thông báo khi nhập sai giới hạn (sai RBTV)
Required Dữ liệu có bắt buộc hay không
Indexes Lập chỉ mục cho phép trùng lắp dữ liệu không
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 22
Thuộc tính Input Mask (mặt nạ nhập liệu)
Công dụng
• Tạo khuôn dạng nhập liệu cho dễ nhìn Vd: dấu
ngăn cách phần nguyên và thập phân, dấu gạch
ngang để phân cách các cụm ký tự của tài khoản
• Kiểm tra tính hợp lệ của ký tự gõ vào (Vd nếu qui
định là chữ số thì Access sẽ không nhận các ký tự
không phải là chữ số)
• Tự động biến đổi các ký tự được nhập (Vd từ chữ
thường sang chữ hoa)
• Che giấu thông tin đưa vào (Vd khi ta dùng
Password)
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1219/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 23
Ví dụ:
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
Caption: Nếu không chỉ định thành phần này thì nó sẽ
dùng FieldName làm tiêu đề của trường Caption chỉ có
nghĩa làm tiêu đề (cho dễ đọc) chứ không có tác dụng để
truy xuất dữ liệu
Default Value ( qui định giá trị ngầm định): giá trị mặc
định ban đầu của cột khi thêm một dòng dữ liệu mới
Ví dụ: Điểm: 0 Default Value: 0
Ngày hiện tại: Default Value: Date()
Đơn vị tính thường và mét Default Value: “mét”
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1319/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 25
Validation Rule: Quy tắc kiểm tra dữ liệu hợp lệ khi nhập dữ
liệu vào bảng Trong biểu thức này ta có thể chỉ định:
- Phép toán so sánh: >, >=, <, <=, <>
- Phép toán luận lý: AND, OR, NOT
- Phép toán so sánh chuỗi: Like
Ví dụ: Đơn vị tính chỉ lấy: mét, kg Validation Rule: “mét”,”kg”
- Điểm: từ 0 đến 10 Validation: >=0 and <=10
Validation Text: Thông báo khi nhập liệu sai điều kiện ở
Validation Rule
Ví dụ: gán điểm trong Validation Rule là >=0 and <=10 mà ta
nhập nhầm là 11 thì Access sẽ xuất sẽ thông báo lỗi thì
chúng ta sửa lại thông báo lỗi cho người dùng hiểu
Validation Rule: “Điểm chỉ được từ 0 đến 10”
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 26
Required: Yes/No yêu cầu bắt buộc nhập liệu hay để
trống Nếu ta muốn 1 trường luôn phải có dữ liệu,
chẳng hạn như HoTen thì qui định Required là Yes
Khi đó nếu ta lưu mẫu tin hay nhảy qua mẩu tin khác
mà trường này chưa có dữ liệu thì sẽ thông báo:
“Field ….can’t contain a Null value”
Allow Zero length: Yes/No cho phép chuỗi rỗng hay
không
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1419/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 27
Index (qui định chỉ mục): Thông thường ta muốn sắp xếp
dữ liệu theo một trường nào đó để tăng tốc độ tìm kiếm Chỉ
định tính chất indexed là:
• Yes (Duplicates): Qui định chỉ mục cho phép trùng nhau
• Yes (NoDuplicate):Qui định chỉ mục không được phép
trùng nhau
• No: Không chỉ định chỉ mục
• PrimayKey (khoá chính) là một dạng chỉ mục đặc biệt, nó
không cho phép hai mẩu tin trùng nhau trong khoá chính
cho nên Index của nó là: Yes (Noduplicates)
• Tuy nhiên có những trường không phải là khoá chính
nhưng khi ta đặt index nó là Yes (Noduplicates) thì dữ
liệu trong trường này cũng không được phép trùng nhau
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
Thiết lập thuộc tính Lookup
Lookup Wizard : Trong cột Data Type, xác định
kiểu cho Field trước rồi chọn mục Lookup Wizard
và thực hiện các bước theo hướng dẫn
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1519/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 29
Thiết lập thuộc tính Lookup
Tự thiết kế Lookup : Trong cửa sổ thiết kế Bảng,
đứng tại tên Field (đã khai báo Field Type) cần
tạo Lookup Chọn phiếu Lookup trên phần
Properties
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 30
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Thiết lập thuộc tính Lookup
Display Control Combo Box, List Box,
Check Box hay Text Box
Dạnh hiển thị là Combo Box, List Box, Text Box hay Check Box
Chọn Combo Box Row Source Type Table/Query hay Value List Nguồn cung cấp dữ liệu cho Lookup
Table/Query: nguồn là Bảng hay Query Value List: nguồn là trị quy định trực tiếp
Row Source SELECT… hay (danh mục
quy định)
Nguồn dữ liệu (Lệnh SQL hay tên Bảng/Query) hoặc trị nhập trực tiếp
Nếu là trị nhập trực tiếp thì nhập trị theo từng dòng
và cánh nhau bởi dấu chấm phẩy Bound Column Một số nguyên dương Chỉ cột của danh sách ràng buộc với Field
Column Count Một số nguyên dương Số cột hiển thị của Combo Box hay List Box
Column heads Yes/No Có Tiêu đề cột hay không
Column Widths n1; n2 Độ rộng của các cột (nếu 0: không hiển thị cột) phân
cách bởi dấu chấm phẩy
List Row Một số dương Số dòng của danh sách
List Width Một số dương Chiều rộng danh sách (tính chung các cột)
Limit to List Yes/No Cho phép (Yes)/ không cho phép (No) nhập vào Field
của Bảng một trị ngoài danh sách của Lookup
Trang 1619/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 31
Ví dụ 1: Cách làm để chọn trường DonViTinh là: “cái”, “ chiếc”,
“cuốn”, “thùng”
Chọn kiểu dữ liệu (Data Type) là: Text và trong phần thuộc tính
Lookup chọn:
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
Ví dụ 2: Trong bảng KHOA và SINHVIEN trong bảng SINHVIEN sẽ
có cột MaKhoa mà bắt buộc dữ liệu chỉ tồn tại trong bảng KHOA
Trong phần thuộc tính Lookup chọn:
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Trang 1719/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 33
- Ngoài việc qui định tính chất cho từng trường, ta có thể qui định thêm
tính chất cho toàn bảng dữ liệu Trường hợp phổ biến là kiểm tra dữ
liệu trên 2 hay nhiều trường Chẳng hạn như:
NamCongTac >= NamSinh + 18
NgayTra >= NgayMuon
View/properties (hay chọn Properties trên thanh công cụ hay trên
menu tắt) rồi chỉ định biểu thức kiểm tra vào mục Validation Rule và
chuỗi thông báo vào mục Validdation Text
4 CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU
Chương 2: BẢNG DỮ LIỆU - TABLE
19/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 34
5 THIẾT LẬP QUAN HỆ
5.1 Tại sao phải thiết lập mối quan hệ giữa các
bảng
Sau khi thiết kế các bảng, chúng ta chỉ mới có cấu trúc
các bảng chứ chưa có thông tin quan hệ giữa các bảng
với nhau Do đó việc thiết lập mối quan hệ giữa các
bảng giúp cho Access quản lý dữ liệu được hợp lý hơn
ví dụ: Có hai bảng KHOA và SINHVIEN thì ta nhận
thấy rằng giữa hai bảng này có tồn tại một mối quan hệ
“một Khoa có nhiều Sinh viên” Do đó để hợp lý khi
nhập thông tin của một sinh viên mới thì bắt buộc sinh
viên đó phải học trong các khoa hiện đang có
Trang 1819/08/2012 - MaMH: 701006 - Chương 2 Bảng dữ liệu – Table 35
5 THIẾT LẬP QUAN HỆ
5.2 Các loại quan hệ giữa hai bảng trong Access
Một - một (One To One): mô tả mối quan hệ một - một giữa hai
bảng với nhau
Ví dụ: chúng ta có hai bảng GIAOVIEN và LOP mối quan hệ giữa
hai bảng này là một lớp học chỉ có một giáo viên chủ nhiệm trong
một năm học và một giáo viên chỉ chủ nhiệm một lớp học trong
một năm
Một – nhiều (One To Many): mô tả mối quan hệ một - nhiều của
hai bảng với nhau (hay còn gọi là nhiều – một)
Ví dụ: Có hai bảng KHOA va SINHVIEN mối quan hệ giữa hai
bảng này là “trong một khoa có nhiều sinh viên đang theo học”
hoặc “ có nhiều sinh viên học trong cùng một khoa”
Khoa 1 n SinhVien
Chương 2: BẢNG DỮ LIỆU - TABLE
5 THIẾT LẬP QUAN HỆ
Ngoài ra còn tồn tại mối quan hệ nhiều - nhiều (Many To Many):
Tuy nhiên khi triển khai vào cơ sở dữ liệu quan hệ thì phải tách ra
thành hai mối quan hệ một – nhiều
Ví dụ: chúng ta có bảng SINHVIEN và MONHOC mối quan hệ
giữa hai bảng này là “một Sinh viên được thi nhiều môn” và “ và
một môn học có nhiều sinh viên đăng ký thi” Khi đó chúng ta phải
tạo thêm bảng KETQUA để có thể tạo ra mối quan hệ nhiều –
nhiều
MonHoc SinhVien 1 n KetQua n 1