Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung

Bảng dữ liệu

• Bảng dữ liệu:

– Nơi lưu trữ dữ liệu tác nghiệp cho ứng dụng;

– Mỗi cột lưu giữ một loại thông tin;

– Mỗi dòng lưu trữ thông tin của một đối tượng bao

gồm tất cả các cột.

• Một CSDL có thể có nhiều bảng. Các bảng phải được

thiết kế:

– Có thể lưu trữ được đầy đủ dữ liệu cần thiết

– Giảm tối đa tình trạng gây dư thừa dữ liệu

– Dễ dàng bảo trì CSDL (thuận tiện trong cập nhật, tìm

kiếm, truy vấn)

pdf 50 trang kimcuc 13640
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung

Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung
BÀI 2 
XÂY DỰNG CƠ SỞ DỮ LIỆU ACCESS 
GV Th.S. Thiều Quang Trung 
Trường Cao đẳng Kinh tế Đối ngoại 
• Bảng dữ liệu và các thuật ngữ liên 
quan 1 
• Kiểu dữ liệu và các thuộc tính của 
trường dữ liệu 2 
• Mối liên kết và các kiểu liên kết 3 
• Thuộc tính Lookup 4 
Nội dung 
GV. Thiều Quang Trung 2 
Giới thiệu 
• Xây dựng CSDL là bước đầu tiên trong quy 
trình phát triển một ứng dụng trên Access 
– Một CSDL được thiết kế tốt sẽ đáp ứng yêu cầu 
của người dùng 
• CSDL Access là một đối tượng bao gồm: 
– Các bảng dữ liệu (tables) 
– Mối liên kết giữa các bảng (relationships) 
GV. Thiều Quang Trung 3 
Bảng dữ liệu 
• Bảng dữ liệu: 
– Nơi lưu trữ dữ liệu tác nghiệp cho ứng dụng; 
– Mỗi cột lưu giữ một loại thông tin; 
– Mỗi dòng lưu trữ thông tin của một đối tượng bao 
gồm tất cả các cột. 
• Một CSDL có thể có nhiều bảng. Các bảng phải được 
thiết kế: 
– Có thể lưu trữ được đầy đủ dữ liệu cần thiết 
– Giảm tối đa tình trạng gây dư thừa dữ liệu 
– Dễ dàng bảo trì CSDL (thuận tiện trong cập nhật, tìm 
kiếm, truy vấn) 
GV. Thiều Quang Trung 4 
Minh họa bảng dữ liệu 
Field 
Record 
Tên bảng 
GV. Thiều Quang Trung 5 
Bảng dữ liệu 
• Bảng bao gồm: 
– Tên bảng 
– Các trường (fields) 
• Tên trường, kiểu dữ liệu, kích thước trường, 
thuộc tính cần thiết cho mỗi trường 
– Các bản ghi (records) 
– Khoá chính (primary key) 
GV. Thiều Quang Trung 6 
Bảng dữ liệu 
• Tên bảng: 
– 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 
GV. Thiều Quang Trung 7 
Trường dữ liệu (cột/field) 
• 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, nhận diện 
qua một tên duy nhất trong bảng (đặt tên 
không chứa 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ữ liệu đó như: kiểu dữ liệu, 
trường khoá, độ lớn, định dạng,  
GV. Thiều Quang Trung 8 
Các kiểu dữ liệu 
• Mỗi trường chỉ chứa duy nhất một kiểu dữ liệu 
T
T 
Kiểu dữ 
liệu 
Mô tả Độ lớn 
1 Text Xâu ký tự dài tối đa 255 ký tự 
2 Memo Xâu ký tự có độ 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ờ dài 8 Byte 
5 Currency Tiền tệ dài 8 Byte 
6 AutoNumber Số nguyên tự động được 
đánh số. 
4 bytes 
GV. Thiều Quang Trung 9 
Các kiểu dữ liệu 
T
T 
Kiểu dữ 
liệu 
Mô tả Độ lớn 
7 Yes/No Kiểu Logic Dữ liệu chỉ nhận một 
trong 2 giá trị true/false 
8 OLE Object Đối tượng Hình ảnh, âm thanh, đồ 
họa 
9 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 
..    
GV. Thiều Quang Trung 10 
Thuộc tính của trường 
• Công dụng: 
– Điều khiển hình thức thể hiện dữ liệu 
– Nhập liệu theo mẫu 
– Kiểm tra dữ liệu, ngăn cản nhập sai 
– Tăng tốc độ tìm kiếm 
GV. Thiều Quang Trung 11 
Thuộc tính của trường 
Field Size Số ký tự của trường Text, hoặc kiểu của trường number 
Format Dạng hiển thị dữ liệu kiểu ngày và số 
Decimal Places Số chữ số thập phân trong kiểu number và cunency 
InputMask (Mặt nạ nhập) Quy định khuôn dạng nhập liệu 
Caption Đặt nhãn cho trường. Nhãn sẽ được hiển thị khi nhập 
liệu thay vì tên trường (nhãn mặc định). 
Default Value Xác định giá trị mặc định của trường 
Validation Rule Quy tắc dữ liệu hơp lệ. Dữ liệu phải thoả mãn quy tắc 
này mới được nhập 
Required Không chấp nhận giá trị rỗng. Cần phải nhập một dữ 
liệu cho trường. 
AllowZeroLength Chấp nhận chuỗi rỗng trong trường Text, Memo. 
Indexed Tạo chỉ mục để tăng tốc độ tìm kiếm trên trường này 
GV. Thiều Quang Trung 12 
Thuộc tính của trường 
• Thuộc tính Validation Rule 
– Để kiểm tra sự hợp lệ của dữ liệu nhập vào => dựa 
trên một biểu thức (điều kiện) hợp lệ. Ví dụ: 
0 : giá trị nhập vào phải khác 0 
0 or >1 : giá trị nhập vào phải bằng 0 hoặc lớn hơn 1 
Like "K???“ : phải nhập 4 ký tự, ký tự đầu phải là K 
Like "CTY*" : 3 ký tự đầu phải là CTY 
<#1/1/2016# : ngày nhập trước năm 2016 
>=#1/1/2015# and <#1/1/2016# : ngày nhập phải 
trong năm 2015 
 GV. Thiều Quang Trung 13 
Thuộc tính của trường 
• Thuộc tính Indexed 
– Thuộc tính này có thể nhận các giá trị: 
– No: không tạo chỉ mục hoặc xoá chỉ mục đã lập 
– Yes (Dupticates Ok): tạo chỉ mục 
– Yes (No Duplicates): tạo chỉ mục kiểu Unique (các 
giá trị cần khác nhau, giống như khoá chính). 
GV. Thiều Quang Trung 14 
Khóa chính (primary key) 
• Khóa chính là tập hợp của một hoặc nhiều 
cột dữ liệu duy nhất không trùng lắp; 
• Dữ liệu của khóa chính trong bảng không 
được rỗng; 
• Khoá chính có tác dụng phân biệt giá trị các 
bản ghi trong cùng một bảng với nhau. 
GV. Thiều Quang Trung 15 
Khóa chính (primary key) 
• Lợi ích của khóa chính: 
– Access tự động tạo chỉ mục (Index) trên khoá 
nhằm tăng tốc độ truy vấn và các thao tác khác; 
– Khi xem mẫu tin (dạng bảng hay mẫu biểu), các 
mẫu tin sẽ được trình bầy theo thứ tự khoá 
chính; 
– Khi nhập số liệu, Access kiểm tra sự trùng nhau 
trên khoá chính; 
– Access dùng khoá chính để tạo sự liên kết giữa 
các bảng. 
GV. Thiều Quang Trung 16 
Khóa chính (primary key) 
• Đặt khóa chính: 
– Chon Field hoặc tổ hợp Field làm khóa chính 
(nhấn Ctrl khi chọn nhiều Field) 
– Ấn nút lệnh Primary Key (hoặc chọn Edit –> 
Primary Key) 
– Khoá chính là không bắt buộc, có thể xóa khóa 
sau khi đã thiết lập khoá chính 
GV. Thiều Quang Trung 17 
Khóa chính (primary key) 
• Xoá khoá chính: Chọn View Indexes. Kết quả 
nhận được cửa sổ Indexes trong đó chứa các 
trường của khoá chính 
• Chọn các trường (của khoá chính, mỗi trường trên 
một dòng) cần xoá rồi bấm phím Delete. 
GV. Thiều Quang Trung 18 
Bản ghi dữ liệu (mẫu tin/record) 
• Là một thể hiện dữ liệu của các cột trong 
bảng; 
• Mỗi bản ghi lưu trữ thông tin của một đối 
tượng; 
• Tại vị trí con trỏ bản ghi (đang nằm ở bản ghi 
nào) người dùng có thể chỉnh sửa dữ liệu bản 
ghi đó; 
• Bản ghi trắng cuối cùng của mỗi bảng được 
gọi là EOF. 
GV. Thiều Quang Trung 19 
Tiến trình thiết kế CSDL 
• Xác định thông tin cần lưu trữ 
• Xây dựng các bảng, có hai cách tiếp cận 
– Tìm ra các kiểu thực thể (đối tượng, chủ thể, khái 
niệm, sự kiện) 
• Mỗi kiểu thực thể Một bảng 
• Sau đó, với mỗi kiểu thực thể tìm ra các trường mô tả 
chúng 
– Phát hiện các trường cần lưu trữ, sau đó gom các 
trường liên quan vào các bảng 
GV. Thiều Quang Trung 20 
Tiến trình thiết kế CSDL 
• Ví dụ xác định các bảng lưu trữ sau: 
– “Một công ty cần lưu trữ các thông tin về khách 
hàng và các cuộc gọi đến công ty của khách hàng 
và được nhân viên công ty tiếp nhận” 
• Khách hàng 
• Cuộc gọi 
• Nhân viên 
GV. Thiều Quang Trung 21 
Tạo bảng bằng Design View 
Trường khóa 
Các thuộc tính 
của trường 
Kiểu dữ liệu 
GV. Thiều Quang Trung 22 
Tạo bảng bằng Design View 
• Gõ tên trường ở ô trong cột Fieldname 
• Chọn kiểu trường trong cột Data Type 
• Mô tả (Description): thông tin mô tả trường, phần 
này có thể có hoặc không. 
• Xác định các thuộc tính của trường trong bảng 
Properties 
• Lưu bảng : Mở Menu File, chọn Save, đặt tên bảng, 
chọn OK 
GV. Thiều Quang Trung 23 
Lưu cấu trúc bảng và đặt tên 
• Chọn File, Save hoặc bấm chuột tại biểu tượng 
Save trên thanh công cụ. Khi ghi lần đầu thì 
Access sẽ hiện cửa sổ Save as: 
– Trong hộp Table Name, gõ tên bảng, rồi bấm OK. 
– Tên bảng không nên chứa dấu cách, các ký tự đặc biệt 
khác hoặc chữ Việt có dấu. 
GV. Thiều Quang Trung 24 
Lưu cấu trúc bảng và đặt tên 
• Với những bảng không thiết lập trường khoá, trong quá 
trình ghi lại cấu trúc bảng, máy tính sẽ hỏi: 
• Nhấn Yes- máy tính sẽ tạo thêm một trường mới có tên ID 
và thiết lập trường này làm khoá. Nếu không muốn như 
vậy hãy nhấn No; nhấn Cancel để huỷ lệnh lưu 
GV. Thiều Quang Trung 25 
Thay đổi thiết kế, chỉnh sửa 
cấu trúc bảng 
• Khi thiết kế bảng, thường có các yêu cầu sau: 
– Xoá một hoặc nhiều trường 
– Thay đổi tên, kiểu, mô tả và thuộc tính của 
trường 
– Thay đổi vị trí của trường 
– Thêm trường mới 
GV. Thiều Quang Trung 26 
Thay đổi thiết kế, chỉnh sửa 
cấu trúc bảng 
• Xoá trường: chọn trường, bấm phím Delete hoặc 
chọn Delete Field từ Menu Edit (Để xoá đồng thời 
nhiều trường, có thể dùng các phím Shift và Ctrl để 
chọn các trường cần xoá, rồi bấm phím Delete 
hoặc chọn Edit, Delete Field). 
• Chèn thêm một trường mới: chọn trường 
mà trường mới sẽ được chèn vào trước, rồi chọn 
Edit, Insert Field. 
• Di chuyển trường: chọn trường cần di chuyển, rồi 
kéo trường tới vị trí mới. 
GV. Thiều Quang Trung 27 
Thiết lập quan hệ giữa các bảng 
• Mối liên kết (relationships) giữa các bảng là sự gom 
nhóm các bảng để đảm bảo tính ràng buộc toàn 
vẹn giữa các bảng liên quan (trong các thao tác 
thêm, sửa, xoá các bản ghi). 
• Nguyên tắc tạo mối liên kết: đặt quan hệ giữa khoá 
chính của một bảng (gọi là bảng chính) với trường 
nào đó của bảng khác (gọi là bảng quan hệ), các 
trường này thường cùng tên, cùng kiểu. 
• Khóa ngoại (foreign key): là một trường trên bảng 
quan hệ dùng để liên kết với khóa chính của bảng 
chính. 
GV. Thiều Quang Trung 28 
Thiết lập quan hệ giữa các bảng 
• Minh họa các mối liên kết giữa 3 bảng 
GV. Thiều Quang Trung 29 
Các kiểu liên kết 
• Có 2 kiểu liên kết: 
– Liên kết 1-1: 
• Các trường sử dụng để tạo quan hệ trong 02 
bảng đều là khoá chính. 
• Mỗi bản ghi trong bảng quan hệ phải có một 
bản ghi tương ứng trong bảng chính, ngược 
lại, với mỗi giá trị khóa trong bảng chính thì 
chỉ có duy nhất một bản ghi tương ứng 
trong bảng quan hệ 
GV. Thiều Quang Trung 30 
Minh họa liên kết 1-1 giữa hai bảng 
GV. Thiều Quang Trung 31 
Các kiểu liên kết 
– Liên kết 1-n: 
• Trường liên kết dùng trong bảng chính phải là 
khoá chính, còn trường trong bảng quan hệ là 
khoá ngoại; 
• Mỗi bản ghi bên bảng chính liên kết với một 
hoặc nhiều bản ghi bên bảng quan hệ, ngược 
lại, mỗi bản ghi bên bảng quan hệ chỉ liên kết 
duy nhất với 1 bản ghi bên bảng chính; 
• Cách thiết lập mối liên kết 1-n: lấy khóa chính 
của bảng chính làm khóa ngoại của bảng quan 
hệ. 
GV. Thiều Quang Trung 32 
Minh họa liên kết 1-n giữa hai bảng 
GV. Thiều Quang Trung 33 
Cách tạo mối liên kết giữa các bảng 
• Bước 1: Mở cửa sổ thiết lập quan hệ: Database 
Tools | Relationships 
• Bước 2: Add các bảng tham gia thiết lập quan hệ 
thông qua hộp thoại Show Tables (nếu chưa thấy 
hộp thoại này dùng thực đơn Relationships | Show 
table) 
GV. Thiều Quang Trung 34 
Cách tạo mối liên kết giữa các bảng 
• Bước 3: Dùng 
chuột kéo (drag) 
trường cần liên kết 
của bảng này thả 
(drop) lên trường 
cần liên kết đến 
của bảng kia. Khi 
đó hộp thoại Edit 
Relationships xuất 
hiện: 
GV. Thiều Quang Trung 35 
Cách tạo mối liên kết giữa các bảng 
• Trường hợp muốn thiết lập các thuộc tính 
đảm bảo toàn vẹn dữ liệu (Enforce Referential 
Integrity) cho các bảng, chọn 3 mục chọn sau: 
 : => đồng ý thiết lập các thuộc 
tính đảm bảo toàn vẹn dữ liệu. 
 : => đảm bảo toàn vẹn dữ liệu 
khi xoá dữ liệu giữa 2 bảng liên quan: nếu một 
bản ghi ở bảng chính bị xoá, toàn bộ các bản ghi 
bên bảng quan hệ sẽ được tự động xoá theo. 
GV. Thiều Quang Trung 36 
Cách tạo mối liên kết giữa các bảng 
 : => đảm bảo toàn vẹn 
dữ liệu khi cập nhật dữ liệu giữa 2 bảng liên 
quan: nếu giá trị trường khoá liên kết bên 
bảng chính bị thay đổi thì toàn bộ giá trị 
trường khoá liên kết ở bảng quan hệ cũng bị 
thay đổi theo. 
GV. Thiều Quang Trung 37 
Thuộc tính LOOKUP 
• Thuộc tính LOOKUP dùng để dò tìm giá trị, được thiết lập tại 
trường tham gia liên kết bên bảng quan hệ (phía quan hệ 
nhiều) sang trường khóa tham gia liên kết bên bảng chính. 
GV. Thiều Quang Trung 38 
Thuộc tính LOOKUP 
• Ví dụ: thiết lập thuộc tính LOOKUP cho trường 
khachID của bảng HOADON sang trường khachID 
của bảng KHACH trong CSDL quản lý bán hàng: 
– Bước 1: Mở bảng có trường cần thiết lập LOOKUP ở chế 
độ Design View; 
– Bước 2: Kích hoạt trình LookUp Wizard bằng cách: Tại cột 
Data Type của trường cần thiết lập thuộc tính LOOKUP, 
chọn mục Lookup Wizard từ danh sách thả xuống: 
GV. Thiều Quang Trung 39 
Thuộc tính LOOKUP 
GV. Thiều Quang Trung 40 
Thuộc tính LOOKUP 
• Hộp thoại Lookup Wizard xuất hiện: 
GV. Thiều Quang Trung 41 
Thuộc tính LOOKUP 
• Nhấn Next để tiếp tục 
• Bước 3: Chọn dữ liệu cho danh sách: 
GV. Thiều Quang Trung 42 
Thuộc tính LOOKUP 
• Chọn xong nhấn Next, hộp thoại sau xuất hiện: 
GV. Thiều Quang Trung 43 
Thuộc tính LOOKUP 
• Về nguyên tắc chỉ cần đưa trường khachID của bảng 
KHACH vào danh sách Selected Fields: là đủ, tuy 
nhiên nên đưa thêm trường tenkhach để thuận tiện 
hơn khi chọn lựa dữ liệu khi nhập sau này. 
• Chọn xong nhấn Next để kết thúc. 
GV. Thiều Quang Trung 44 
GV: Thiều Quang Trung 45 
Câu 1: Câu phát biểu nào sau đây sai ? 
a. Khóa chính là tập hợp của một hoặc nhiều cột dữ liệu duy 
nhất không trùng lắp 
b. Mối liên kết giữa các bảng là sự gom nhóm các bảng để 
đảm bảo tính ràng buộc toàn vẹn giữa các bảng liên quan 
c. Trong liên kết 1-1, mỗi bản ghi trong bảng quan hệ phải có 
một bản ghi tương ứng trong bảng chính, ngược lại, với 
mỗi giá trị khóa trong bảng chính thì chỉ có duy nhất một 
bản ghi tương ứng trong bảng quan hệ 
d. “Cascade Update Related Fields” đảm bảo toàn vẹn dữ liệu 
khi cập nhật dữ liệu, nếu giá trị trường khoá liên kết bên 
bảng quan hệ bị thay đổi thì toàn bộ giá trị trường khoá 
liên kết ở bảng chính cũng bị thay đổi theo. 
GV. Thiều Quang Trung 46 
Câu 2: trong sơ đồ quan hệ sau, câu nào sau đây là sai? 
GV. Thiều Quang Trung 47 
a. Bảng NHACUNGCAP liên kết 1-n với bảng DONDH 
b. Bảng KHACHHANG liên kết 1-n với bảng DONDH 
c. Bảng DONDH liên kết 1-n với bảng CTDONDH 
d. Bảng MATHANG liên kết 1-n với bảng DONDH 
Câu 3: trong sơ đồ quan hệ sau, câu nào sau đây là đúng? 
GV. Thiều Quang Trung 48 
a. Bảng LOAIVT liên kết 1-n với bảng DMVT trên cột MAVT 
b. Bảng CTHOADON liên kết 1-1 với HOADON trên 3 cột LOAIHD, SOHD, 
MAVT 
c. Bảng CTHOADON liên kết 1-n với DMVT trên cột LOAIHD 
d. Bảng HOADON liên kết 1-n với CTHOADON trên 2 cột LOAIHD, SOHD 
Câu 4: trong sơ đồ quan hệ sau, câu nào sau đây là sai? 
GV. Thiều Quang Trung 49 
a. MALOAI là khóa chính của bảng LOAIVT và là khóa ngoại của bảng DMVT 
b. MAVT là khóa chính của bảng DMVT và là khóa ngoại của bảng CTHOADON 
c. LOAIHD và SOHD là khóa chính của bảng CTHOADON và là khóa ngoại của 
bảng HOADON 
d. MAKHO là khóa ngoại của bảng HOADON và là khóa chính của bảng 
DMKHO 
Câu 5: Giả sử khi tạo các mối liên kết có check “Enforce 
Referential Integrity”, câu nào sau đây là sai? 
GV. Thiều Quang Trung 50 
a. Khi nhập DMVT, giá trị MALOAI phải tồn tại trong bảng LOAIVT 
b. Khi nhập CTHOADON, giá trị MAVT phải tồn tại trong bảng DMVT 
c. Khi nhập HOADON, các giá trị LOAIHD, SOHD phải tồn tại trong bảng 
CTHOADON 
d. Khi nhập HOADON, giá trị MAKHO phải tồn tại trong bảng DMKHO 

File đính kèm:

  • pdfbai_giang_tin_hoc_ung_dung_bai_2_xay_dung_co_so_du_lieu_acce.pdf