153
e) Qui tc 5
Đưa kết hp không phân cp (n:m) v kết hp phân cp (1:n) : Thay thế các kiu kết hp
có bn s (*n) và (*n), nghĩa là quan h n:m, bi mt kiu thc th và hai kiu kết hp. To
khóa mi cho kiu thc th mi và xác định các bn s ca hai kiu kết hp mi này.
Mt trong hai bn s cc đại phi là 1, nghĩa là kiu kết hp phi tương ng vi mt PTH
gia các khóa và hai thc th.
Trong ví d qui tc 4, kết hp TIN HÀNH phi được thay thế bi mt kiu thc th
hai kiu kết hp.
f) Qui tc 6
Trong trường hp gia hai kiu thc th có nhiu kiu kết hp, thêm vào trong các kiu
thc th được to ra qui tc 5, mt kiu thuc tính là ghép ca các khóa ca các kiu thc th
liên quan.
Ví d : trong ví d hình 52 chương 4, gia hai kiu thc th CÁNHÂN và CĂNH có các
kiu kết hp SHu, Thuê và Ti. Riêng kiu kết hp Ti là không phân cp. Áp dng hai
qui tc 5 và 6 để nhn được sơ đồ như sau :
Trong mô hình d liu, ch s hu và người thuê nhà (CÁNHÂN) đều đồng nghĩa vi s
chng minh nhân dân (SCMND).
g) Qui tc 7
V đồ th ph thuc hàm ni các khóa ca các kiu thc th và tìm kiếm các PTH bc cu
có th tn ti trong đồ th. Loi b các bc cu và thay đổi li sơ đồ E-A nếu cn.
h) Qui tc 8
1
2 1
n
ThcHin
BÁCS
MãBS
TênBS
M
MãCaM
ThiGianM
BÁCS
MãBS
TênBS
M
MãCaM
ThiGianM
THCHIN
MãSTH
12 11 1
1 1
n
(a)
(b)
0n 0n
CÁNHÂN
SCMND
HTên
SHu
Thuê
0n
0n
11
1
1
01
11
CĂNH
NghipChS
ĐịaCh
TI
CưTrúS
SCMND
NghipChS
154
To mt lược đồ quan h cho mi mt kiu thc th. Khóa ca quan h là khóa ca kiu
thc th. Các thuc tính ca quan h tương ng vi các kiu đặc tính ca kiu thc th.
Như vy, ví d cho qui tc 6 cho ta các lược đồ quan h sau :
CÁNHÂN (SCMND, HTên, ...)
CĂNH (NghipChS, ĐịaCh, ...)
TI (CưTrúS, SCMND, NghipChS, ...)
i) Qui tc 9
Loi b các khóa đơn đồng nghĩa được to ra t các kiu khóa t hp và kim tra quan h
nhn được dng 2 NF và 3 NF. S dng phương pháp phân chia nếu cn cho nhng quan h
như dng chun 2 NF và 3 NF, sau đó sa đổi li mô hình E-A.
III.S dng các ngôn ng lp trình
Các ngôn ng lp trình hay hê qun lý tp là công c phn mm thế h ba.
Hê qun lý tp đảm đương mi liên h gia các tp d liu và cách t chc chúng trên mt
thiết b nh (mc vt lý) trong h điu hành đang s dng. Các tp d liu có th được to ra
bi NSD, bi chương trình hay bi mt HQLCSDL và/hoc bi mt công c to sinh ng
dng (mc logic),.
Ví d v “Khu du lch Non nước” đã xét chương trước có th được phát trin trong mt
HQLCSDL quan h. Tuy nhiên, do MHYNDL đã xây dng trước đây không quá phc tp,
khi lượng d liu không quá ln, các chc năng cn x lý không quá nhiu và tương đối đơn
gin, ta có th s dng mt h qun lý tp.
Ta chn FoxPro, do đây là mt phn mm (ph biến Vit nam) nm gia các ngôn ng
thế h ba và các HQLCSDL quan h thuc thế h 4. S dng FoxPro, ta thy được tính tun t
có ch mc ca h qun lý tp này, tương t DBase.
III.1.Chuyn đối MHYNDL thành mô hình logic d liu
Trước khi chuyn đổi MHYNDL thành mô hình logic d liu (MHLGDL), ta cn tìm hiu
cách th hin các tp d liu ca FoxPro.
III.1.1. Các tp d liu ca FoxPro
Mi tp d liu (DBF DataBase File) gm hai yếu t : bn thân DBF và mt (hoc nhiu)
tp ch mc (Index File) tương ng. Tp ch mc không là tt yếu, cũng không bt buc phi
có. Nếu như tp ch mc không được to ra thì bn thân DBF được t chc theo kiu tun t.
Có hai kiu ch mc thường s dng :
Ch mc đơn hay chun (standard index), tương t khái nim khoá : ng vi mt giá tr ch
mc duy nht thì xác định được giá tr ca mt d liu khác.
Ch mc kết hp (compound index) là ghép ca nhiu ch mc đơn (đính mc).
Mi DBF gm các bn ghi (Record). Mi bn ghi gm các trường (Field) là d liu cơ s,
không cha các cu trúc con. Các trường d liu to thành bn ghi là các thuc tính ca mt
thc th,. Mi thuc tính là đích ca mt PTH mà ch mc đơn (hay khóa ca thc th) là
ngun.
155
Sau đây là mt MHYNDL trước khi chuyn :
III.1.2.Chuyn đổi MHYNDL
⎯→
MHLGDL
Để đơn gin hóa vic chuyn đổi, trước tiên ta chuyn MHYNDL đã cho thành mô hình
nh nguyên, mt mô hình ch gm các kết hp phân cp hai chiu.
a. Chuyn đổi thành mô hình nh nguyên
Các kết hp không phân cp phi được đơn gin hóa (hay được cá th hóa). Trong ví d
MHYNDL trên đây, ch có kết hp Thuê là không phân cp, phi được đơn gin hóa.
MHYNDL sau khi chuyn đổi thành mô hình nh nguyên :
0 n
1 1
CIF
0
n
NGÀY
NgàyThuê
THTHAO
TênThThao
ĐơnVTính
GiáTin
0 n 0 n
Thuê
SốĐơnV
CH
ChS
DinTích
SNgMax
LƯUTRÚ
LưuTrúS
TênKhách
NgàyĐến
NgàyĐi
SNgười
KIU
KiuCh
GiáNgàyNgười
CIF
1 1 1
n
156
Như vy, kết hp Thuê đã được đơn gin hóa và được thay thế bi :
Thc th THUÊ có khóa là khóa ca kết hp Thuê, là do ghép các khóa ca các thc th
tham gia vào kết hp này.
Kết hp Thuê là ba chiu nên phi to ra ba CIF gia thc th mi THUÊ và các thc th
LƯUTRÚ, THTHAO và NGÀY.
KIU
KiuCh
GiáNgàyNgười
CH
ChS
DinTích
SNgMax
CIF
1 1 1
n
LƯUTRÚ
LưuTrúS
TênKhách
NgàyĐến
NgàyĐi
SNgười
0
n
1 1
0 n
1 1
NGÀY
NgàyThuê
CIF
CIF
1 1 1
n
CIF
1 1
0 n
CIF
THTHAO
TênThThao
ĐơnVTính
GiáTin
THUÊ
LưuTrúS +
TênThThao +
NgàyThuê
SốĐơnV
157
Ta nhn thy rng mô hình ch còn li các CIF, và đó là mô hình nh nguyên.
b. Nguyên tc chuyn đổi các thc th thành các tp
Mi thc th được to thành hai tp d liu là DBF và tp ch mc ca nó. Các thuc tính
ca thc th to thành các trường tin ca DBF. Khóa có vai trò là giá tr ch mc đơn ca tp
ch mc. Tuy nhiên, mô hình logic các tp s không đầy đủ nếu mi liên h gia các thc th
(CIF) không được chuyn đổi.
c. Nguyên tc chuyn đổi các mi liên h gia các thc th
MHYNDL
Mô hình logic các tp
Các tp cơ s d liu (DBF) :
Các tp ch mc (IDX) :
Mi liên h CIF gia hai thc th được chuyn đổi như sau : tp ĐƠNĐHÀNG được thêm
d liu KHS là khóa ca thc th KHHÀNG. Trong trường hp xây dng tp ch mc kết hp
CMĐĐHKH thì KHS s là khoá ca tp ch mc này, vì t đó có th :
Tìm li các thông tin v mt khách hàng t mt đơn đặt hàng,
d.
Tìm li tt c các đơn đặt hàng ca mt khách hàng (t khách hàng s).
ch mc đơn
1 1 1
n KHHÀNG
KHS
HTênKH
ĐƠNĐHÀNG
SốĐĐH
NgàyĐĐH CIF
CMĐĐH
SốĐĐH
CMKH
KHS
ĐƠNĐHÀNG
SốĐĐH
KHS
NgàyĐĐH
KHHÀNG
KHS
HTênKH
CMĐĐHKH
KHS
ch mc đơn
ch mc kết hp