Bài giảng Microsoft Access: Bài 1 - GV. Phạm Thanh An
Trang 1Chương 1 : Xây dựng CSDL
Giảng viên: ThS.Phạm Thanh An
Trang 2Nội dung
Bảng, Trường, Bản ghi, Khóa
Tạo cấu trúc bảng;
Chỉnh sửa cấu trúc của bảng
Thiết lập thuộc tính LookUp
Thiết lập quan hệ và các thuộc tính đảm bảo toàn vèn dữ liệu;
Nhập dữ liệu cho CSDL
Trang 4Bảng
Field
Record
Tên bảng
Trang 5Bảng dữ liệu (2)
Bảng dữ liệu (Tables)
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)
Trang 6 Trường khoá
Các bản ghi.
Trang 7Bảng dữ liệu (4)
Trang 8 Bảng ở trạng thái thiết kế cấu trúc - Design view
Trang 9Các thành phần của Bảng
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
ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên bảng
Trang 10Các thành phần của 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 cột chỉ chứa duy nhất một loại dữ liệu
Mỗi cột trong bảng là duy nhất
Trang 12Các thành phần của Bảng
TT 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
Trang 13Các thành phần của Bảng
TT 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
Trang 14Tiến trình thiết kế CSDL
Tìm ra các kiểu thực thể (đối tượng, chủ thể, khái niệm, sự kiện)
Trang 15Ví dụ:
khác 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
Trang 16 Con trỏ bản ghi đang nằm ở bản ghi nào,
người dùng có thể sửa được dữ liệu bản
ghi đó
Bản ghi trắng cuối cùng của mỗi bảng được gọi EOF.
Trang 17Các thành phần của Bảng
Tập hợp của một hoặc nhiều cột mà dữ liệu trên đó là duy nhất không trùng lắp
Dữ liệu trên cột khóa chính trong bảng
Trang 18Tạ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
Trang 19Tạ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ả (Discreption): Để giải thích cho rõ hơn một
trường nào đó Văn bản mô tả sẽ được hiển thị khinhập số liệu cho các 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
Trang 20Tạo bảng bằng Table Wizard
B1: Từ cửa sổ Database, chọn Table Tab, chọn New
B2: Chọn Table Wizard từ hộp thoại New
Table, OK
B3: Chọn các trường cần thiết , Kích nút next
* Đổi tên trường :chọn Rename Field, gõ tên
trường mới,OK
B4: chọn Next, đặt tên bảng Finish
B5: Nhập dữ liệu vào bảng
Trang 21Tạo bảng bằng Table Wizard
Trang 22THUỘC TÍNH CỦA TRƯỜ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.
Trang 23Tổng quan về các 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 lạ 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
Trang 24Thuộc tính của trường
Thuộc tính Field Size
Với trường Text Độ dài mặc định là 50 Độ dài hợp lệ có thể đặt là từ 1255
Với trường Number: Mặc định là Double (8 byte), có thể chọn các kiểu sau từ Combo Box:
FieldSize Miền giá trị Số byte lưu trữ
Trang 25Thuộc tính của trường
Thuộc tính Format.
Nếu bỏ qua Format, Access sẽ trình bày
dữ liệu theo dạng General.
trường Number
Giả sử Decimal Places = 2 - Hai chữ số
phần thập phân
Trang 26Thuộc tính của trường
Giá trị Format Số Được trình bày
Trang 27Thuộc tính của trường
Ghi chú:
1 General Number: Không phụ thuộc vào Decimal Places, hiện số chữ số thập phân cần thiết nhất
2 Decimal Places = n : Mọi dạng (trừ General
Number) hiện đúng n chữ số thập phân
3 Decimal Places = Auto : Khi đó:
Dạng Fixed: 0 số lẻ
Dạng khác (trừ General): 2 số lẻ
Trang 28Thuộc tính của trường
Các giá trị của thuộc tính Format đối với trường DATE/TIME.
Giá trị Format Ngày/giờ được trình bày
General Date 1/31/92 4:30:00 PM (U.S)
31/01/92 16:30:00 (U.K)
Long Date Friday, January 31 , 1992 (U.S)
31 January 1992 (U.K)
Medium Date 31-Jan- 1992
Short Date 1/31/92 (U.S)
31/01/92(U.K)
Long Time 4:30:00 PM
Medium Time 04:30 PM
Short Time 16:30
Trang 29Thuộc tính của trường
trường YES/NO
Giá trị Format ý nghĩa
Yes/No Giá trị logic là Yes và No
True/Falsse Giá trị logic là True và False
On/Off Giá trị logic là On và Off
Trang 30Thuộc tính của trường
Thuộc tính Default Value
Dùng thuộc tính này để đặt giá trị mặc định cho trường Giá trị mặc định có thể là một hằng hay một hàm của Access
Thuộc tính Required (trường bắt buộc phải có số
Trang 31Thuộc tính của trường
<>0 giá trị nhập vào phải khác 0
0 or >l00 giá trị nhập vào phải bằng 0 hoặc lớn hơn 100
Like "K???" phải nhập 4 ký tự, ký tự đầu phải là K
Like "CTY*" ba ký tự đầu phải là CTY
Trang 32Thuộc tính của trường
<#1/1/92# ngày nhập trước năm 1992
>=#1/1/1980# ngày nhập sau năm 1980
>=#1/1/91# and <#1/1/92# ngày nhập phải trong năm 1991
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 như thể khoá chính)
Trang 33KHOÁ CHÍNH
Khoá chính là một hoặc nhiều trường xác định duynhất một bản ghi
Lợi ích.
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
Trang 34 Xoá khoá chính: Khoá chính là không bắt buộc Khi
đã thiết lập khoá chính, mà ta lại muốn xoá đi thì cách làm như sau: 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 như sau:
Trang 35KHOÁ 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.
Trang 36LƯU CẤU TRÚC BẢNG
VÀ ĐẶT TÊN BẢNG
Sau khi hoàn chỉnh việc thiết kế, ta cần ghi cấu trúc bảng lên (ra và đặt tên cho bảng Cách làm như sau:
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 ta đưa vào tên bảng, rồi bấmOK
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
Trang 37LƯU CẤU TRÚC BẢNG
VÀ ĐẶT TÊN BẢNG
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 cất
Trang 38Thay đổi thiết kế, chỉnh sửa cấu trúc bảng
sau:
của trường
Trang 39Thay đổ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 Row từ Menu Edit Chú ý: Để xoá đồng thời
nhiều trường, ta 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 Row
Để thay đổi nội dung (tên, kiểu, ) của một trường, ta
chỉ việc dùng bàn phím để thực hiện các thay đổi cần thiết
Để chèn thêm một trường mới ta làm như sau: Chọn trường mà trường mới sẽ được chèn vào trước, rồi
chọn Edit, Insert Row
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
Trang 40Thay đổi cấu trúc bảng
chọn bảng cần thay đổi cấu trúc, rồi bấm nút Design.
Nhận được cửa sổ thiết kế của bảng được chọn.
Thay đổi cấu trúc bảng.
Cuối cùng ghi lại các thay đổi.
Trang 41Nhập dữ liệu vào bảng
Để nhập dữ liệu vào bảng đã tồn tại, ta làm như sau:
Từ cửa sổ Database chọn mục Table đề mở cửa sổ Tables
Trong cửa sổ Tables chọn bảng cần nhập dữ liệu, rồi bấm nút Open (hoặc nhấn đúp chuột lên tên bảng) cần nhập dữ liệu
Kết quả nhận được cửa sổ nhập liệu chứa các bản ghi đã nhập
Ta có thể xem, sửa và bổ sung các bản ghi mới trong cửa sổ nhập liệu
Chú ý: Để chọn Font chữ thích hơp, ta dùng chức
năng Font của menu Format
Trang 42Chuyến đổi giữa hai chế độ nhập dữ liệu
và thiết kế bảng
Khi đang ở cửa sổ
thiết kế, ta có thể
chuyển sang cửa sổ
nhập liệu và ngược lại,
bằng cách dùng menu
View
Chọn menu View sẽ
nhận được các chức
năng sau: Datasheet
View – Hiện cửa sổ
nhập dữ liệu, Design
View – Hiện cửa sổ
thiết kế
Trang 43Thiết lập quan hệ giữa các bảng
Mối quan hệ giữa các bảng là sự gom nhóm các
bảng, trong đó mỗi bảng giữ một vai trò nhất định
Access dùng quan hệ để đảm bảo những ràng buộc toàn vẹn giữa các bảng liên quan trong các phép
thêm, sửa xoá bản ghi, cung như truy vấn dư liệu
Nguyên tắc đặt quan hệ là chỉ định một hoặc một
nhóm trường chứa cùng giá trị trong các mẫu tin có liên quan
Thông thường đăt quan hệ giữa khoá chính của mộtbảng với trường nào đó của bảng khác (bảng này gọi
là bảng quan hệ), các trường này thường cùng tên,cùng kiểu
Trang 44Thiết lập quan hệ giữa các bảng
K/N Khóa ngoại (foreign key): Một (một số) trường được gọi là khóa ngoại của một bảng nếu nó là khóa chính của bảng khác
Các loại quan hệ trong Access: Trong Access tồn tại
2 kiểu liên kết: liên kết 1-1 và liên kết 1-n (một-nhiều)
Quan hệ 1-1: Các trường sử dụng để tạo quan hệ trong hai bảng đều là khoá chính Khi đó, mỗi bản ghi trong bảng quan hệ phải có một bản ghi tương ứng trong bảng khoá 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ệ
Trang 45Thiết lập quan hệ giữa các bảng
Trang 46 Quan hệ 1-n: trường liên kết dùng trong bảng chínhphải là khoá chính, còn trường trong bảng quan hệ làkhoá khoá ngoại
Có nghĩa: mỗi trường của bảng 1 sẽ có thể liên kết với một hoặc nhiều bản ghi của bảng nhiều
(n) Ngược lại, mỗi bản ghi của bảng nhiều sẽ liên kết tới duy nhất 1 bản ghi của bảng 1
Để thiết lập mối quan hệ 1-n, chúng ta lấy khóa chính của bảng bên 1, thêm làm khóa ngoại của bảng bên n
Trang 47Thiết lập quan hệ giữa các bảng
Trang 48 Cách tạo quan hệ
Bước 1: Mở cửa sổ thiết lập quan hệ bởi thực đơn: Tools | Relationship
Bước 2: Đưa các bảng (Tables) 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
Relationship | Show table):
Cách đưa các bảng lên cửa sổ thiết lập quan hệ (Database) như sau:
Chọn bảng cần tham gia thiết lập quan hệ (thường thì chọn tất cả) ;
Nhấn nút Add;
Chọn xong toàn bộ nhấn Close để đóng cửa sổ.
Trang 49Thiết lập quan hệ giữa các bảng
Bước 3: Thực hiện tạo như sau:
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:
Trang 50Thiết lập quan hệ giữa các bảng
Trong 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 quan hệ hãy thực hiện chọn (checked) 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 Khi đó, nếu một bản ghi ở
bảng có quan hệ 1 bị xoá, toàn bộ các bản ghi có quan
hệ với bản ghi hiện tại sẽ được tự động xoá ở bảng có quan hệ nhiều (nếu xoá 1 CHA, toàn bộ các con của cha
đó sẽ tự động bị xoá khỏi bảng CON);
Trang 51Thiết lập quan hệ 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 Khi đó, nếu giá trị trường khoá liên kết ở bảng 1 bị thay đổi, toàn bộ giá trị trường khoá liên kết ở bảng nhiều cũng bị thay đổi theo
Hộp Relationship Type: cho biết kiểu quan hệ giữa
2 bảng đang thiết lập:
One – To – One Kiểu 1-1
One – To – Many Kiểu 1-n
Indeterminate Không xác định được kiểu liên kết
Trang 52Thiết lập quan hệ giữa các bảng
Tuỳ thuộc vào kiểu khoá của các trường tham gia liên kết mà Access tự xác định ra được kiểu liên kết giữa 2 bảng Dưới đây là một số kiểu liên kết được Access tự động xác định:
Trang 53Thiết lập quan hệ giữa các bảng
Có thể kéo bảng tới các vị trí khác để nhận được các đường quan hệ dễ xem và đẹp hơn.
Để xoá một quan hệ vừa lập, ta kích chuột tại đường quan hệ (sẽ thấy đường đậm
hơn), rồi bấm phím Delete.
Trang 54Xem và điều chỉnh các quan hệ đã có
trong CSDL
Xem các quan hệ đã có
Từ menu Tools chọn RelationShips
Từ RelationShips chọn Show All để xem tất cả quan hệ
Muốn xem các quan hệ của một bảng, chọn bảng đó, chọn
Show Direct từ RelationShips.
Trang 55Ví dụ về CSDL trong trường học
Trang 56Một số thao tác xử lý dữ liệu trên
bảng
Xoá bản ghi
Xoá bản ghi là thao tác xoá bỏ một số bản ghi ra khỏi bảng 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 cách: mở thực đơn Edit
| Delete Record
Trang 57Một số thao tác xử lý dữ liệu trên
bảng
Cách sắp xếp dữ liệu trên bảng đang mở như sau:
Trang 58Một số thao tác xử lý dữ liệu trên
bảng
Lọc dữ liệu: Lọc dữ liệu trên một bảng đang mở như sau:
Bước 1: Nhấn phải chuột lên trường cần lọc dữ liệu
Một menu xuất hiện:
Bước 2: Thiết lập điều kiện lọc trên trường đang
chọn Có rất nhiều cách để xác định điều kiện lọc:
Nếu muốn lọc những bản ghi có cùng giá trị của bản ghi đang chọn hãy chọn mục
Muốn lọc những bản ghi thoả mãn điều kiện nào đó, hãy gõ điều kiện lên mục:
Ví dụ:
Gõ >=10 - để lọc ra những bản ghi có giá trị trường đang
thiết lập lọc lớn hơn hoặc bằng 10;
Trang 59Một số thao tác xử lý dữ liệu
trên bảng
Gõ <>3 - lọc ra những bản ghi có giá trị trường
đang lọc khác 3,…
Đặc biệt: giá trị trống, rỗng được miêu tả là Null;
Lọc ra những người tên Nam gõ như sau Like
'*Nam';
Lọc ra giá trị trong khoảng 10 đến 15 gõ như
sau: Between 10 And 15 (
Muốn huỷ chế độ đặt lọc, nhấn phải chuột lên bảng dữ liệu và chọn mục :
Trang 60Thuộc tính LOOKUP
Thuộc tính LOOKUP được thiết lập tại trường tham gia liên kết trên bảng có quan hệ nhiều sang trường tham gia liên kết của bảng có
quan hệ 1.
Trang 61Thuộc tính LOOKUP
VD: 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 ra
(bảng HOADON) ở chế độ Design View bằng cách:
chọn tên bảng, nhấn nút Design;
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 (trường khachID), chọn mục Lookup
Wizard từ danh sách thả xuống: