Mục tiêu Nội dung trình bày 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
Trang 2 Mục tiêu
Nội dung trình bày
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 3 CSDL Access là một đối tượng bao gồm:
Các bảng dữ liệu
Các quan hệ giữa các bảng
Trang 4Record
Tên bảng
Trang 5 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
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ìmkiếm, truy vấn)
Trang 6 Bảng bao gồm:
Tên bảng (Table Name)
Các trường (Field) (tên trường, kiểu dữ liệu, kích thướctrường, thuộc tính cần thiết cho mỗi trường )
Khoá chính (Primary Key)
Các bản ghi (Record)
Trang 7Mỗi cột là một trường
dữ liệu (Field) Mỗi dòng là
một bản ghi (Record) Bản ghi cuối
cùng (EOF)
Trang 8 Bảng ở trạng thái thiết kế cấu trúc - Design view
Trường khóa
Thuộc tính của trường
Trang 9 Tên 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ủabả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
Trang 10 Trường (Field – cột)
Lưu trữ thông tin liên quan đến một thuộc tính của đốitượ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 11 Trường (Field – cột)
Mỗi trường có một tên gọi, tên này duy nhất trong bảng(tránh !@#$%^&*()?><)
Tên trường phải ngắn gọn, nhưng giàu tính mô 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 đó:
Ví dụ: kiểu dữ liệu, trường khoá, độ lớn, định dạng,
Trường phải được xác định kiểu dữ liệu
Trang 12TT Kiểu dữ liệu Mô tả Độ lớn
1 Text Chuỗi ký tự dài tối đa 255 ký tự
2 Memo Chuỗi ký tự có độ dài tối đa 64.000
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
Các kiểu dữ liệu
Trang 13TT 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 Hyperlink
Lưu trữ dữ liệu liên kết như URL Email address, các liên kết khác…
10 Attachment Lưu trữ các file đính kèm.
11 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 14 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áiniệm, sự kiện)
Trang 15 “Một công ty cần lưu trữ các thông tin về 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 18 Bản ghi (Record)
Là một thể hiện dữ liệu của các cột trong bảng
Mỗi dòng lưu trữ thông tin của một đối tượng
Con trỏ bản ghi đang nằm ở bản ghi nào, ngườidù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ọiEOF
Trang 19 Khoá chính (Primary key)
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 không đượcrỗng
Khoá chính có tác dụng phân biệt giá trị các bản ghitrong cùng một bảng với nhau
Khoá có thể chỉ 01 trường, cũng có thể được tạo từ tậphợp nhiều trường (gọi bộ trường khoá)
Trang 20Các thuộc tính của trường Kiểu dữ liệu
Trường khóa
Trang 22 Mở database.
Chọn tab Create trên Ribbon
Chọn command Table
Trang 23 Tạo trường cho bảng: chọn Add New Field rồi đặt tên.
Dùng New Fields trên tab Datasheet
Trang 24 Trong màn hình FieldTemplates chọn trường cần sửdụng để đưa vào table.
Sau khi nhập đủ các trường thìlưu table bằng Ctrl+S haychọn Save trên Quick AccessToolbar Khi lưu phải nhập têncủa table
Chú ý có thể thêm trường đã
có ở table thiết kế trước thôngqua command Add existingfields
Trang 29 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ị khi nhậ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 : Ctrl+S hay chọn Save, đặt tên bảng, chọn OK.
Dùng phím F6 để di chuyển giữa các vùng.
Trang 30 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
Trang 31Field 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à currency.
InputMask (Mặt nạ nhập) Quy định khuôn dạng nhập
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 34 Thuộc tính Field Size
Với trường Text Độ dài mặc định là 255 Độ dài hợp lệ cóthể đặt là từ 1255
Với trường Number: Mặc định là Long Integer (4 bytes),
có thể chọn các kiểu sau từ Combo Box:
FieldSize Miền giá trị Số byte lưu trữ
Trang 35 Thuộc tính Format.
Nếu bỏ qua Format, Access sẽ trình bày dữ liệu theodạng General
Các giá trị của thuộc tính Format đối với trường Number
Giả sử Decimal Places = 2 - Hai chữ số phần thậpphân
Trang 36 Giá trị Format Số Được trình bày
Trang 37 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 38 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 39 Các giá trị của thuộc tính Format đối vớitrường YES/NO
Giá trị Format ý nghĩa
Yes/No Giá trị logic là Yes và No
True/False Giá trị logic là True và False
On/Off Giá trị logic là On và Off
Trang 40 Thuộc tính Default Value
Dùng thuộc tính này để đặt giá trị mặc định chotrường Giá trị mặc định có thể là một hằng hay mộthàm của Access
Thuộc tính Required (trường bắt buộc phải có số liệu)
Muốn bắt buộc trường phải có số liệu ta đặt thuộctính Required thành Yes
Thuộc tính AllowZerolength
Nếu đặt là Yes sẽ cho phép các trường Text và memonhận các chuỗi rỗng
Trang 41 Thuộc tính ValidationRule
Dùng thuộc tính này để kiểm tra sự hơp lệ của dữ liệu
nhập vào Muốn vậy trong thuộc tính ValidationRule ta đặt 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 >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 42<#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 43 Khoá chính là một hoặc nhiều trường xác định duy nhất mộtbản ghi.
Lợi ích.
Access tự động tạo chỉ mục (Index) trên khoá nhằm tăngtố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 46 Sau khi hoàn chỉnh việc thiết kế, ta cần lưu cấu trúc
bảng 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ấ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.
Trang 47 Với những bảng không thiết lập trường khoá, trong quátrình lưu lại cấu trúc bảng Ms.Access 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 trên.
Trang 48 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
Trang 49 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áctrường cần xoá, rồi bấm phím Delete hoặc click phải chuột
và chọn Delete Rows
Để 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 click phải chuột,Insert Rows
Di chuyển trường: Chọn trường cần di chuyển, rồi kéotrường tới vị trí mới
Trang 50 Trong cửa sổ Navigation Tables
Chọn bảng cần thay đổi cấu trúc, rồi chọn ViewDesign
Trên cửa sổ thiết kế của bảng được chọn, thay đổicấu trúc bảng
Cuối cùng lưu lại các thay đổi
Trang 51 Để nhập dữ liệu vào bảng đã tồn tại, ta làm nhưsau:
Từ cửa sổ Navigation 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 click phải chọn Open hoặc nhấn đúp chuột lên tên bảng
Kết quả nhận được cửa sổ nhập liệu chứa các
Trang 55 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ẹngiữa các bảng liên quan trong các phép thêm, sửa xoá bảnghi, cũng như truy vấn dữ liệu
Nguyên tắc đặt quan hệ là chỉ định một hoặc một nhómtrườ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ột bảngvới trường nào đó của bảng khác (bảng này gọi là bảngquan hệ), các trường này thường cùng tên, cùng kiểu
Trang 56 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óachính của bảng khác
Các loại quan hệ trong Access: Trong Access tồn tại 2kiể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ảnghi 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ảnghi tương ứng trong bảng quan hệ
Trang 58 Quan hệ 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
Có nghĩa: mỗi trường của bảng 1 sẽ có thể liên kết vớimộ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 1bả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ủabảng bên 1, thêm làm khóa ngoại của bảng bên n
Trang 60 Cách tạo quan hệ
Bước 1: Chọn tab Database Tools, chọn command Relationships
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 Table (nếu chưa thấy hộp
thoại này chọn Show Table trên Ribbon ):
Chọn bảng cần tham gia thiết lập quan hệ (thườngthì chọn tất cả) ;
Nhấn nút Add;
Chọn xong toàn bộ nhấn Close để đóng cửa sổ.
Trang 61 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ảngnà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 62 Trong trường hợp muốn thiết lập các thuộc tính đảm bảo toànvẹn dữ liệu (Enforce Referential Integrity) cho quan hệ hãythự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ảngliê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 63đả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 64 Tuỳ thuộc vào kiểu khoá của các trường tham gia liênkết mà Access tự xác định ra được kiểu liên kết giữa 2bảng Dưới đây là một số kiểu liên kết được Access tựđộng xác định:
Trang 66 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 68 Xoá bản ghi
Xoá bản ghi là thao tác xoá bỏ một số bản ghi ra khỏibảng Với bảng dữ liệu đang mở có thể thực hiện 2 bướcsau để 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 đầudòng những bản ghi cần chọn;
Bước 2: Ra lệnh xoá bằng cách: click phải và chọn Delete Record
Trang 69 Sắp xếp dữ liệu
Cách sắp xếp dữ liệu trên bảng đang mở như sau:
Đặt con trỏ vào trường cần sắp xếp,
Nhấn command - sắp xếp tăng dần,
Nhấn command - sắp xếp giảm dần,
Nhấn command - xóa sắp xếp
Trang 70 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 button
Muốn lọc những bản ghi thoả mãn điều kiện nào đó,click chuột phải chọn Text Filters
Trang 73 Muốn huỷ chế độ lọc:
Trang 74Thuộ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 75 VD: thiết lập thuộc tính LOOKUP cho trường MaKH của
bảng HoaDon sang trường MaKH của bảng KhachHang
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 HoaDonN) ở 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ínhLOOKUP (trường khachID), chọn mục Lookup
Wizard từ danh sách thả xuống:
Trang 77Hộp thoại Lookup Wizard xuất hiện:
Trang 78 Nhấn Next để tiếp túc:
Bước 3: Chọn dữ liệu cho danh sách:
Trang 79 Chọn xong nhấn Next, hộp thoại sau xuất hiện:
Trang 80 Về nguyên tắc chỉ cần đưa trường MaKH của bảng KháchHàng
vào danh sách Selected Fields: là đủ, tuy nhiên nên đưa thêm
trường TenKH để 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 để tiếp tục: Xuất hiện hộp thoại
Trang 83 Nhấn Finish để kết thúc
Trang 84 Bước 1 : Lần lượt xây dựng cấu trúc từng bảng dữ liệu trong
CSDL Với mỗi bảng dữ liệu khi khai báo cấu trúc cần giảiquyết các công việc sau :
Khai báo danh sách các trường của bảng ở cột Field
Name;
Chọn kiểu dữ liệu phù hợp cho các trường ở cột Data
Type;
Thiết lập trường khoá cho bảng;
Thiết lập một số khác cần thiết cho các trường như : Field Size, Format, Input Mark, Required, Validate Rule, …
Ghi tên bảng