Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin Khoa Công ngh Thông Tin
Trang 1Ch ng III:
TABLE VÀ RELATIONSHIP
Nh ã nói ch ng 2, Table là c u trúc c b n l u tr d li u, là n i ch a
li u v m t i t ng thông tin nào ó
i Table c t ch c thành các tr ng (Field) và các m u tin (Record) Trong
mô hình d li u quan h , u quan tr ng nh t là c u trúc c a các table và m i quan
gi a các Table
Sau khi t o ra m t CSDL tr ng, nhi m v u tiên c a b n là ph i t o ra nh ng Table (b ng) cho CSDL c a b n Trong vi c t o các Table, b n ph i n m c các thao tác c b n sau:
- T o c u trúc Table
- t khóa chính cho Table
- T o liên k t gi a các Table
- Nh p và ch nh s a d li u trong table, thêm, xóa các m u tin,…
- Sao chép, i tên, xóa table,…
3.1 T o b ng
3.1.1 T o c u trúc c a b ng
- c 1: Trong ng n Table b n click
New m h p tho i New Table.
- c 2: Ch n Design View n
click OK (khi ó c a s thi t k table
xu t hi n).
- c 3: t tên tr ng trong c t
Field Name, ch n ki u d li u trong
t Data Type và nh p thông tin mô t
ý ngh a c a tr ng trong c t
Description (không b t bu c).
- c 4: Chuy n sang c a s Field
Properties (dùng chu t ho c nh n
phím F6) t l i các thu c tính cho
tr ng n u c n (xem b ng thu c tính
bên d i).
- c 5: L p l i các b c 3 và 4
o thêm các tr ng khác (n u c n)
- c 6: Xác nh khóa chính c a
ng (xem m c 3.2)
- c 7: u b ng: Nh n Ctrl+S ho c
click nút Save ho c vào File\Save và
Trang 23.1.2 M t s v n liên quan n vi c t o c u trúc cho b ng:
a Quy t c t tên field, control và table, query,…:
- Chi u dài t i a 64 ký t Bao g m s k t h p c a nh ng ch cái, ch s , kho ng tr ng và m t s ký t c bi t ngo i tr : d u ch m (.), d u ch m c m (!),
u d u tr ng âm (`) và d u m óng ngo c vuông ([,])
- Không c b t u b ng kho ng tr ng và b n c ng không nên dùng kho ng
tr ng t tên
- Không ch a các ký t c bi t có mã ASCII t 0 n 31
- Không c t tên trùng nhau trong cùng m t i t ng
- Không t tên trùng v i các tên có s n c a Access nh tên hàm,
(Nên t tên ng n g n v sau s d ng Query, form, module thì g p nhi u thu n I).
b Các ki u d li u (Data Type)
4 Date/Time Ch a ngày và/ho c gi 8 byte
6 AutoNumber liên t c do Access t gán
vào và không i c 4 byte
7 Yes/No Tr logic úng (True) ho c sai
8 OLE Object
i t ng nhúng (hình nh, âm thanh, tài li u c a Word, b ng tính Excel, Equation, )
i a 1 GB
10 Lookup
Wizard
Ch n m t tr trong danh sách các giá tr
Tùy thu c vào ki u d
li u c a các giá tr trong danh sách
c Các Properties (thu c tính) c a các field (tr ng)
* Thu c tính chung (General):
- Các thu c tính c b n
Input Mask Quy inh m t n (m u) nh p li u (không b t bu c)
Caption t di n t khác cho Field, không b t bu c
Default Value Giá tr m c nhiên
Validation Rule Bi u th c ki m ch ng s li u nh p
Trang 3Required u ch n Yes thì b t bu c ph i nh p li u cho Field này Indexed Ch n No, ho c Yes, Duplicate OK, ho c Yes, No Duplicate
Trang 4- Các thu c tính khác:
Field Size Ch n Byte, Integer, Long Integer, Single, Double,
Replication ID Format General, Currency, Standard, Fix, Percent, Scientific
Decimal Places s l : Auto: t ng
Field Size Chi u dài t i a cho phép nh p li u
Format >: Toàn ch hoa; <: Toàn ch th ng;…
Text
Allow Zero Length Ch p nh n tr ng hay không (Yes/No)
Date/
Time Format
General Data, Long Date, Medium Date, Short Date, Long Time, Medium Time, Short Time N u là ngày tháng thì b n nên ch n là dd/MM/yyyy
Yes/
No Format Yes/No; True/False; On/Off
Format General Number, Currency, Euro, Fixed, Standard,…
Cur-rency Decimal Places s l : Auto: t ng
- M t s ký hi u dùng làm Input Mask:
0 T p h p nh ng s t 0 n 9, b t bu c nh p, không ch p nh n d u c ng (+) và d u tr (-)
9 Nh ng s t 0 n 9 ho c kho ng tr ng (blank), không b t bu c nh p, ch p
nh n d u công (+) và d u tr (-)
# S ho c kho ng tr ng (blank), không b t bu c ph i nh p, kho ng tr ng
c hi n th trong ch so n th o nh ng lúc l u l i thì nó b lo i b , ch p
nh n d u c ng (+) ho c tr (-)
L Ký t t A n Z, b t bu c ph i nh p
? Ký t t A n Z, không b t bu c ph i nh p
a Ký t t A n Z ho c s t 0 n 9, b t bu c ph i nh p
A Ký t t A n Z ho c s t 0 n 9, không b t bu c ph i nh p
& Ký t b t k và kho ng tr ng, b t bu c ph i nh p
C Ký t b t k và kho ng tr ng, không b t bu c ph i nh p
, :
; - /
Quy nh cách t d u phân cách ph n nghìn, ngày tháng và d u phân cách u này tùy thu c vào cách quy nh môi tr ng trong Control Panel
< i t t c nh ng ký t thành ch th ng
> i t t c nh ng ký t thành ch hoa
! Quy nh l i cách hi n th d li u sang trái, thông th ng khi b n nh p d
li u vào nó t ng n t trái qua ph i
\ Ký t theo sau xem nh là m t h ng tr Ví d \a s bi n thành A
Ví d :
Input Mask Nh p li u ý ngh a
>L000 A001 (ký u hoa 3 ký t sau là s b t bu c ph i nh p)
La00 NB01 (ký u ch ký t th 2 là s ho c ch ký t th
t002 4 và 5 là s bu c ph i nh p).
Trang 5* Thu c tính nh p li u (Lookup):
Display Control Textbox: T o u khi n Textbox.
Listbox: T o u khi n d ng h p danh sách Listbox
Combo box: T o u khi n h p Combo Box
Row Source Type li u ngu n l y t Table/Query ho c t m t danh sách có
n (Value List) ho c t m t tr ng (Field List)
Row Source Ch n tên Table/Query ho c nh p danh sách các giá tr ho c
ch n tên tr ng tùy vào thu c tính Row Source Type.
3.2 t khóa chính (Primary Key) cho Table:
Trong m i table ta nên t m t khóa chính o liên k t gi a các table.
Access s ki m tra tính úng n c a d li u nh p vào thông qua các m i liên h gi a các table Khóa chính có th là m t ho c nhi u tr ng k t h p l i v i nhau
Ý ngh a c a khóa chính trên m i b ng:
+ Xác nh tính duy nh t c a i t ng: các m u tin trong cùng Table không c phép trùng nhau, tránh trùng l p d li u
+ Xác nh các field còn l i c a table Ví d nh bi t c MAKH ta s bi t c tên và
a ch c akhách hàng.
+ Không c phép nh n giá tr r ng
Ý ngh a c a Khóa Ngoài ( Foreign key) trên m i b ng:
Là t hay nhi u tr ng c a m t Table là khóa chính c a Table khác Do v y d
li u l u tr trong các tr ng khóa ngoài này ph i c l u tr trên các tr ng khóa
chính.
Ví d :
+ Table DMKHO(MAKHO,TENKHO,DIACHIKHO) có khóa chính là MAKHO
+ Table: DMKH(MAKH,TENKH,DIACHIKH,DONVIKH) có khóa chính là MAKH
+ Table HOADON( SOHD, NGAYHD, LOAIHD, MAKH, MAKHO, TRIGIA, DIENGIAIHD)
có khóa chính là SOHD, khóa ngoài là các tr ng MAKHO, MAKH
Ý ngh a c a khóa chung gi a 2 b ng:
+ Xác nh m i quan h m t-m t (1-1), t-nhi u (1 - ) gi a 2 b ng.
+ Các khóa chung ph i có cùng ki u d li u và kích th c.
+ D li u ph i có ng m t thì m i cho phép nh p ng nhi u ( ).
+ Nên nh p d li u tr ng có khóa chung trên b ng nhi u b ng Combo box
Ví d :
+ Khóa chung gi a 2 b ng HOADON và DMKHO là MAKHO
+ Khóa chung gi a 2 b ng HOADON và DMKH là MAKH
Cách t khóa chính cho Table:
1 Ch n tr ng làm khóa chính (khóa
chính có th g m nhi u tr ng)
2 Click vào bi u t ng Primary Key
ho c ch n Edit\Primary Key ho c Right Click
ch n Primary Key.
Trang 6- Các tr ng t khóa chính bên trái có chìa khóa kèm theo
- N u mu n xóa khóa, b n làm l i các b c trên
Trang 73.3 Thi t l p m i quan h (relationship) gi a các Table:
Sau khi b n ã t o c các Table c n thi t cho CSDL c a b n, b c ti p theo
là b n ph i thi t l p m i quan h (liên k t) gi a các Table này l i v i nhau
3.3.1 Thi t l p m i quan h (relationship): Các b c c ti n hành nh sau:
- B c 1: Click bi u t ng
Relationships ho c vào
Tools\Relationship.
- B c 2: Click ch n tên c a
table có trong h p tho i Show
Table và click Add thêm các
table vào c a s Relationships
(Có th k t h p phím Shift và
phím Ctrl ch n nhi u Table
ng th i)
- B c 3: Click Close óng
p h i tho i Show Table l i.
u c n thêm table vào, b n
R_Click, ch n Show Table và
p lai b c 2
- B c 4: Click vào tr ng
tham gia liên k t t m t b ng và
rê tr ng ó sang tr ng
ng ng c a b ng còn l i
p tho i Edit Relationship xu t
hi n, b n có th ch n m t trong
các check box sau r i click nút
Create:
Enforce Referential
Integrity: Ki m tra quy lu t
toàn v n d li u, ngh a là
khi nh p li u vào table cho
u Many ( ) Access s ki m
tra d li u bên table u One,
u u One không có thì
Access s báo l i Ví d : B n
không th nh p trong b ng
HOADON m t MAKHO nào
ó ch a t n t i trong b ng
DMKHO.
Cascade Update Related Field: khi thay i n i dung bên u One thì nh ng
u tin thu c bên u Many có liên h s thay i theo Khi thay i MAKHO trong
DMKHO thì nh ng MAKHO ng ng trong b ng HOADON thay i theo
Cascade Delete Related Records: thì khi b n xóa d li u bên u One thì t t
nh ng m u tin có liên h bên u Many s b xóa theo Thu c tính này r t nguy
hi m, n u b n không c n th n thì khi b n xóa thì n i dung c a b n không th ph c
Trang 8- B c 5: T o các liên k t khác (l p l i b c 4 cho các field khác).
- B c 6: óng c a s Relationships và l u l i cách trình bày.
Chú ý: Khi thi t l p m i quan h
- Hai field c a hai table ph i cùng data type (ki u), cùng size (chi u dài).
- N u d li u ã nh p vào table r i thì d li u ó ph i h p v i qui t c c a relationship,
u không thì ta ph i xoá h t d li u m i thi t l p c relationship.
3.3.2 Thay i thu c tính Relationship (liên k t):
- M a s Relationship (click vào bi u t ng )
- Click ph i vào dây liên k t c n ch nh, ch n Edit Relationship.
- Thay i thu c tính relationship (gi ng nh ph n 3.3.1)
3.3.3 Xóa dây Relationship (liên k t):
- M a s Relationship.
- Click ph i vào dây liên k t c n ch nh, ch n Edit Delete, sau ó ch n Yes trong
p tho i xác nh n vi c xóa
3.3.4 Xóa m t b ng trong c a s Relationships:
- M a s Relationship.
- Click vào b ng c n xoá và nh n phím Delete.
- L u l i nh ng thay i
3.4 Nh p d li u cho Table
3.4.1 Cách nh p và ch nh s a d li u
- B c 1: Trong ng n Table, ch n Table c n nh p d li u ho c ch nh s a r i click nút Open ho c click úp vào tên table ho c R_Click vào tên table và ch n Open m màn hình nh p li u (Datasheet View)
- B c 2: L n l t nh p các m u tin vào t ng dòng c a table ho c di chuy n n m u tin c n s a và nh n phím F2 D li u nh p vào ph i th a mãn các thu c tính c a b ng
và c a tr ng
- B c 3: L u b ng l i b ng cách ch n File\Save; ho c nh n Ctrl + S; ho c click nút
Save
u ý: Ph i nh p d li u bên u 1 tr c khi nh p d li u bên u
3.4.2 Các phím dùng nh p và ch nh s a d li u:
Tab/Shift+Tab Sang ô bên ph i/trái
Home/End n u dòng/cu i dòng
Ctrl+Home/Ctrl+End n m u tin u/cu i
Enter Ch p nh n d li u và di chuy n con tr sang ô bên ph i Shift+Enter Ch p nh n d li u
F2 Chuy n sang ch ch nh s a n i dung c a ô
Ctrl+’ Chép giá tr c a m u tin phía trên
Ctrl+Alt+Space y giá tr m c nhiên
Trang 93.4.3 M t s thao tác c b n
Ch n m u tin: Click vào thanh ch n u m u tin N u mu n ch n nhi u m u tin thì click vào m u tin u và rê n m u tin cu i
Sao chép m u tin: Nh n Ctrl+C ho c Edit\Copy sao chép vào clipboard r i
nh n Ctrl+V ho c Edit\Paste dán l i vào table
Di chuy n m u tin: Nh n Ctrl+X ho c Edit\Cut c t m u tin vào clipboard r i
nh n Ctrl+V ho c Edit\Paste dán l i vào table
Xóa m u tin: Ch n m u tin c n xóa r i nh n phím Delete.
Ch n Font ch : Dùng l nh Format\Font ho c dùng các nút công c nh d ng font N u mu n thay i font ch m c nhiên thì vào Tools\Options\Datasheet.
Thay i kích th c c a c t: Rà chu t lên biên ph i c a c t n khi xu t hi n
i tên 2 chi u thì rê chu t thay i r ng ho c click úp có r ng v a cho d li u trong ô
Thay i chi u cao c a dòng: Rà chu t lên c nh d i c a dòng n khi xu t
hi n m i tên 2 chi u thì rê chu t thay i cao
Thay i tiêu c t/tên tr ng: Vào ch ch nh s a c u trúc c a b ng và
t l i thu c tính Caption ho c vào Format\Rename Column.
Chèn/xóa c t: Click ph i vào c t và ch n Insert Column/Delete Column.
p x p th t : Click ph i vào c t mu n s p x p, ch n Sort Ascending ho c Sort Descending.
3.4.4 M t s thông báo l i th ng g p khi c p nh t d li u
1 Trùng d li u trên khóa chính
y ra khi có giá tr c a 2 m u tin trên khóa chính trùng nhau
2 tr ng ô b t bu c ph i nh p
y ra khi b n không nh p giá tr cho m t tr ng c t thu c tính Required
là Yes
3 Khóa ngo i không t n t i
y ra khi có m t giá tr c nh p vào u nhi u c a m t liên k t ch a
c nh p u m t c a 2 b ng có quan h 1-nhi u
4 Vi ph m quy t c ki m tra d li u
Trang 10y ra khi giá tr nh p vào m t tr ng không tuân theo úng quy nh trong thu c tính Validation Rule c t cho tr ng ó
5 Nh p d li u sai ki u
y ra khi giá tr nh p vào m t tr ng không úng ho c v t ngoài ph m vi
a ki u d li u quy nh cho tr ng ó
3.5 M t s thao tác khác
3.5.1.Thi t k l i c u trúc c a Table:
Ch n Table c n thi t k và click Design ho c R_Click ch n Design, b c làm
ti p theo hoàn toàn gi ng nh lúc thi t k N u ã t o liên k t n table khác, b n c n
ph i xóa liên k t tr c khi ti n hành ch nh s a.
3.5.2.Sao chép c u trúc c a Table
Trong m t s tr ng h p, CSDL có nh ng Table có c u trúc t ng t nhau thay
vì b n thi t k m i b n có th copy c u trúc c a Table ã có và dán (Paste) thành Table m i Cách làm nh sau:
- R_Click vào Table và ch n Copy
- R_Click vào vùng tr ng và ch n Paste.
- Nh p tên m i (tên này ph i khác v i
nh ng tên ã có) vào ô: Table Name
Structure and Data (c u trúc và d li u)
Append data to Existing Table (b sung
li u vào table ã có r i)
3.5.3 Import (nh p) Table t CSDL khác:
Trang 11Access cho phép
n t o table b ng
cách l y d li u các
CSDL khác nh :
Excel, Foxpro,
Access… Các b c
th c hi n nh sau:
- R click vào
ng n Table,
ch n Import.
- Ch n CSDL
ngu n trong
p tho i
Import.
- Ch n table c n
nh p trong h p
tho i Import
objects, click
OK.
3.5.3 Export (xu t) Table n CSDL khác:
- R Click vào table c n export, File\Export
Trang 12-Ch n CSDL ích (có th là Excel,
Fox, ) ch n nút Save khi ó c a
Export hi n ra
t tên cho table, click vào OK, ta
có th ch n m t trong 2 tùy ch n
sau:
Definition and Data
(C u trúc table và d li u)
Definition Only
(Ch C u trúc table)
3.6 Các v n c n n m
- T o c c u trúc cho Table (xem 3.1) và t khóa chính cho Table (xem 3.2)
- Xác nh m i quan h t - m t và t - nhi u gi a các b ng.
- S d ng Combo box ho c List box l y d li u t danh sách nh p s n cho các
tr ng trong b ng thông qua Row source Type là Value list.
- S d ng Combo box ho c List box y d li u t các tr ng trong ng quan
m t (b ng cha) nh p sang ng quan h nhi u (b ng con) thông qua Row source Type là Table/Query.
- Nh p li u cho Table
3.7 Câu h i ôn t p:
1 Trình bày m t s ki u d li u (Data Type) và t ng ng v i m i ki u có nh ng thu c tính (Properties) gì ?
2 Nêu m t s quy c trong cách t tên cho m t Table
3 Cách nh d ng Font m c nh nh p li u cho Table
4 Trong m t CSDL, 2 Table c phép trùng tên nhau không ?
5 H p h i tho i sau ây xu t hi n khi nào ?
6 Nêu các khái ni m v Field (Tr ng, c t), Record (m u tin, dòng - Row), th hi n
7 Khái ni m v khóa chính (Primary Key), khóa ngoài c a tr ng trong Table
8 Nêu ý ngh a c a các thu c tính liên k t gi a 2 Table (Enforce Referential Integrity, Cascade Update Related Fields, Cascade Delete Related Records)
9 Khi 2 Table A và B ã c liên k t v i nhau, b n có c phép thay i c u trúc
t trong 2 Table ó không ? N u không c, thay i c u trúc tr c tiên b n ph i làm gì ? Và làm nh th nào ?
10 Khi nào thì b n s d ng Combo box ho c List box l y d li u t danh sách nh p
n hay t table/Query khi nh p li u cho m t table
11 Ch n ki u d li u nào n s t ng t ng nh tr ng s th t trong table
12 Ý ngh a c a m i quan h t - nhi u ; m t - m t gi a các Table trong t p tin
CSDL
13 Cách nào thì b n có th nh p kh u Table t các CSDL khác c a Access, Foxpro,