You are on page 1of 79

CHÖÔNG TRÌNH GIAÙO DUÏC ÑAÏI HOÏC

NGAØNH ÑAØO TAÏO: COÂNG NGHEÄ THOÂNG TIN

ÑEÀ CÖÔNG CHI TIEÁT HOÏC PHAÀN


1.Teân hoïc phaàn : THIEÁT KEÁ CÔ SÔÛ DÖÕ LIEÄU
2. Soá ñôn vò hoïc trình : (4 ñvht : 3 lt+1 th)
3. Trình ñoä cho sinh vieân naêm thöù :4 (HK 7)
4. Phaân boå thôøi gian:
- Leân lôùp : 45 tieát (3 ñvht)
- Thöïc taäp phoøng thí nghieäm, thöïc haønh :30 tieát (1 ñvht)
- Khaùc : Ñoà aùn moân hoïc 30 tieát ( Sinh vieân laøm theo nhoùm vaø baùo caùo taïi
lôùp ) ñoái vôùi sinh vieân theo ngaønh HTTT
5.Ñieàu kieän tieân quyeát : Phaûi hoïc xong moân Cô sôû döõ lieäu, phaân tích thieát keá
HTTT.
6. Muïc tieâu cuûa hoïc phaàn :
Cung caáp kieán thöùc lyù thuyeát ñeå thieát keá moät cô sôû döõ lieäu quan heä. Caùc
vaán ñeà ñaët ra trong caùc giai ñoïan thieát keá, töø thieát keá caáu truùc quan nieäm ñeán
thieát keá caáu truùc vaät lyù, seõ ñöôïc laàn löôït trình baøy: caùc caùch tieáp caän toång hôïp
vaø phaân raõ trong thieát keá caáu truùc quan nieäm, phaân tích vaø so saùnh keát quûa cuûa
hai caùch tieáp caän ñoù, bieåu dieãn caáu truùc quan nieäm ôû daïng ñoà thò quan heä, caùch
caân nhaéc löïa choïn moät caáu truùc vaät lyù ñeå caøi ñaët thoâng qua caùc khaùi nieäm ñoà
thò vaø caùc con ñöôøng truy xuaát vaø chuoãi keát ñöôïc caøi ñaët tröïc tieáp treân ñoà thò.
Cuoái cuøng moät ñoà aùn moân hoïc döïa treân moät baøi toaùn thöïc teá seõ ñöôïc thöïc
hieän theo nhoùm hai sinh vieân, ñoà aùn phaûi phuû heát caùc giai ñoaïn cuûa qui trình thieát
keá vaø ñöôïc caøi ñaët cuï theå vôùi moät phaàn meàm quaûn trò CSDL quan heä.
7. Moâ taû vaén taét noäi dung hoïc phaàn : Giuùp SV naém vöõng moâ hình quan nieäm
döõ lieäu. Theá naøo laø “CSDL toát”, khaùi kieäm phuï thuoäc haøm, daïng chuaån, baûo
toaøn thoâng tin, baûo toaøn qui taéc quaûn lyù, ñoà thò quan heä vaø con ñöôøng truy xuaát.
Thieát keá toát moät chöông trình quaûn lyù ôû möùc logic, vaät lyù.
8. Nhieäm vuï cuûa sinh vieân
 Döï lôùp : Theo saùt taøi lieäu vaø giaùo trình do giaûng vieân cung caáp,
tranh luaän vaø thaûo luaän theo tình huoáng do GV hoaëc SV ñöa ra
 Baøi taäp : Phaûi ñöôïc chuaån bi ôû nhaø kyõ, ñöôïc baøn baïc, tranh luaän vaø
ñi ñeán thoáng nhaát trong giôø söaû baøi taäp cuaû buoåi thöïc haønh
 Duïng cuï hoïc taäp : Caùc heä quaûn trò ñang söû duïng roäng raõi.
 Khaùc : Caùc taøi lieäu thu thaäp veà heä thoáng thoâng tin quaûn lyù cuaû
caùc xí nghieäp vaø coâng ty döôùi daïng caùc maãu bieåu nhaäp lieäu vaø caùc
maãu baùo caùo.
9. Taøi lieäu hoïc taäp
1.Cô sôûdöõ lieäu vaø cô sôû tri thöùc Taäp 1, taäp 2 Jeffrey D.Ullman-Traàn Ñöùc Quang,
Hoà Thuaàn, NXB Thoáng Keâ, 2003.
2.Cô Sôû döõ lieäu , Ñoã Trung Tuaán, NXB Giaùo duïc,2000
3. Giaùo trình Thieát keá CSDL- Ñoàng Thò Bích Thuûy..
10 Tieâu chuaån vaø ñaùnh giaù sinh vieân
- Döï lôùp : Toái thieåu döï 75 % soá tieát LT, vi phaïm phaûi caám thi.

1
- - Thaûo luaän : Khuyeán khích hoïc nhoùm (3-5 SV) ngoaøi giôø , 50 % soá giôø baøi taäp
vaø thöïc haønh trong giôø .
- Baûn thu hoaïch : Ñoà Aùn moân hoïc (neáu coù, 1 coät ñieåm rieâng : 2 ñôn vò hoïc
trình)
- Thuyeát trình : (Neáu coù laøm ñoà aùn : 30 % ñieåm cuaû ñoà aùn)
- Thi giöõa hoïc kyø: Chaám döùt tieát thöù 25 (cuaû LT), 30 % ñieåm moân hoïc
- Thi cuoái hoïc kyø:70 % ñieåm moân hoïc
- Khaùc : Trong quaù trình thaûo luaän vaø söaû baøi taäp giaùo vieân ñöôïc quyeàn coäng
ñieåm thöôûng vaøo baøi thi giöaõ kyø hoaëc cuoái kyø ñeå khuyeán khích hoïc
sinh saùng taïo vaø naêng noå.
11. Thang ñieåm : 10 .

12 Noäi dung chi tieát hoïc phaàn


Chöông 1 : Caùc giai ñoaïn trong quaù trình thieát keá moät cô sôû döõ lieäu (4t LT)
1.1. Daãn nhaäp.
1.1.1. Muïc tieâu chính coâng vieäc thieát keá CSDL.
1.1.2. Caùc caâu hoûi ñaët ra cho ngöôøi thieát keá .
1.1.3. Caùc thoâng tin vaøo / ra quy trình thieát keá.
1.2. Chu kyø soáng cuûa moät CSDL.
1.3. Giai ñoaïn phaân tích nhu caàu.
1.4. Giai ñoaïn thieát keá quan nieäm.
1.5. Giai ñoaïn thieát keá logic.
1.6. Giai ñoaïn thieát keá vaät lyù.
Chöông 2 : Moâ hình quan heä vaø caùc phuï thuoäc döõ lieäu (7t LT + 3t BT)
2.1 Moâ hình döõ lieäu quan heä : nhaéc laïi caùc khaùi nieäm caên baûn.
2.2 Phuï thuoäc haøm.
2.3 Caùc daïng chuaån treân quan heä.
2.4 Baøi taïâp
Chöông 3 : Phöông Phaùp Chuaån Hoùa LÑ CSDL (8t LT + 5t BT)
3.1. Daãn nhaäp.
3.2. Caùc tieâu chuaån cuûa quaù trình chuaån hoùa
3.3. Quan ñieåm baûo toaøn phuï thuoäc haøm
3.4. Quan ñieåm baûo toaøn thoâng tin
3.5. Quan ñieåm bieåu dieãn troïn veïn .
3.6. Hai phöông phaùp chuaån hoùa moät LÑ CSDL
3.7. Baøi taäp.
Chöông 4 : Lyù thuyeát ñoà thò quan heä (8 t LT + 5t BT)
4.1. Daãn nhaäp
4.2. Bieåu dieãn caáu truùc quan nieäm döôùi daïng ñoà thò.
4.3. Ñoà thò con ñöôøng truy xuaát thoâ
4.4. Ñoà thò quan heä.
4.5. Bieán ñoåi moät ñoà thò quan heä sang moät ñoà thò con ñöôøng truy xuaát thoâ, vaø ngöôïc
laïi.
4.6. Chuoãi keát ñöôïc caøi ñaët treân ñoà thò.
4.7. Thuaät toaùn bieåu dieãn moät caáu truùc CSDL quan heä sang ñoà thò quan heä.

2
4.8. Bieán ñoåi ngöôïc töø ñoà thò quan heä sang caáu truùc CSDL quan heä.
4.9. Baøi taäp
Chöông 5 : Thieát keá CSDL ôû möùc vaät lyù (3t LT + 2t BT)
5.1. Luyeän taäp kyõ naêng.
5.2. Baøi taäp thieát keá

3
Chöông 1: CAÙC GIAI ÑOAÏN TRONG QUAÙ TRÌNH
THIEÁT KEÁ MOÄT CÔ SÔÛ DÖÕ LIEÄU (4T
LT)
1.1.Daãn nhaäp.
1.1.1. Khaùi nieäm veà heä thoáng CSDL:
Heä thoáng CSDL cuûa moät öùng duïng tin hoïc laø 1 taäp hôïp döõ lieäu ñöôïc toå
chöùc 1 caùch choïn loïc, ghi treân caùc thieát bò tröõ tin, nhaèm phuïc vuï ñoàng thôøi cho
nhieàu ngöôøi, vôùi nhieàu muïc ñích xöû lyù vaø khai thaùc khaùc nhau.
Ví duï: Trong moät coâng ty phaàn meàm:
 Boä phaän quaûn lyù tieàn löông coù nhu caàu laäp baûng löông cho ñôn vò vôùi
caùc thoâng tin ghi treân baûng löông nhö sau: STT, hoï teân, heä soá löông, tieàn
löông, Chöõ kyù
Trong ñoù, Tieàn löông = heä soá löông x 500000; heä soá löông ñöôïc phaân chia
döïa treân hoïc vò.
 Boä phaän quaûn lyù döï aùn coù nhu caàu laäp danh saùch phaân coâng nhaân
vieân cho caùc döï aùn, vôùi caùc thoâng tin: STT, hoï teân, chuyeân moân, döï
aùn.
Trong ñoù, nhaân vieân ñöôïc phaân coâng phaûi coù chuyeân moân phuø hôïp vôùi
yeâu caàu chuyeân moân cuûa töøng döï aùn.

Moâi tröôøng CSDL


CT QLTL Baûng
Danh muïc Heä Löông
User1 Soá Löông
Nhaân Vieân
Baûng
CT QLDA Phaân
User2 Danh Muïc Döïï
coâng
AÙn

Hình aûnh veà moâi tröôøng CSDL


Heä thoáng CSDL ñöôïc xaây döïng sao cho coù theå phuïc vuï cho caùc muïc tieâu
treân cuûa caùc phoøng ban.
1.1.2. Muïc tieâu chính coâng vieäc thieát keá CSDL.
Laøm theá naøo chuyeån ñoåi caùc nhu caàu löu tröõ vaø khai thaùc döõ lieäu
cuûa ngöôøi söû duïng thaønh moät heä thoáng CSDL hieäu quaû. Tính hiệu quả được
thể hiện cụ thể bởi các tính chất : “Tính không trùng lấp”; “Tính nhất quán dữ liệu”;
“Tính dễ khai thác “; “Dễ kiểm tra các qui tắc quản lý bởi các ràng buộc toaøn vẹn”;
“Dễ cập nhật và nâng cấp hệ thống”.
Vôùi cuøng caùc nhu caàu löu tröõ vaø khai thaùc döõ lieäu, coù theå coù nhieàu caáu
truùc CSDL khaùc nhau.
Ví duï: CT1: NhanVien(MaNV, HoTen, ChuyenMon, HSLg, TienLuong, ChuKy)
DanhMucDuAn( MaDA, TenDuAn,…)
CT2: NhanVien(MaNV, HoTen, ChuyenMon, Hocvi)
DMHSLuong(Hocvi, HeSoLuong)
DanhMucDuAn( MaDA, TenDuAn,…)
PhanCong(MaDA, MaNV)
Tieâu chuaån ñeå löïa choïn moät caáu truùc CSDL hieäu quaû lieân quan ñeán vaán ñeà
khai thaùc trong töông lai, bao goàm:
- Thôøi quan truy xuaát döõ lieäu ñaùp öùng cho moät yeâu caàu khai thaùc?

4
- Thôøi gian phuïc hoài CSDL khi coù söï coá ?
- Chi phí toå chöùc vaø caøi ñaët CSDL ?
- Deã baûo trì, naâng caáp, söûa ñoåi khi phaùt sinh nhöõng nhu caàu môùi hay
khoâng?
1.1.3. Caùc thoâng tin vaøo / ra quy trình thieát keá.
Thoâng tin vaøo:
(1) Yeâu caàu veà thoâng tin: Duøng CSDL cho vaán ñeà gì? Xuaát phaùt töø
ngöôøi söû duïng coù nhu caàu vaø quan ñieåm nhö theá naøo. Ta caàn phaûi
ghi nhaän laïi heát.
ÔÛ ñaây chæ giôùi haïn ôû möùc döõ lieäu.
(2) Yeâu caàu veà xöû lyù: Moãi nhoùm ngöôøi söû duïng seõ neâu ra caùc yeâu
caàu xöû lyù cuûa rieâng mình; Taàn suaát xöû lyù vaø khoái löôïng döõ
lieäu.
(3) Ñaëc tröng kyõ thuaät cuûa heä quaûn trò CSDL caàn söû duïng ñeå caøi ñaët
CSDL
(4) Caáu hình thieát bò tin hoïc gì ñeå ñaùp öùng vôùi (1), (2) vaø (3)
Thoâng tin ra:
(1) Caáu truùc quan nieäm CSDL
(2) Caáu truùc Logic CSDL
(3) Caáu truùc Vaät lyù CSDL

Y/c Thoâng tin CT QN CSDL

Y/c Xöû lyù Qui trình thieát keá CTLG CSDL


CSDL
Phaàn meàm CTVL CSDL

Phaàn cöùng
1.2.Chu kyø soáng cuûa moät CSDL.
Moät öùng duïng tin hoïc ñöôïc trieån khai thöïc hieän traûi qua caùc giai ñoaïn:
(i) Giai ñoaïn xaây döïng CSDL
(a) Phaân tích caùc nhu caàu cuûa ngöôøi söû duïng
(b) Thieát keá CSDL ôû möùc quan nieäm: nghóa laø xaùc ñònh noäi dung
CSDL (chöùa nhöõng thoâng tin gì ?). Chæ quan taâm ôû möùc döõ lieäu
(c) Thieát keá CSDL ôû möùc Logic: Chia vaán ñeà caàn xöû lyù ra thaønh
nhieàu böôùc. ÔÛ ñaây chæ chuù yù ñeán caùc xöû lyù ñaët ra, nhöng chöa
chuù yù ñeán phaàn meàm vaø phaàn cöùng.
(d) Thieát keá CSDL ôû möùc vaät lyù: Caøi ñaët CSDL nhö theá naøo? Giaûi
quyeát nhöõng vaán ñeà mang tính kyõ thuaät.
Ví duï: Söû duïng phaàn meàm naøo? Vôùi caáu hình maùy ra sao?.
(ii) Giai ñoaïn thöû nghieäm vaø khai thaùc:
(e) Caøi ñaët vaø chaïy thöû nghieäm: Neáu coù sai soùt thì phaûi hieäu chænh
laïi caáu truùc CSDL ôû caùc möùc quan nieäm; logic; vaät lyù.
(f) Ñöa cho ngöôøi söû duïng khai thaùc.
(g) Thích öùng CSDL theo nhöõng nhu caàu môùi: baét ñaàu töø f --> g

5
khoaûng 3 naêm.
3 naêm
a

a b c d e f g
(i) ( ii )
Quaù trình thieát keá laø chu trình soáng, neáu nhu caàu môùi quaù nhieàu thì caàn
phaûi chuaån bò CSDL môùi ñeå thay theá CSDL cuõ.
Qui Trình Thieát Keá CSDL

Y/c Thoâng tin Phaân tích nhu caàu Y/c Xöû lyù

Baûn ñaëc taû caùc nhu caàu

Thieát keá quan nieäm

Ñaëc tröng kyõ Ñaëc tröng kyõ


Caáu truùc QNCSDL thuaät cuûa
thuaät cuûa
Phaàn meàm Phaàn cöùng
Thieát keá Logic

Caáu truùc Logic CSDL

Thieát keá vaät lyù

Caáu truùc vaät lyù CSDL

1.3.Giai ñoaïn phaân tích nhu caàu:


1.3.1. Noäi dung:
Ñaây laø böôùc khoù nhaát trong quaù trình thieát keá vì noù ñöôïc thöïc hieän
thoâng qua söï tieáp xuùc giöõa ngöôøi thieát keá vaø ngöôøi söû duïng.
Noäi dung cuûa giai ñoaïn naøy laø:
- Thu thaäp thoâng tin veà döõ lieäu vaøxöû lyù töø ngöôøi söû duïng, töø
caùc taøi lieäu, chöùng töø, bieåu maãu thoáng keâ lieân quan ñeán CSDL
vaø caû nhöõng taøi lieäu cuûa CSDL cuõ (Neáu coù).
- Sau khi thu thaäp phaûi toång hôïp vaø phaân tích nhöõng nhu caàu ñoù.
Kieåm tra xem coù nhöõng maâu thuaån giöõa caùc nhu caàu khoâng?
Keát quaû laø phaûi xaùc ñònh cho ñöôïc:
- Muïc tieâu söû duïng, khai thaùc
- Noäi dung, yeâu caàu chi tieát caàn thöïc hieän
- Thôøi gian ñaùp öùng vaø hình thöùc xöû lyù:
Ví duï:
 Tình traïng baùn veù trong caùc chuyeán bay, chuyeán taøu ñoøi hoûi
phaûi xöû lyù töùc thôøi, rieâng reõ töøng tröôøng hôïp.

6
 Tình traïng möôïn, traû saùch cuûa ñoäc giaû thö vieän ñoøi hoûi phaûi
xöû lyù rieâng reõ nhöng thôøi gian xöû lyù coù theå treã.
 Tính löông cho coâng nhaân ñoøi hoûi xöû lyù chung toaøn boä vaø
thôøi gian xöû lyù theo ñònh kyø giöõa thaùng hay cuoái thaùng.
- Khoái löôïng döõ lieäu, taàn suaát khai thaùc
- Yeâu caàu veà tính an toaøn vaø baûo maät.
1.3.2. Caùch thöïc hieän:
Duøng kyõ thuaät phoûng vaán:
- Tröïc tieáp
- Giaùn tieáp: töï laäp ra caùc caâu hoûi treân giaáy ñeå User traû lôøi.
Ñoái töôïng phoûng vaán: coù lieân quan
- Ban giaùm ñoác
- Caùc phoøng ban coù lieân quan
Keát quaû:
- Leân sô ñoà: luaân chuyeån thoâng tin giöõa nhöõng User lieân quan hoaëc
nhöõng nhoùm Users lieân quan. Ñöa ra nhöõng döõ lieäu caàn thieát nhaát.
- Phaûi coù boä hoà sô heä thoáng hoaù nhöõng nhu caàu vaø vieát theo
ngoân ngöõ bình thöôøng ñeå ngöôøi duøng ñoïc laïi vaø boå sung nhöõng
yeâu caàu cuûa hoï. Boä hoà sô naøy coøn ñöôïc duøng ñeå nghieäm thu
CSDL.
1.4.Giai ñoaïn thieát keá quan nieäm:
1.4.1. Muïc ñích:
Xaùc ñònh noäi dung döõ lieäu, moái quan heä giöõa caùc döõ lieäu beân trong
CSDL.
Chöa caàn quan taâm caùch caøi ñaët. Phaûi xaùc ñònh ñuùng vaø ñaày ñuû döõ
lieäu, loaïi boû caùc döõ lieäu thöøa.
Coâng cuï: Duøng moät moâ hình döõ lieäu naøo ñoù ñeå bieåu dieãn tuøy
ngöôøi thieát keá.
1.4.2. Caùch thöïc hieän:
Do nhu caàu khai thaùc, moãi nhoùm ngöôøi seõ coù nhöõng yeâu caàu khaùc
nhau veà CSDL.
Ví duï: - Ñoái vôùi ngöôøi quaûn trò kinh doanh chæ quan taâm ñeán caùc
thaønh phaåm: Maõ thaønh phaåm, teân, soá löôïng toàn, ñôn
giaù baùn.
- Ñoái vôøi ngöôøi quaûn lyù kho: ngoaøi thoâng tin cuûa caùc thaønh
phaåm, ngöôøi quaûn lyù kho coøn quan taâm ñeán caùc chöùng töø
lieân quan ñeán caùc thaønh phaåm: Soá ñôït, giaù thaønh, soá
löôïng.
Ngöôøi thieát keá caàn chuyeån ñaày ñuû caùc yeâu caàu vaøo CSDL.
Baèng caùch:
Phaân chia caùc nhu caàu ra thaønh töøng maûng. Ñieàu ñoù daãn ñeán
seõ coù nhieàu moâ hình quan nieäm döõ lieäu, moãi moâ hình lieân quan ñeán
1 maûng.

Cuoái cuøng caàn tích hôïp caùc moâ hình ñoù laïi. Khi toång hôïp, caàn
phaûi xaùc ñònh taát caû caùc raøng buoäc toaøn veïn vaø taïo ra töø ñieån döõ
lieäu.

7
1.5.Giai ñoaïn thieát keá logic.
1.5.1. Muïc ñích:
Ñaây laø böôùc chuyeån tieáp. Ñaëc bieät caân nhaéc döïa treân nhu caàu xöû
lyù, nghieân cöùu caùch söû duïng döõ lieäu thoâng qua xöû lyù
Caùc thoâng tin caàn: Taàn suaát, khoái löôïng ...
Trong giao ñoaïn thieát keá quan nieäm, döõ lieäu caàn loaïi boû nhöõng thoâng
tin truøng laép. Nhöng ôû giai ñoïan thieát keá logic, caàn phaûi caân nhaéc, döïa
treân hieäu quaû xöû lyù, ñeå quyeát ñònh coù hay khoâng coù caøi ñaët thoâng
tin truøng laép.
1.5.2. Caùch thöïc hieän:
- Choïn caáu truùc logic gaàn vôùi phaàn meàm seõ söû duïng caøi ñaët CSDL.
- ÔÛ giai ñoïan naøy , ngöôøi ta thöôøng theå hieän thoâng tin theo moâ hình
Quan heä.
1.6.Giai ñoaïn thieát keá vaät lyù:
1.6.1. Muïc ñích:
Xaây döïng moät caáu truùc vaät lyù phuï thuoäc vaøo phaàn meàm vaø caáu
hình phaàn cöùng maø ta ñaõ löïa choïn ñeå caøi ñaët CSDL.
Giai ñoaïn naøy, ñôn giaûn hay phöùc taïp tuøy thuoäc vaøo ñaëc tröng kyõ
thuaät cuûa phaàn meàm vaø phaàn cöùng.
1.6.2. Caùch thöïc hieän:
- Choïn löïa phaàn meàm phuø hôïp vôùi ñoä phöùc taïp cuûa döï aùn
- Choïn löïa caáu hình phaàn cöùng
- Quyeát ñònh nhöõng vaán ñeà lieân quan ñeán An toaøn döõ lieäu vaø phuïc
hoài döõ lieäu.
An toaøn döõ lieäu: Ai ñöôïc quyeàn truy xuaát döõ lieäu naøy?
Ai ñöôïc quyeàn caäp nhaät döõ lieäu naøy?
Phuïc hoài döõ lieäu : Trong moïi söï coá laøm hö hoûng döõ lieäu, caàn
phaân ñònh roõ caùc khoái xöû lyù vaø löu tröõ tình traïng döõ lieäu
tröôùc khi thöïc hieän 1 khoái xöû lyù, ñeå phuïc hoài neáu coù söï coá.
- Caøi ñaët vaät lyù: Xaùc ñònh
 Danh muïc quan heä: Coù theå goäp hay khoâng goäp caùc quan heä
tuøy thuoäc vaøo muïc ñích. Do ñoù, danh muïc quan heä trong giai
ñoaïn naøy coù theå khaùc vôùi danh muïc quan heä trong caùc giai
ñoaïn ñaàu.
 Danh muïc chæ muïc quan heä chính, phuï
 Vò trí chöùa ñöïng CSDL (treân cuøng moät Sector, 1 trang
hay tuøy yù)
 Trong 1 trang vaät lyù chöùa ñöïng ñöôïc bao nhieâu
Record.
 Xaùc ñònh kích thöôùc boä nhôù ñeå chöùa döïng döõ lieäu
trong khi laøm vieäc

8
Chöông 2 : CAÙC PHUÏ THUOÄC DÖÕ LIEÄU TRONG MOÂ HÌNH
QUAN HEÄ
(7t LT + 3t BT)
2.1 Moâ hình döõ lieäu quan heä : nhaéc laïi caùc khaùi nieäm caên baûn.
 Thuoäc tính (Attribute) laø thoâng tin ñaëc thuø cuûa moãi ñoái töôïng
ñöôïc quaûn lyù.
Thuoäc tính ñöôïc xaùc ñònh bôûi:
- Teân goïi: TenSV, TenGV
- Kieåu döõ lieäu (Type): Soá, vaên baûn, Boolean...
- Mieàn giaù trò (Domain): Kyù hieäu MGT(A)
 Moät quan heä Q ñöôïc ñònh nghóa treân moät taäp thuoäc tính {A1, A2, ..,
An} laø moät söï bieåu dieãn taäp ñoái töôïng coù chung caùc thuoäc tính.
- Kyù hieäu: Q(A1, A2,..,An)
- Kyù hieäu: Q+ duøng bieåu dieãn taäp thuoäc tính {A1, A2, .., An}
- Moãi quan heä Q ñeàu keøm theo moät taân töø ||Q|| duøng ñeå moâ taû
moái lieân heä ngöõ nghóa cuûa caùc thuoäc tính trong Q.
Ví duï: KetQuaHT(MSSV, MSMon, HocKy, DiemL1, DiemL2)
Taân töø: Moãi moân hoïc (MSMon) trong moät hoïc kyø (HocKy)
sinh vieân (MSSV) ñöôïc thi toái ña 2 laàn (DiemL1, DiemL2).
 Moät boä q: cuûa quan heä Q(A1, A2,..,An) laø moät toå hôïp giaù trò (a1,
a2,..,an) thoaû 2 ñieàu kieän:
(1) Ai  Q+, ai  MGT(Ai)
(2) Taän töø ||Q(a1, a2,..,an) || ñöôïc thoaû
Ví duï: q=(01TH125, CSDL, 8, NULL)
 Moät theå hieän cuûa quan heä Q, kyù hieäu TQ, laø moät taäp caùc boä
cuûa Q
TQ = { q= (a1,a2,.., an) / ai  MGT(Ai), ||Q(q)|| = TRUE }
 Moät Sieâu khoùa(Super Key) treân quan heä Q laø moät taäp thuoäc tính S
 Q+ neáu moãi giaù trò cuûa S coù theå xaùc ñònh duy nhaát moät boä cuûa
Q
q1, q2  TQ, q1.S = q2.S thì q1 = q2
 Khoùa chæ ñònh (Candidate Key) hay khoùa noäi cuûa Q laø moät sieâu
khoùa ít thuoäc tính nhaát, khoâng chöùa baát kyø moät sieâu khoùa naøo.
 Thuoäc tính khoùa vaø thuoäc tính khoâng khoùa: Caùc thuoäc tính tham
gia vaøo khoùa goïi laø thuoäc tính khoùa, caùc thuoäc tính khoâng tham gia
vaøo khoùa goïi laø caùc thuoäc tính khoâng khoùa.
 Moät CSDL laø 1 taäp hôïp caùc quan heä, Kyù hieäu: C = { Qi }ti = 1
 Pheùp chieáu cuûa moät boä q leân taäp thuoäc tính X Q+ laø pheùp trích ra töø
boä q caùc giaù trò töông öùng vôùi taäp thuoäc tính X
Kyù hieäu: q.X hay q[ X ]
Ví duï: q=(01TH125, CSDL, 8, NULL)
thì q.[MSSV, DiemL1]=(01TH125, 8)
 Chieáu moät quan heä Q leân taäp thuoäc tính X  Q+ seõ taïo thaønh moät quan
heä Q' coù taäp thuoäc tính X vaø TQ'={q' / qTQ q.X = q'}
Kyù hieäu: X(Q) hay Q[X].

9
2.2 Phuï thuoäc haøm(FUNCTIONAL DEPENDENCY):
PTH laø coâng cuï duøng ñeå bieåu dieãn moät caùch hình thöùc moái quan heä
döõ lieäu cuûa caùc thuoäc tính beân trong CSDL.
Ví duï: Xeùt lòch xeáp lôùp cuûa moät tröôøng hoïc trong moät ngaøy, ta thaáy
coù moái quan heä döõ lieäu nhö sau: "Neáu ta bieát ñöôïc teân giaùo vieân vaø giôø
daïy, ta seõ bieát ñöôïc lôùp naøo ñang hoïc."
Thoâng qua caùch bieåu dieãn PTH, ta coù theå deã daøng xaùc ñònh khoùa
cuûa quan heä.
Phöông phaùp bieåu dieãn naøy coù vai troø quan troïng trong caùc phöông
phaùp thieát keá moät löôïc ñoà quan nieäm cuûa CSDL, nhaèm taïo ra nhöõng quan
heä ñoäc laäp nhau, giaûm thieåu söï truøng laép, dö thöøa döõ lieäu löu tröõ. Do ño,ù
giaûm bôùt caùc sai soùt khi caäp nhaät döõ lieäu cuûa ngöôøi söû duïng. Ngoaøi ra,
coøn duøng ñeå ñaùnh giaù chaát löôïng thieát keá moät CSDL.
2.2.1 Nhaéc laïi ñònh nghiaõ:
Cho moät quan heä Q(X, Y, Z) vôùi X,Y,Z laø caùc taäp thuoäc tính con cuûa
Q+ vaø vôùi X,Y khaùc roãng.
Moïi theå hieän TQ cuûa Q ñeàu thoaû Phuï thuoäc haøm X  Y neáu:
q1, q2  TQ: q1.X = q2.X thì q1.Y = q2.Y
Khi ñoù ta noùi: X xaùc ñònh haøm Y hay Y phuï thuoäc haøm vaøo X
Quy öôùc: Neáu Y khoâng phuï thuoäc haøm vaøo X ta kyù hieäu: X --/--> Y
 X  Y laø Phuï thuoäc haøm hieån nhieân neáu Y  X
2.2.2 Taäp Phuï Thuoäc Haøm Cuûa Moät Quan Heä:
Taäp hôïp caùc PTH khoâng hieån nhieân cuûa Q ñöôïc kyù hieäu laø FQ
FQ = { fi : X  Y xaùc ñònh treân Q}
Qui öôùc: Chæ moâ taû caùc phuï thuoäc haøm khoâng hieån nhieân trong taäp
F.
Ví duï: Xeùt quan heä Giaûng daïy: GD(MsGV, Hoten, MsMH, TenMH, Phoøng,
Giôø)
F={f1:MsGVHoten; f2: MsMHTenMH; f3: Phong,GioMSMH;
f4: MsGV,GiôøPhoøng}
2.2.3 Heä Tieân Ñeà Amstrong Vaø Moät Soá Tính Chaát Cuûa PTH:
a)Heä tieân ñeà Amstrong:
Cho löôïc ñoà quan heä Q vaø X, Y, W, Z  Q+.
LD1: Luaät phaûn xaï: Y  X ==> X  Y
LD2: Luaät theâm vaøo: Neáu X  Y vaø Z  W thì X,W  Y,Z
LD3: Luaät baéc caàu: Neáu X ---> Y vaø Y ---> Z thì X ---> Z
b)Moät soá luaät daãn suy töø heä tieân ñeà Amstrong:
LD4: Luaät phaân raõ: Neáu X--> Y,Z thì X--->Y vaø X---> Z
LD5: Luaät hoäi: Neáu X---> Y vaø X ---> Z thì X ---> Y,Z
LD6: Luaät baéc caàu giaû: Neáu X ---> Y vaø Y,Z ---> W thì X,Z ---> W
c)Bao Ñoùng Cuûa Taäp Phuï Thuoäc Haøm:
Ñònh nghiaõ: Cho moät quan heä Q coù taäp phuï thuoäc haøm FQ
Bao ñoùng cuûa FQ, kyù hieäu FQ+, laø taäp hôïp taát caû caùc PTH coù theå
suy dieãn töø FQ döïa vaøo heä luaät daãn Amstrong.
Kyù hieäu: FQ+ = { X ---> Y / F |== X ---> Y}
Ví duï: Q(A,B,C) vaø FQ = {f1: A--->B, f2: B-->C}
FQ+ = { AA; AB; AC; AAB, AAC; AABC, BB, BC, BBC,
CC, ABAB, ABA, ABB, ABC, ABAC, ABBC, ACA,
10
ACB, ACC, ACAC, ACBC, ACABC, BCB, BCC,
BCBC, ABCA, ABCB, ABCC, ABCAB, ABCAC,
ABCBC, ABCABC}
ÖÙng duïng: Döïa treân bao ñoùng FQ+ cuûa F ta coù theå xaùc ñònh ñöôïc taäp taát
caû caùc thuoäc tính phuï thuoäc vaøo moät taäp thuoäc tính X cho tröôùc vaø
coù theå kieåm tra moät PTH naøo ñoù coù thuoäc vaøo bao ñoùng FQ+ hay
khoâng.
Tuy nhieân, Vieäc xaây döïng bao ñoùng FQ+ toán raát nhieàu thôøi gian. Ñeå
giaûi quyeát caùc baøi toaùn treân ngöôøi ta döïa vaøo 1 khaùi nieäm môùi, Bao
ñoùng cuûa moät taäp thuoäc tính.
d)Bao Ñoùng Cuûa Taäp Thuoäc Tính:
Ñònh nghiaõ: Cho 1 LÑQH Q coù taäp caùc phuï thuoäc haøm FQ={f1, f2,.., fn} vaø X
 Q+ .
Bao ñoùng cuûa taäp thuoäc tính X döïa treân FQ, kyù hieäu X+F, laø taäp caùc
thuoäc tính phuï thuoäc haøm vaøo X döïa treân F.
X+F = { Y  Q+ : X Y  F+}
Nhaän xeùt:
1. X  X+F
2. Y  X+F <==> f: X  Y  FQ+.
Döïa vaøo nhaän xeùt 2 ta coù theå giaûi quyeát baøi toaùn thaønh vieân (baøi
toaùn kieåm tra söï toàn taïi cuûa 1 pth) baèng caùch xaùc ñònh bao ñoùng cuûa taäp
thuoäc tính beân veá traùi cuûa pth ñoù.
Thuaät toaùn xaùc ñònh XF+:
begin
XF+ = X;
Repeat
X' = XF+
For i:=1 to m do { m = card(F)}
if VT(fi)  XF+ then XF+ := XF+  VP(fi)
Until (XF+ = X');
end;
Ghi chú: VT(fi):Vế trái của phụ thuộc hàm fi.
VP(fi) :Vế phải của phụ thuộc hàm fi
Ví duï: cho Q(ABCDEGH)
vaø taäp PTH F ={f1:B-->A; f2:DA-->CE; f3:D-->H; f4:GH-->C; f5:AC-->D}
d.1) Tìm bao ñoùng cuûa taäp thuoäc tính X1 = {BD}
 X+F = BD
 Do f1: X+F = BDA
 Do f3: X+F = BDAH
 Do f2: X+F = BDAHCE
 Do f3: X+F = BDAHCE
Vaäy X+F = BDAHCE.
d.2)Tìm bao ñoùng cuûa taäp thuoäc tính X2 = {BCG}
 X+F = BCG
 Do f1: X+F = BCGA
 Do f5: X+F = BCGAD
 Do f2: X+F = BCGADE

11
 Do f3: X+F = BCGADEH
Vaäy X+F = Q+. Vaäy {BCG} laø moät sieâu khoùa cuûa Q
Ví duï: Cho Q(ABCDEF) vaø
F = {f1: AB-->C, f2:AE-->D, f3:BC-->D, f4:C-->E, f5:ED-->F}
Kieåm tra AB-->EF coù thuoäc vaøo F+ hay khoâng?
Caùch giaûi: Kieåm tra EF  {AB}+F.
2.2.4 Khoùa vaø caùch xaùc ñònh:
a)Ñònh nghiaõ: Cho LÑQH Q vaø taäp thuoäc tính FQ = { f1,f2,..fn}
S  Q+, S laø sieâu khoùa cuûa Q neáu S-->Q+ FQ
K  Q+, K laø khoùa chæ ñònh neáu K laø sieâu khoùa
pth K-->Q+ laø pth nguyeân toá.
(Không tồn tại K’ là con thật sự của K để K’--> Q+)
Nhaän xeùt: Neáu ñoà thò bieåu dieãn cuûa taäp pth F khoâng chöùa chu trình thì
Q chæ coù duy nhaát moät khoùa.
b)Caùch xaùc ñònh khoùa cuûa moät quan heä:
a. YÙ töôûng:
 Goïi N laø taäp thuoäc tính nguoàn, chæ chöùa thuoäc tính khoâng coù
treân veá phaûi cuûa caùc phuï thuoäc haøm
 Goïi M laø taäp thuoäc tính trung gian, chöùa caùc thuoäc tính vöøa xuaát
hieän treân veá phaûi vöøa xuaát hieän treân veá traùi.
 Neáu N+F = Q+ thì N chính laø khoùa chæ ñònh cuûa Q vaø laø khoùa duy
nhaát.
 Ngöôïc laïi, ta laàn löôït hoäi N vôùi töøng taäp con cuûa M ñeå kieåm tra
coù laø khoùa chæ ñònh hay khoâng.
Ví duï: Cho quan heä Giaûng daïy:
GD(MsGV, Hoten, MsMH, TenMH, Phoøng, Giôø)
F={f1:MsGVHoten; f2: MsMHTenMH; f3: Phong,GioMSMH;
f4: MsGV,GiôøPhoøng}
Tìm khoùa cuûa quan heä GD.
Giaûi:
 N = {MsGV, Gio}
 M = {MsMH, Phong}
==> Khoùa laø {MsGV, Gio}
c)Thuaät toaùn: Xaùc ñònh taát caû caùc khoùa cuûa moät quan heä Q.
Input: <Q,F>
Output: K {Taäp caùc khoùa cuûa quan heä Q}
Begin
b1: Xaây döïng taäp N vaø M.
b2: Xaây döïng 2m taäp con cuûa taäp M vôùi m = Card(M)
b2: Xaây döïng taäp K chöùa caùc khoùa
K = ;
For i:=1 to 2m do
begin
Ki := N  Mi ;
Neáu Ki khoâng chöùa caùc khoùa ñaõ xaùc ñònh
tröôùc ñoù vaø Ki,F+ = Q+ thì
Ki laø 1 khoùa cuûa Q: K = K  Ki.
end;
12
End;
Ví duï: Cho quan heä Q(ABCDEFG) vaø
FQ = { f1: ECB; f2: ABC; f3: EBA; f4: BGA; f5:AEG}.
Xaùc ñònh caùc khoùa cuûa quan heä Q.
Giaûi: N = {E, F}; M = {A,B,C,G}
ABCG Ki Ki = N  Ki K+I,F
0000  EF EF
0001 G EFG EFG
0010 C EFC EFGBAC= Q+
0011 CG EFCG
0100 B EFB EFBACG= Q+
0101 BG EFBG
0110 BC EFBC
0111 BCG EFBCG
1000 A EFA EFA
1001 AG EFAG
1010 AC EFAC EFACGB= Q+
1011 ACG EFACG
1100 AB EFAB EFABCG = Q+
1101 ABG EFABG
1110 ABC EFABC
1111 ABCG EFABCG
2.2.5 Phuû vaø Phuû toái thieåu cuûa FQ:
Trong raát nhieàu baøi toaùn lieân quan ñeán CSDL thì ñoä phöùc taïp
tuøy thuoäc vaøo soá PTH cuõng nhö caùc thuoäc tính beân veá traùi, veá phaûi
cuûa pth. Do ñoù, ñeå giaûm ñoä phöùc taïp ngöôøi ta thöôøng xaây döïng caùc
taäp PTH töông ñöông vôùi taäp PTH ban ñaàu nhöng ñôn giaûn hôn.
a) Ñònh nghóa PTH töông ñöông:
Hai taäp PTH F vaø G ñöôïc goïi laø töông ñöông vôùi nhau neáu F+ =
G+ .
Nghóa laø: f  F thì f  G+ vaø g G thì g  F+
Kyù hieäu: F  G
Ví duï:Cho 2 taäp PTH ñònh nghóa treân Q(ABCDE)
F = {ABC; AD; CDE} vaø G ={ABCE; ABD; CDE}
a) Xeùt AE  G chöùng minh AE  F+.
Ta coù {A}+F = {ABCDE } neân AE  F+
b) Ta thaáy F  G+ ; G  F+
Vaäy F+ = G+
Ví duï: Cho F={ABC; AD; CDE} vaø G ={ABCDE}
Xeùt CDE  F coù {CD}+G = {CD} neân CDE  G+ .
b) Ñònh nghóa Phuû cuûa moät PTH:
Taäp pth G ñöôïc goïi laø phuû cuûa taäp pth F neáu G  F.
c) Ñònh nghóa Phuû toái thieåu cuûa F:
Cho taäp pth F . G laø Phuû toái thieåu cuûa F neáu G laø Phuû cuûa F,

13
ñoàng thôøi thoûa 3 ñieàu kieän:
(i) Veá phaûi cuûa caùc pth treân G chæ chöùa moät thuoäc tính.
(ii) G chæ goàm nhöõng pth ñaày ñuû.
(iii) Khoâng chöùa pth thöøa:  (XA)  G sao cho G  (G –
{XA})
d) Thuaät toaùn: Tìm Phuû toái thieåu
Input: Taäp pth FQ
Output: Phuû toái thieåu cuûa FQ .
Baét ñaàu:
b1. Phaân raõ caùc pth ñeå coù veá phaûi chæ coøn 1 thuoäc tính.
b2. Thay theá caùc pth khoâng ñaày ñuû baèng caùc pth ñaày ñu.û
b3. Loaïi boû caùc pth dö thöøa.
Keát thuùc

Ví duï: Cho F={AB; BA; BC; AC; CA}. Tìm phuû toái thieåu cuûa
F.
Giaûi: - Caùc pth cuûa F coù veá phaûi chæ chöùa moät thuoäc tính.
- Caùc pth cuûa F ñeàu thoûa ñieàu kieän (i) vì coù veá traùi chæ chöùa
moät thuoäc tính.
Xeùt ñieàu kieän (ii)
- Neáu loaïi BA vaø AC ta nhaän thaáy taäp keát quaû G ={AB;
BC; CA}  F. Neáu loaïi theâm 1 trong 3 pth coøn laïi thì taäp
keát quaû khoâng töông ñöông. Vaäy G laø 1 phuû toái thieåu cuûa F
- Neáu loaïi BC ta nhaän thaáy taäp keát quaû G ={AB; BA;
AC; CA}  F. Neáu loaïi theâm 1 trong 4 pth coøn laïi thì taäp
keát quaû khoâng töông ñöông. Vaäy G laø 1 Phuû toái thieåu cuûa F.
Ví duï: Cho F = { ABC; AB; BC; BA}. Tìm Phuû toái thieåu cuûa F
Giaûi: ABC khoâng ñaày ñuû vì AB vaø BC  F+
- Taäp G1 = {AC; AB; BA}  F
Vì neáu loaïi 1 trong 3 pth cuûa G 1 thì taäp keát quaû khoâng coøn töông
ñöông.
- Töông töï Taäp G2 = {BC; AB; BA}  F
Vaäy G1 vaø G2 laø caùc Phuû toái thieåu cuûa F.
Muïc tieâu cuûa vieäc xaùc ñònh Phuû toái thieåu:
- Giaûn löôïc bôùt soá thuoäc tính cuûa veá traùi
- Giaûm soá PTH
2.2.6 Tính Chaát Cuûa Phuï Thuoäc Haøm:
a) Tính chieáu:
Cho pth f:XY ñònh nghóa treân Q vaø Q' = Q[W] vôùi W  X vaø W  Y 

thì Q' coù phuï thuoäc haøm f' : X(W  Y)
Ví duï: Cho Q(ABC) coù f:ABC. Vôùi Q'(AB) thì Q' coù f': AB

14
b) Tính phaûn chieáu:
Cho Q' = Q[W] vaø f : XY ñònh nghóa treân Q' thì phuï thuoäc haøm f: XY
cuõng ñònh nghóa treân caû Q.
Ví duï: Neáu Q'(AB) thì coù f': AB thì Q(ABC) cuõng coù f:AB
c) Baøi taäp:
Bao ñoùng vaø khoùa
1. Cho Q(ABCD) coù F = { f1:AC; f2:DC; f3:BDA}. Xaùc ñònh khoaù cuûa
Q.
2. Q(ABCDEHK) vaø F= {f1:ABC; f2:CDE; f3:AHK; f4:AD; f5:BD}
Xaùc ñònh khoùa cuûa Q.
3. Cho quan heä Q(ABCDEG) vaø taäp pth: F = {AB C; C A; BC D; ACD
B; D EG; BE C; CG BD; CE AG}
a) Tìm {BD}+F. ;
b) Tìm khoùa cuûa Q
4. Cho quan heä Q(ABCEIH) vaø taäp pth F = {AB E; AC I; BEI; E C;
CI H}
a) Chöùng minh: AB GH
b) Tìm khoùa cuûa Q
Tìm Phuû toái thieåu:
1) F = { ABC; AB}
2) F = {ABC, CA, BCD, ACDB, DEG, CGBD, CEAG}
Tìm pth chieáu:
Cho Q(ABCD) coù F = { f1:AC; f2:DC; f3:BDA}
Tìm caùc pth chieáu treân caùc quan heä sau:
a) Q1(AB)
b) Q2(ACD)
c) Q3(BCD)
1. Cho Q(ABCD) coù F = { A B; B  C ; A D; D
 C}
Goïi C = { Q1(AB); Q2(AC); Q3(BD) }
a) Tìm caùc pth chieáu treân caùc quan heä con
b) C coù baûo toaøn thoâng tin hay khoâng?
c) C coù baûo toaøn phuï thuoäc haøm hay khoâng?
2. Goïi F = (AB  C; A  D; BD  C}
a) Tìm phuû cöïc tieåu cuûa F
b) Haõy ñöa ra moät phaân raõ cuûa Q(ABCD) ñaït DC3 vaø baûo toaøn phuï
thuoäc
c) Trình baøy nhöõng pth chieáu treân caùc quan heä con cuûa phaân raõ
d) Keát quaû cuûa caâu (b) coù baûo toaøn thoâng tin hay khoâng? Neáu
khoâng, coù theå söûa laïi nhö theá naøo ñeå phaân raõ baûo toaøn thoâng tin
vaø vaãn baûo toaøn pth.

15
3. Cho Q(SDIBQO) vôùi FQ = { S  D; I  B; IS  Q;
B  0)
a) Tìm khoaù cuûa Q
b) Tìm phaân raõ ñaït DC BCK, baûo toaøn pth
c) Tìm phaân raõ ñaït DC3, baûo toaøn pth, baûo toaøn thoâng tin.
2.3 Caùc Daïng Chuaån (Form Normal) treân Quan Heä:
Muïc tieâu:
Trong thöïc teá, moät öùng duïng coù theå ñöôïc phaân tích thaønh nhieàu LÑCSDL
khaùc nhau vaø dó nhieân chaát löôïng thieát keá cuûa caùc LÑCSDL naøy cuõng khaùc nhau.
Chaát löôïng thieát keá cuûa moät LÑCSDL ñöôïc ñaùnh giaù döïa treân caùc tieâu
chuaån nhö:
 Söï truøng laép thoâng tin: Vì noù seõ laøm taêng khoâng gian löu tröõ vaø gaây
neân tình huoáng thoâng tin bò maâu thuaãn sau nhöõng laàn caäp nhaät CSDL.
 Chi phí kieåm tra raøng buoäc toaøn veïn
 Baûo toaøn thoâng tin
 Baûo toaøn qui taéc quaûn lyù töùc laø baûo toaøn caùc phuï thuoäc haøm.
Ví duï: Xeùt moät theå hieän cuûa quan heä quaûn lyù hoïc taäp cuûa sinh vieân
QLHT(MsSV, Ten, NS, Phai, ÑC, MsLop, TenLop, MsMH, TenMH, Diem)
F = { f1:MsSV  Ten, NS, Phai, ÑC, MsLop;
f2: MsLop  TenLop;
f3: MsMH  TenMH;
f4: TenMH  MsMH;
f4: MsSV, MsMH  Diem }
Quan heä treân coù söï truøng laép thoâng tin. Söï truøng laép thoâng tin naøy coù theå
gaây neân 1 soá vaán ñeà khi thao taùc treân quan heä:
a) Söûa ñoåi: Giaû söû coù 1 SV thay ñoåi ñòa chæ, thì heä thoáng caàn phaûi duyeät
treân toaøn boä quan heä ñeå tìm vaø söûa ñòa chæ ôû caùc boä lieân quan ñeán SV
naøy. Neáu ñeå soùt thì seõ daãn ñeán tình traïng thoâng tin khoâng nhaát quaùn
b) Xoùa: Giaû söû SV coù maõ soá 1108 hieän nay chæ ñaêng kyù hoïc moân CSDL.
Neáu muoán xoùa keát quaû ñieåm moân naøy thì daãn ñeán maát luoân thoâng tin
cuûa SV
c) Theâm: Vì khoùa cuûa quan heä laø {MsSV, MsMH} vaø {MsSV, TenMH} do ñoù
khoâng theå theâm 1 SV vaøo quan heä neáu SV ñoù chöa ñaêng kyù hoïc moân naøo.
Qua ví duï treân chuùng ta nhaän thaáy söï truøng laép thoâng tin laø nguyeân nhaân
laøm cho CSDL coù chaát löôïng keùm.
Ñeå haïn cheá tình traïng truøng laép döõ lieäu, ngöôøi ta ñöa ra caùc yeâu caàu thieát
keá caàn thieát cho moät quan heä döïa treân khaùi nieäm phuï thuoäc haøm, ñöôïc goïi laø
caùc daïng chuaån cuûa moät quan heä.
2.3.1 Daïng chuaån 1:
Khaùi nieäm Thuoäc tính ñôn:
Moät thuoäc tính ñöôïc goïi laø thuoäc tính ñôn neáu giaù trò cuûa noù khoâng phaûi
laø söï keát hôïp bôûi nhieàu thoâng tin coù yù nghóa khaùc nhau vaø heä thoáng luoân truy
xuaát treân toaøn boä giaù trò cuûa noù ít khi truy xuaát ñeán töøng phaàn döõ lieäu cuûa noù.
Ngöôïc laïi, laø thuoäc tính keùp.
Ví duï: Xeùt quan heä VatTu(MaVT, TenVT, DVT)
Neáu TenVT bao goàm teân vaät tö vaø caû qui caùch cuûa noù. Nhö vaäy TenVT laø
thuoäc tính keùp.
Ví duï: ChuyenMon(MaGV, MonGD)
Neáu MonGD laø moät chuoãi caùc moân hoïc maø giaùo vieân coù theå phuï traùch.
Ñònh nghóa DC1: Moät löôïc ñoà quan heä Q ñaït daïng chuaån 1 neáu moïi thuoäc tính
cuûa Q ñeàu laø thuoäc tính ñôn.

16
Chuù yù: Ñoái vôùi thuoäc tính löu tröõ ngaøy Döông lòch coù theå xem laø thuoäc tính ñôn.
Nhaän xeùt:
d) Moät quan heä coù DC1 ñöôïc xem laø quan heä coù caáu truùc phaúng.
e) Quan heä ñaït daïng chuaån 1 cuõng coù theå vi phaïm söï truøng laép thoâng
tin
2.3.2 Daïng chuaån 2:
Khaùi nieäm phuï thuoäc ñaày ñuû:
Thuoäc tính A ñöôïc goïi laø phuï thuoäc ñaày ñuû vaøo taäp thuoäc tính X neáu:
 A  X+F
 X  A laø pth nguyeân toá.
Ví duï: MsSV, MsMH  Ten laø phuï thuoäc haøm khoâng ñaày ñuû vì chæ caàn MsSV laø
xaùc ñònh ñöôïc Ten: MsSV  Ten
Ñònh nghóa Daïng chuaån 2:
Moät lñqh Q ñaït daïng chuaån 2 neáu
a. Q ôû DC1
b. Moïi thuoäc tính khoâng khoùa ñeàu phuï thuoäc ñaày ñuû vaøo caùc khoùa cuûa
Q.
Ví duï: MsSV, MsMH  Ten,
MsSV, MsMH  TenMH
Coù theå thay quan heä QLHT baèng 3 quan heä sau ñeå ñaït daïng chuaån 2:
KQHT(MsSV, MsMH, Diem)
FQLHT ={ f4: MsSV, MsMH  Diem}
SV(MsSV, Ten, Ngsinh, Phai, MsLop, TenLop)
FSV = {f1:MsSVTen, NS, Phai, ÑC, MsLop; f2: MsLop  TenLop}
MH(MsMH, TenMH)
FMH = { f3: MsMH  TenMH}
Ví duï: LopHoc(Lop, Mon, NgayKG, HocPhi)
F = { f1: Lop,Mon  NgayKG; f2: Mon  HocPhi}
Xaùc ñònh khoùa vaø kieåm tra coù ñaït daïng chuaån 2 hay khoâng.
Giaûi: Döïa vaøo F ta coù Khoùa laø {Lop, Mon}
Quan heä LopHoc khoâng ôû daïng chuaån 2 vì thuoäc tính khoâng khoùa HocPhi
khoâng phuï thuoäc ñaày ñuû vaøo khoùa.
Taùch 2 quan heä LopHoc(Lop, Mon, NgayKG)
FLopHoc = { f1: Lop,Mon  NgayKG}
vaø MonHoc(Mon,HocPhi) FMonHoc = { f2: Mon  HocPhi}
thì Q ôû daïng chuaån 2.
Nhaän xeùt:
 Neáu moãi khoùa cuûa quan heä Q chæ coù 1 thuoäc tính thì Q ñaït daïng chuaån 2.
 Quan heä SV ôû daïng chuaån 2 nhöng vaãn truøng laép thoâng tin.
2.3.3 Daïng chuaån 3:
Khaùi nieäm Phuï thuoäc baéc caàu:
Thuoäc tính A  Q+ ñöôïc goïi laø PTBC vaøo moät taäp thuoäc tính X neáu toàn taïi
nhoùm thuoäc tính Y  Q+ thoûa maûng 4 ñieàu kieän sau:
i. X  Y  F+
ii. Y  A  F+
iii. Y --/-> X
iv. A  {X  Y}
Ví duï: Xeùt quan heä SV(MsSV, Ten, Ngsinh, Phai, MsLop, TenLop)
TenLop phuï thuoäc baéc caàu vaøo MsSV vì:MsSVMsLop vaø MsLopTenLop.
Ñònh nghiaõ DC3:
Moät lñqh Q ñaït daïng chuaån 3 neáu
a. Q ôû DC2

17
b. Moïi thuoäc tính khoâng khoùa Q ñeàu khoâng phuï thuoäc baéc caàu vaøo moät
khoùa naøo cuûa Q.
Ví duï: Quan heä SV khoâng ñaït daïng chuaån 3. Ta coù theå taùch thaønh 2 quan heä:
SV(MsSV, Ten, Ngsinh, Phai, MsLop)
Lop(MsLop, TenLop)
Ví duï: Xeùt quan heä Toàn kho nhö sau: TK (MSHH, MSKho, TenKho, SLT)
F={ MSHH, MSKho  SLT; MSKho  TenKho; TenKho  MsKho)
Quan heä toàn kho TK: coù 2 khoùa laø {MSHH,MSKho} vaø {MSHH, TenKho}, ñaït
daïng chuaån 3 vì chæ coù 1 thuoäc tính khoâng khoùa laø SLT vaø thuoäc tính naøy khoâng
ptbc vaøo caùc khoùa. Tuy quan heä toàn kho ñaït daïng chuaån 3 nhöng vaãn coøn söï truøng
laép thoâng tin treân caùc coät MsKho vaø TenKho.
2.3.4 Daïng chuaån BCK (Boyee-Codd-Kent) (coøn goïi laø BC):
Ñònh nghiaõ: Moät lñqh Q ôû daïng chuaån BCK neáu moïi phuï thuoäc haøm khoâng hieån
nhieân ñeàu coù veá traùi chöùa khoùa.
X  A  F+ : A  X vaø X phaûi chöùa khoùa cuûa Q
Nhaän xeùt: Neáu Q ñaït daïng chuaån BCK thì moïi veá traùi cuûa pth ñeàu laø sieâu khoùa.
Ví duï: Quan heä TK khoâng ñaït daïng chuaån BCK. Vì: MsKho --> TenKho
Ta taùch thaønh 2 quan heä: TK (MSHH, MSKho, SLT) vaø Kho(MSKho, TenKho)
2.3.5 Daïng chuaån 4:
a. Phuï thuoäc ña trò.
Ngoaøi caùc pth ñaõ trình baøy, ngöôøi ta coøn xeùt ñeán moät loaïi phuï thuoäc haøm
khaùc, ñoù laø pth ña trò.
Ví duï: Xeùt quan heä nhaân vieân: NhaânVieân(MaõNV, HoïTeânNV, ConNV, BaäcLöông)
Ta coù pth ña trò: MaõNV -->> ConNV
HC03 -->> {"Nguyeãn Vaên A", Nguyeãn Thò B"}
Ví duï: Xeùt lñqh LICHTHI(Ngay, Giôø, Phong, Mon)
F = {Ngay,Gio,Phong Mon}
Neáu coù qui ñònh: Moät moân thi ñöôïc xeáp vaøo nhöõng phoøng coá ñònh khoâng
phuï thuoäc ngaøy, giôø.
Khi ñoù, xuaát hieän moät loaïi phuï thuoäc ña trò giöõa Mon vaø phoøng:
Mon-->>Phong
Ñònh nghóa Phuï thuoäc ña trò:
Cho moät LÑQH Q(X,Y,Z) vôùi X  Q+,Y  Q+, XY=  vaø Z = Q+ \ {X,Y}
Kyù hieäu X -->> Y laø moät Phuï thuoäc haøm ña trò ñöôïc ñònh nghóa treân Q neáu
moãi giaù trò x cuûa X xaùc ñònh duy nhaát moät taäp giaù trò {y1, y2,…} cuûa Y, vaø taäp
giaù trò naøy khoâng phuï thuoäc vaøo caùc giaù trò cuûa Z trong caùc boä coù lieân quan
ñeán x, y1, y2,…
Nghóa laø: Vôùi moïi boä (x, z1) , (x, z2)  Q[X,Z]
thì (Q: X=x vaø Z = z1)[Y] = (Q:X=x vaø Z = z1)[Y]
Ví duï:
N G P M X= {M} Y={P} Z={N,G}
2 8 201 CSDL CSDL {201,203} {(2, 8)}
2 10 202 ÑH ÑH {202; 201} {(2, 10)}
2 10 201 ÑH
2 8 203 CSDL
Baûng döõ lieäu treân thoûa maõn ñònh nghiaõ. Nhöng neáu theâm 1 boä
3 8 203 CSDL CSDL {201, 203} {(2, 8);(3, 8)}
thì khoâng thoûa maõn ñònh nghiaõ. Ñeå thoûa maõn ñònh nghóa caàn phaûi boå sung
theâm
3 8 201 CSDL CSDL {201, 203} {(2,8);(3,8)}
Ñieàu ñoù noùi leân, duø ôû thôøi ñieåm naøo thì moân thi CSDL chæ thi ôû caùc
phoøng {201,203}

18
Phuï thuoäc hieån nhieân: Phuï thuoäc haøm ña trò X -->> Y laø moät Phuï thuoäc haøm ña
trò hieån nhieân treân Q neáu XY = Q+ (nghóa laø Z = )
Ví duï: Trong quan heä Phaân Coâng(NV, ÑeàAÙn)
Vôùi qui taéc Moãi nhaân vieân phuï traùch nhieàu Ñeà aùn.
Suy ra, ta coù phuï thuoäc ña trò hieån nhieân:
NV -->> ÑeàAÙn vaø ÑeàAÙn -->> NV
Nhaän xeùt: Neáu X-->> Y laø moät phuï thuoäc ña trò thì Q[X,Y] Q[X,Z] = Q
Vâậy với phụ thuộc đa trị X-->> Y thì kết nối trên không dư thừa thông tin, hay nối
cách khác phân rã trên (Q thành Q[X,Y], Q[X, Z]) không mất mác thông tin.
Caùch Kieåm tra PT ña tri:
Bieán ñoåi caùc pt ña trò khoâng hieån nhieân trong moät caáu truùc naøy thaønh pt ña
trò hieån nhieân trong 1 caáu truùc khaùc
Ví duï: Treân Q(X,Y,Z) coù pthñt khoâng hieån nhieân X -->> Y
ta taïo ra caáu truùc: C = {Q1(X,Y); Q2(X,Z) }
Heä Luaät daãn treân PTH ña trò:
Moät soá heä luaät daãn cô baûn:
Cho löôïc ñoà quan heä Q vaø X, Y, W, Z Q+.
LD1: Luaät buø: X -->> Y thì X -->> (Q+ - X - Y)
Ví duï: Töø M -->> P suy ra M -->> N, G
LD2: Luaät theâm vaøo:Neáu X-->>Y vaø Z  W thì X,W -->> Y,Z
LD3: Luaät baéc caàu: Neáu X -->> Y vaø Y -->> Z thì X -->> (Z-Y)
LD4: Neáu X  Y thì X -->> Y
LD5: Neáu X -->> Y vaø W  Z , vôùi Z  Y; W  Y = 
thì X  Z
Chuù yù: Ba luaät daãn trong heä tieân ñeà Amstrong vaø 5 luaät daãn naøy taïo neân 1 heä luaät daãn
ñaày ñuû ñeå phaùt sinh ra caùc luaät daãn khaùc.
b. Ñònh nghóa Daïng chuaån 4: Q ñaït daïng chuaån 4 neáu:
a) Q ôû daïng chuaån BCK vaø
b) Phuï thuoäc ña trò khoâng hieån nhieân X-->>Y ñöôïc ñònh nghóa treân Q thì veá
traùi X phaûi chöùa 1 khoùa cuûa Q, nghóa laø A  Q+ \ Y thì X  A  F+.

Muïc ñích cuûa daïng chuaån 4: laøkhoâng cho pheùp xuaát hieän ptñt khoâng hieån
nhieân treân moät quan heä. Neáu coù, caàn taùch nhoû caùc quan heä nhaèm bieán
caùc ptñt khoâng hieån nhieân thaønh hieån nhieân trong caùc quan heä môùi ñeå
khoâng caàn kieåm tra nöõa.
Trong caáu truùc naøy neáu ta theâm 1 thoâng tin môùi ta khoâng caàn kieåm tra.
Ví duï: Xeùt caáu truùc LICHTHI(Ngay, Giôø, Phong, Mon)
Coù F={ Ngay, Giôø, Phoøng  Mon ; d1:Mon-->>Phong}
LichThi khoâng ñaït daïng chuaån 4. Neáu ta taùch thaønh 2 quan heä:
LT1(Mon, Phong) FLT1 = { d1:Mon-->>Phong}
LT2(Ngay, Gio, Mon) FLT2 = 
Quan heä LT1 coù khoaù laø {Mon, Phong} vaø chæ coù ptñt hieån nhieân laø Mon
-->>Phong neân ñaït daïng chuaån 4.
Giôùi haïn cuûa DC4:
Pth: Ngay, Giôø, Phoøng  Mon phaûi ñöôïc ñònh nghóa treân LT1 LT2. Vaán
ñeà kieåm tra noù seõ khoâng coøn thuaän lôïi.
2.3.6. Daïng chuaån cuûa moät LÑ CSDL:
Laø daïng chuaån thaáp nhaát trong caùc LÑQH cuûa LÑCSDL.
Nhaän xeùt:
Trong caùc DC, DC BCK vaø DC4 laø nhöõng daïng chuaån nhaèm giaûm
thieåu toái ña nhöõng thoâng tin truøng laép vaø giaûi quyeát töông ñoái hieäu

19
quaû vieäc kieåm tra caùc phuï thuoäc haøm (ñoái vôùi DC BCK) vaø phuï
thuoäc ña trò (ñoái vôùi DC4).
Tuy nhieân, ñoâi khi vaãn coøn toàn taïi moät soá pth maø vieäc kieåm tra
chuùng khoâng ñöôïc thuaän lôïi vì phaûi thöïc hieän treân nhieàu quan heä. Khi
ñoù, ngöôøi thieát keá coù theå löïa choïn 1 caáu truùc hôïp lyù, phuø hôïp vôùi
yeâu caàu khai thaùc CSDL: döïa treân khoái löôïng döõ lieäu trong moãi quan
heä; taàn suaát thöïc hieän caùc thao taùc theâm / xoùa / söûa treân quan heä; veà
yeâu caàu thôøi gian xöû lyù... vaø seõ ñaët ra nhöõng öu tieân:
 Khi chæ coù phuï thuoäc haøm: Choïn DC3 vaø chaáp nhaän moät soá
baát tieäân khi khai thaùc ñeå ñaùnh ñoåi vieäc kieåm tra taát caû caùc
pth ñeàu thuaän lôïi; hoaëc choïn DC BCK vaø chaáp nhaän kieåm tra
moät soá pth seõ phöùc taïp hôn.
 Khi coù theâm pt ña trò: caân nhaéc giöõa DC4, CD BCK, DC3 cuõng
döïa theo lyù leõ töông töï nhö treân.
2.4 Baøi Taäp:
1. Cho LÑCSDL coù caùc phuï thuoäc haøm F = { f1: ABC; f2: CB} vaø 2 quan heä
sau:Q1(A B C), Q2(B C).
a) Xaùc ñònh taäp phuï thuoäc haøm treân töøng quan heä
b) Xaùc ñònh daïng chuaån cao nhaát cuûa LÑCSDL.
2. Moät ñeà xuaát cuûa SV vôùi 1 CSDL ñaõ bieát, nhaänxeùt CSDL ñoù vaø xaùc ñònh daïng
chuaån.

20
Chöông 3: PHÖÔNG PHAÙP CHUAÅN HOAÙ LÑCSDL
3.1 Daãn nhaäp:
Xuaát phaùt töø giai ñoaïn phaân tích nhu caàu, ta coù theå coù 1 trong 2 keát
quaû sau:
4. Döïa treân kinh nghieäm, chuùng ta coù theå ñeà nghò
moät caáu truùc CSDL ban ñaàu goàm caùc quan heä con Qi cuøng caùc
phuï thuoäc döõ lieäu FQi ñònh nghóa treân caùc quan heä con.
n

C =  (<Qi , FQi >)


i 1

5. Hoaëc chæ coù moät quan heä phoå quaùt duy nhaát
Q0 chöùa taát caû caùc thuoäc tính caàn ñöôïc löu tröõ vaø taäp caùc phuï
thuoäc FQ tìm ñöôïc.
C0 = <Q0 , FQ>
Chuùng ta caàn kieåm tra vaø chuaån hoaù caùc keát quaû ñaàu tieân naøy, döïa
treân moät soá tieâu chuaån thieát keá, ñeå coù ñöôïc moät caáu truùc quan nieäm
CSDL ñöôïc ñaùnh giaù toát hôn, phuø hôïp hôn vôùi caùc yeâu caàu cuûa moâi
tröôøng öùng duïng.
3.2 Caùc Tieâu chuaån cuûa quaù trình chuaån hoaù:
Haàu heát caùc coâng trình nghieân cöùu veà thieát keá CSDL ñeàu thoûa
thuaän raèng 2 tieâu chuaån quan troïng caàn ñaït ñöôïc qua quaù trình chuaån hoaù
moät CSDL ôû möùc quan nieäm laø:
1. CSDL keát quaû caàn ñaït daïng chuaån cao nhaát
2. CSDL keát quaû phaûi töông ñöông vôùi CSDL phaân tích luùc ban ñaàu.
3.2.1 Tieâu chuaån daïng chuaån ñöôïc ñeà ra nhaèm ñaùp öùng 2 yeâu caàu cuï
theà:
- Caäp nhaät: Haïn cheá toái ña söï truøng laép thoâng tin trong CSDL, do
ñoù seõ giaûm bôùt tình huoáng thoâng tin bò maâu thuaãn sau nhöõng laàn
caäp nhaät CSDL.
- Kieåm tra RBTV: Taïo ñieàu kieän thuaän lôïi cho vieäc kieåm tra RBTV
ôû daïng phuï thuoäc döõ lieäu döïa treân cô cheá khoaù saün coù beân trong
caùc phaàn meàm quaûn trò CSDL.
3.2.2 Tieâu chuaån töông ñöông:
Nhaèm ñaùp öùng yeâu caàu truy xuaát döõ lieäu. Vôùi tieâu chuaån naøy
caùc thoâng tin löu tröõ CSDL ban ñaàu ñeàu phaûi ñöôïc tìm thaáy ñaày ñuû
trong CSDL keát quaû.
Coù 3 quan nieäm khaùc nhau veà tieâu chuaån töông ñöông:
3.3 Quan ñieåm baûo toaøn phuï thuoäc haøm:
Quan ñieåm naøy cho raèng caùc thoâng tin ñöôïc löu trong CSDL laø
nhöõng thoâng tin ñöôïc theå hieän thoâng qua caùc phuï thuoäc döõ lieäu. Do
ñoù caàn phaûi baûo toaøn phuï thuoäc haøm trong khi bieán ñoåi.
Tieâu chuaån töông ñöông theo quan ñieåm baûo toaøn phuï thuoäc haøm
ñöôïc ñeà ra nhö sau:
Giaû söû, C1 = <Q, F > vaø C2 = {< Qi, Fi > }in1 laø moät bieán ñoåi töø
C1
C1  C2 neáu hai ñieàu kieän sau ñöôïc thoûa:
n

(i.1) Q i = Q+ (khoâng ñöôïc soùt thuoäc tính)


i 1
n

(i.2) ( Fi )  = F+. (baûo toaøn PTH)


i 1

21
Phöông phaùp Chöùng minh Phaân raõ baûo toaøn PTH:
Ñeå Chöùng minh ( Fi )+ = F+ ta ñaët F' = ( Fi )
Vaø chöùng minh: f'  (F' \ F ) thì f'  F+ vaø f  ( F \ F' ) thì f  F'+
Ví duï: Cho Q(ABCD) vaø F = { A  C; C  A; D  C; BD  A}
Xeùt phaân raõ Q1(AB); Q2(ACD); Q3(BCD)
a) Xaùc ñònh taäp phuï thuoäc haøm chieáu treân töøng quan heä
b) Kieåm tra tính baûo toaøn phuï thuoäc haøm cuûa phaân raõ treân
3.4 Quan ñieåm baûo toaøn thoâng tin:
Quan ñieåm naøy cho raèng caùc thoâng tin löu tröõ trong CSDL ban
ñaàu ñeàu phaûi ñöôïc tìm thaáy ñaày ñuû trong CSDL keát quaû.
Tieâu chuaån töông ñöông theo quan ñieåm baûo toaøn thoâng tin ñöôïc
ñeà ra nhö sau:
Giaû söû, C1 = <Q, F > vaø C2 = {< Qi, Fi > }in1 laø moät bieán ñoåi töø
C1
C1  C2 neáu hai ñieàu kieän sau ñöôïc thoûa:
n

(i.1) Q i = Q+ (khoâng ñöôïc soùt thuoäc tính)


i 1

(i.2) ( Q[Qi+]) = Q. (baûo toaøn thoâng tin löu tröõ)


Phöông phaùp kieåm tra tính chaát baûo toaøn thoâng tin cuûa moät phaân raõ:
Cho C = {Qi} laø 1 phaân raõ cuûa lñqh Q coù taäp pth FQ .
b1: Xaây döïng 1 baûng 2 chieàu maø caùc coät laø caùc thuoäc tính cuûa Q,
moãi doøng laø moät Qi trong phaân raõ nhaän ñöôïc.
Moãi oâ ôû doøng i coät j chöùa kyù hieäu:
a) aj neáu Qi coù chöùa thuoäc tính thöù j cuûa Q
b) bk neáu ngöôïc laïi (trong ñoù k laø soá thöù töï xuaát hieän b)
b2: Bieán ñoåi baûng döïa treân caùc pth coù trong FQ theo qui taéc sau:
Xeùt moät pth f : X  Y  FQ .
Choïn 2 doøng Qi, Qj sao cho: Qi.X = Qj.X
Neáu Qi.Y <> Qj.Y thì thöïc hieän thay theá treân Qi vaø Qj ôû töøng
coät Ak thuoäc Y theo caùc tröôøng hôïp sau:
- Neáu caû 2 oâ(i,k) vaø oâ(j,k) ñeàu khoâng chöùa ak thì ta khoâng thay
ñoåi
- Ngöôïc laïi neáu coù 1 oâ chöùa ak thì thay oâ kia baèng kyù hieäu ak.
b3: Laëp laïi b2 cho ñeán khi xuaát hieän 1 doøng chöùa toaøn kyù hieäu a
hoaëc khoâng coøn thay ñoåi giaù trò ak naøo trong baûng.
b4: Neáu xuaát hieän 1 doøng chöùa toaøn kyù hieäu a thì phaân raõ baûo toaøn
thoâng tin.
Ngöôïc laïi thì phaân raõ khoâng baûo toaøn thoâng tin.
Ví duï: Xeùt phaân raõ C = { Q1(MSCD, CD) ;Q2(MSCD, HG);Q3(CD, HG, MSSV)}
cuûa quan heä Q(MSCÑ, MSSV, CÑ, Haïng)
FQ = { f1: MSCD  CD; f2: CD  MSCD; f3:CÑ, MSSV  HG;
f4: MSCD,HG  MSSV;
f5: CÑ,HG  MSSV; (2 sv khoâng ñoàng haïng trong cuøng 1 chuyeân
ñeà)
f6:MSCD,MSSV  HG}
Taân töø: Moãi chuyeân ñeà coù 1 teân phaân bieät vaø coù moät maõ soá
phaân bieät. Moät chuyeân ñeà coù theå ñöôïc thöïc hieän bôûi nhieàu

22
sinh vieân vaø haïng cuûa moãi sinh vieân trong cuøng moät chuyeân ñeà
laø phaân bieät.

T MSCD CD MSSV HG Vaän duïng f2 cho


Q1 a1 a2 b1 b2 doøng Q1 vaø Q3 ta
Q2 a1 b3 b4 a4 nhaän ñöôïc doøng
Q3 b5 (a1) a2 a3 a4 toaøn ai.
Ví duï: Xeùt phaân raõ: C = {Q1(CD, MSSV); Q2(CD,MSCD); Q3(MSSV,HG)}
T MSCD CD MSSV HG T MSCD CD MSSV HG
Q1 b1 a2 a3 b2 Q1 a1 a2 a3 b2
Q2 a1 a2 b3 b4 Q2 a1 a2 b3 b4
Q3 b5 b6 a3 a4 Q3 b5 b6 a3 a4
Vaän duïng f2 cho doøng Q1 vaø Q2 thay theá b1 baèng a1. Vaø khoâng coøn
vaän duïng pth naøo khaùc nöõa. Do khoâng coù doøng naøo chöùa toaøn aI neân C
khoâng BTTT.
3.5 Quan ñieåm bieåu dieãn troïn veïn:
Yeâu caàu CSDL keát quaû vöøa baûo toaøn thoâng tin vaø vöøa baûo
toaøn PTH.
3.6 HAI PHÖÔNG PHAÙP CHUAÅN HOÙA MOÄT LÑCSDL:
3.6.1 Phöông phaùp Phaân raõ:
YÙ töôûng:
Laàn löôït phaân raõ caùc quan heä con trong CSDL thaønh nhöõng quan heä
con coù ít thuoäc tính hôn, sao cho caáu truùc keát quaû töông ñöông vôùi caáu truùc
ban ñaàu (baûo toaøn thoâng tin) nhöng ñaït daïng chuaån cao hôn.
Cô sôû lyù thuyeát:
Ñònh lyù Delobel: (1973)
Cho lñ quan heä Q vaø taäp pth F
Neáu f:XA  F+ sao cho XA laø taäp con thaät söï cuûa Q+
thì pheùp phaân raõ Q thaønh 2 lñqh con:
 <Q1(X, A), F1+ ={f F+ : VT(f)  VP(f)  Q1+} >
 <Q2(Q+ \ A), F2+ ={f F+ : VT(f)  VP(f)  Q2+} >
laø baûo toaøn thoâng tin
Thuaät toaùn phaân raõ:
YÙ töôûng: Döïa vaøo ñònh lyù Delobel, ta phaân raõ quan heä Q thaønh 2 quan
heä Q1 vaø Q2 baèng 1 pth f thoûa ñieàu kieän cuûa ñònh lyù. Laëp laïi
phaân raõ treân Q1 vaø Q2 cho ñeán khi khoâng coøn pth f nhö vaäy nöõa.
Thuaät toaùn: PhanRa(Q, F);
Input: <Q, F>
Output: C = { QI }nI=1 {taäp caùc lñqh ñöôïc phaân raõ}
Baét ñaàu:
b1. Loaïi boû caùc pth coù VT  VP = Q+ khoûi F
F* = F \ { f  F : VT(f)  VP(f) = Q+ }
b2. Neáu F* =  thì C = C  { Q } vaø keát thuùc {Ñieåm döøng}
ngöôïc laïi, thöïc hieän phaân raõ
b21. Choïn f:X  Y  F
b22. Phaân raõ thaønh 2 lñ con:
- <Q1+ = {X, A}, F1={fF+ : VT(f)  VP(f)  Q1+} >
- <Q2+ = Q+ \ A, F2={fF+ : VT(f)  VP(f)  Q2+} >

23
b23. Phaân raõ ñeä qui Q1 vaø Q2:
PhanRa(Q1, F1);
PhanRa(Q2, F2);
Keát thuùc
Ví duï: Xeùt LÑQH Q(MsKH, TP, CTyVC, MsHH, SL)
MsKH: Maõ soá Khaùch haøng. TP: Thaønh phoá cuûa nhaø cung caáp. CtyVC:
coâng ty vaän chuyeån haøng. MsHH: maõ haøng hoùa. SL: soá löôïng.
F = { f1: MsKH  TP; f2: MsKH  CTyVC;
f3: MsKH, MsHH  SL; f4: TP  CtyVC}
a) Khoùa laø: {MsKH, MsHH}
b) Ñaït daïng chuaån 1 khoâng ñaït daïng chuaån 2 vì: CtyVC khoâng ptññ vaøo
khoùa.
Söû duïng PP phaân raõ ñeå naâng caáp löôïc ñoà quan heä Q:
Q(MsKH, TP, CTyVC, MsHH, SL)
f4
Q1(TP, CtyVC) Q2(MsKH, TP, MsHH, SL)
F1 = {f4} F2 = {f1:MsKH  TP; f2: MsKH, MsHH  SL}
f1
Q21(MsKH, TP) Q22(MsKH, MsHH, SL)
F21 = {f1} F22 = {f3: MsKH, MsHH  SL}
Keát quaû: C = { <Q1(TP, CtyVC), F1 = {f4}>;
<Q21(MsKH, TP), F21 = {f1}>;
<Q22(MsKH, MsHH, SL), F22 = {f3: MsKH, MsHH  SL}> }
lñcsdl treân daït daïng chuaån BCK, baûo toaøn thoâng tin, baûo toaøn pth;
Nhaän xeùt:
a) Thuaät toaùn phaân raõ nhö treân laø baûo toaøn thoâng tin theo ñinh lyù delobel
b) Taát caû caùc quan heä keát quaû ñeàu ñaït daïng chuaån BCK
c) Tuøy theo thöù töï caùc pth ñöôïc xeùt, trong quaù trình phaân raõ, maø keát
quaû vaø soá löôïng quan heä con coù theå khaùc nhau.
Haäu quaû:
d) Thuaät toaùn coù theå daãn ñeán 1 lñcsdl khoâng baûo toaøn phuï thuoäc haøm.
e) Coù theå chöùa moät quan heä con maø ngöõ nghóa cuûa noù khoâng coù ích
cho öùng duïng.
Thoâng thöôøng pth ñöôïc choïn öu tieân pth khoâng chöùa khoùa cuûa Q hoaëc
laø pth gaây chaát löôïng xaáu cuûa lñqh (nhö pth con cuûa pth khoâng ñaày ñuû hoaëc
pth gaây ra tình traïng baéc caàu vaøo khoùa).
Ví duï: Neáu thöù töï choïn pth laø: f3 f4 f1 thì seõ cho lñcsdl nhö sau:
Keát quaû: C = {<Q1(MsKH, MsHH, SL), F1 = {f3: MsKH, MsHH SL}>
<Q2(TP, CtyVC), F2 = {f4}>;<Q3(MsKH, TP), F3 = {f1}>;
<Q4(MsKH, MsHH), F4 = }
3.6.2 Phöông phaùp Toång hôïp:
a)Muïc tieâu cuûa phöông phaùp:
Tìm moät caáu truùc CSDL goàm caùc Qi sao cho:
- Deã daøng kieåm tra caùc phuï thuoäc haøm
- Toái thieåu ñaït DC3
- Ñaït ñieàu kieän (b) trong tieâu chuaån Baûo toaøn
pth.
b) YÙ töôûng:

24
Döïa vaøo danh saùch caùc thuoäc tính cuûa toaøn CSDL vaø danh saùch
caùc qui taéc quaûn lyù ñöôïc dieãn ñaït döôùi daïng pth FQ , thöïc hieän coâng
vieäc phaân chia thaønh caùc quan heä. Nhö theá, caáu truùc ban ñaàu cuûa
caùch tieáp caän laø caáu truùc cuûa moät quan heä phoå quaùt.
Döïa vaøo ñònh nghóa cuûa Phuû toái thieåu, ñeå kieåm tra caùc pth coù
trong FQ ta chæ caàn kieåm tra caùc pth coù trong Phuû toái thieåu cuûa FQ. Do
n

ñoù, ta caàn tím caáu truùc CSDL keát quaû sao cho ( Fi ) = PTT(FQ), ñeå
i 1

giôùi haïn vieäc kieåm tra FQ vaøo taäp phuû toái thieåu cuûa noù.
c) Thuaät toaùn Toång hôïp:
Input: <Q, FQ>
Output: C = { <Qi, FQi > }
Baét ñaàu:
B1. Tìm Phuû toái thieåu PTT cuûa FQ.
B2. Chia PTT thaønh nhöõng nhoùm Fi. Moãi nhoùm Fi chöùa caùc pth
coù cuøng veá traùi.
Ghi chuù: Veá traùi cuûa moãi Fi , ñöôïc kyù hieäu Ki, laø sieâu
khoùa cuûa quan heä con töông lai.
B3. Goäp caùc Fi coù veá traùi phuï thuoäc laãn nhau laïi thaønh moät
nhoùm.
Ví duï: Fi chöùa caùc pth coù veá traùi laø Ki;
FJ chöùa caùc pth coù veá traùi laø KJ;
Neáu Ki  KJ vaø KJ  Ki thì goäp Fi vaø FJ thaønh 1
nhoùm.
B4. Taïo caùc quan heä con Qi töø caùc nhoùm pth Fi ñaõ taïo ôû B3.
Keát thuùc.
Ví duï: Xeùt quan heä Q(MSCÑ, MSSV, CÑ, Haïng)
Taân töø: Moãi chuyeân ñeà coù 1 teân phaân bieät vaø coù moät maõ soá phaân bieät.
Moät chuyeân ñeà coù theå ñöôïc thöïc hieän bôûi nhieàu sinh vieân vaø haïng
cuûa moãi sinh vieân trong cuøng moät chuyeân ñeà laø phaân bieät.
Taäp phuï thuoäc haøm töø taân töø treân nhö sau:
FQ = { f1: MSCD  CD; f2: CD  MSCD;
f3:CÑ, MSSV  HG; f4: MSCD,HG  MSSV;
f5: CÑ,HG  MSSV; (2 sv khoâng ñoàng haïng trong cuøng 1 chuyeân
ñeà)
f6:MSCD,MSSV  HG}
Xaùc ñònh 1 phaân raõ theo thuaät toaùn Toång hôïp nhö sau:
B1. Tìm PTT cuûa FQ: PTT = {f1; f2; f3; f4}
B2. Coù 4 nhoùm:
F1 f1: MSCD  CD;
F2 f2: CD  MSCD;
F3 f3:CÑ, MSSV  HG;
F4 f4: MSCD,HG  MSSV;
B3. Goäp caùc Fi veá traùi phuï thuoäc laãn nhau
F12 f1: MSCD  CD; f2: CD  MSCD;
F34 f3:CÑ, MSSV  HG;f4: MSCD,HG  MSSV;
B4. Taïo caùc quan heä con Qi töø caùc F'i :
Q12(MSCD, CD) , F1 = {f1: MSCD  CD; f2: CD  MSCD}
Q34( CÑ, MSSV, MSCD,HG), F2={CÑ, MSSV  HG; MSCD,HG  MSSV}

25
d) Ñaùnh giaù thuaät toaùn:
 Keát quaû tìm PTT coù theå khaùc nhau tuøy theo thöù töï caùc pth trong FQ.
Ví duï: Neáu ôû böôùc 2, keát quaû tìm PTT laø: {f1, f2, f4, f6 }
Thì ta coù C2 = { <Q12, F12>; <Q34(MSCD, MSSV, HG), F3 = {f4, f6}> }
 Theo thuaät toaùn , Fi trong caáu truùc keát quaû chæ chöùa caùc pth daïng:
Khoùa(Qi)  thuoäc tính(Qi)
coøn caùc pth khaùc ñöôïc ñònh nghóa treân Qi nhöng khoâng ôû daïng
treân thì khoâng ñöôïc ñöa vaøo trong taäp Fi.
Ví duï: Xeùt Q(ABC), coù FQ = { f1: ABC; f2: CB}
Aùp duïng thuaät toaùn ta coù :
C = { < Q1(A B C), F1 = {f1}> ; < Q2(CB), F2 = {f2} > }
Ngoaøi ra f1 cuõng coù f2 ñöôïc ñònh nghóa treân Q1.
 Caùc Qi ñaït daïng chuaån 3. Ñaây laø heä quaû cuûa vieäc xaây döïng quan
heä Qi töø caùc Fi.
 CSDL keát quaû ñöôïc taïo döïa treân PTT neân baûo ñaûm ñieàu kieän (b)
trong tieâu chuaån baûo toaøn phuï thuoäc haøm, coøn ñieàu kieän (a) trong
tieâu chuaån chöa chaéc ñöôïc ñaûm baûo.
Ví duï: Xeùt Q(ABCD), coù FQ = { f1: ABC; f2: CB}
Aùp duïng thuaät toaùn ta coù :
C = { < Q1(A B C), F1 = {f1}> ; < Q2(CB), F2 = {f2} > }
Trong CSDL naøy khoâng xuaát hieän thuoäc tính D.
 Keát quaû thuaät toaùn khoâng baûo ñaûm ñöôïc tính baûo toaøn thoâng tin
Ví duï: Q(ABCDEFG)
FQ = {f1:AB  D; f2: EH  G; f3: G  C; f4: D  C}
Thuaät toaùn seõ tìm ra:
C = { <Q1(ABC); FQ1={ f1 }>; <Q2(EHG), FQ2={f2}>;
<Q3(GC) ; FQ3 = {f3}>; <Q4(DC), FQ4={f4}> }
C khoâng baûo toaøn thoâng tin.
Thuaät toaùn toång hôïp caûi tieán:
Muïc ñích: ñaït tính baûo toaøn pth vaø baûo toaøn thoâng tin
B5. Tìm khoùa (K) cuûa quan heä Q ban ñaàu
B6. Neáu khoâng toàn taïi Qi chöùa khoùa cuûa Q ban ñaàu thì theâm vaøo
CSDL C moät quan heä Q’(K) chöùa moät khoùa K cuûa Q ban ñaàu.
Ví duï: Xeùt Q(ABCD), coù FQ = { f1: ABC; f2: CB}
Aùp duïng thuaät toaùn ta coù :
C = { < Q1(A B C), F1 = {f1}> ; < Q2(CB), F2 = {f2} > }
B5. Khoaù cuûa Q laø K ={ABD}
B6. Khoâng coù Qi naøo chöùa khoùa K, neân caàn boå sung vaøo C quan
heä :
Q3(ABD) , FQ3 = 
4 Phaân tích keát quaû cuûa 2 caùch tieáp caän:
Phöông Phaân raõ Toång hôïp
phaùp (coù caûi tieán)
Chæ tieâu phaân tích
Daïng chuaån DC4 hoaëc BCK DC3
Baûo toaøn thoâng tin coù coù
Baûo toaøn Phuï thuoäc khoâng coù
Coøn truøng laép thoâng tin Khoâng Coù theå coù

26
Coù söï choïn löïa caáu Ngaàm coù, thoâng qua Ngaàm coù, thoâng qua
truùc CSDL keát quaû vieäc choïn löïa phuï vieäc xaùc ñònh PTT cuûa
thuoäc haøm ñeå phaân raõ FQ.
Xaùc ñònh ñuû heát caùc Khoâng quan taâm Khoâng ñuû khoùa
khoùa cuûa caùc quan heä
con

27
3.7 Baøi taäp:
1. Cho Q(ABCD) vaø F = { A  C; D  C; BD  A}
Xeùt phaân raõ Q1(AB); Q2(ACD); Q3(BCD)
a. Tìm caùc khoùa cuûa Q
b. Tìm caùc phuï thuoäc haøm ñöôïc chieáu treân töøng quan heä, suy ra caùc
khoùa cuûa caùc quan heä con.
c. Löôïc ñoà naøy ôû daïng chuaån maáy?
d. CM löôïc ñoà phaân raõ treân khoâng baûo toaøn thoâng tin.
2. Cho moät quan heä phoå quaùt lieân quan ñeán öùng duïng quaûn lyù baùn haøng cuûa
moät coâng ty:
Q(MAKH, TENKH, MAHD, NGAYHD, MAHG, TENHG, SOLG, DG)
YÙ nghóa:
MAKH: Maõ khaùch haøng; TEHKH: Teân khaùch haøng; MAHD: Maõ soá
hoùa ñôn
NGAYHD: Ngaøy laäp hoùa ñôn; MAHG: Maõ soá haøng hoùa
TENHG: Teân haøng hoùa; SOLG : Soá löôïng haøng cuûa moät maët haøng
treân 1 doøng chi tieát hoùa ñôn.; DG: Ñôn giaù baùn cuûa moät maët haøng.
Vôùi taäp phuï thuoäc haøm
FQ = { MAKH  TENKH; MAHG  TENHG; TENHG  MAHG
MAHD  MAKH, NGAYHD; MAHD, MAHG  SOLG, DG}
Yeâu Caàu:
1. Haõy ñaùng giaù daïng chuaån cuûa quan heä Q.
2. Xaùc ñònh moät löôïc ñoà CSDL khaùc ñaït daïng chuaån cao nhaát.
3. Xeùt LÑQH Q(MsKH, TP, CTyVC, MsHH, SL)
MsKH: Maõ soá Khaùch haøng. TP: Thaønh phoá cuûa nhaø cung caáp. CtyVC: coâng ty
vaän chuyeån haøng. MsHH: maõ haøng hoùa. SL: soá löôïng.
F = { f1: MsKH  TP, CTyVC; f2: MsKH, MsHH  SL; f3: TP  CtyVC}
a) Xaùc ñònh khoùa cuûa quan heä
b) Xaùc ñònh daïng chuaån cuûa quan heä
c) Coù theå taùch quan heä treân thaønh caùc quan heä naøo ñeå lñcsdl ñaït daïng
chuaån cao nhaát.
4. Cho Q(Chuyeânvieân(CV), VaênPhoøngCV(VP), CoåÑoâng(CÑ),
SoáLöôïngCoåPhaàn(SL), CoåPhaàn(CP), LaõiCP(L) ).
FQ = {f1: CP  L; f2:CÑ  CV; f3:CÑ,CP  SL; f4: CV  VP}
a) Xaùc ñònh khoùa cuûa quan heä.
b) Xaùc ñònh phaân raõ ñaït daïng chuaån BCK, baûo toaøn thoâng tin vaø pth.
c) Xeùt phaân raõ: C1 = { <Q1(CÑ, CP, SL, L), F1={f1; f3}>,
<Q2(CÑ, CV, VP), F2={f2; f4}>}
 Chæ ra nhöõng truøng laép thoâng tin cuûa phaân raõ treân
 Chæ ra nhöõng baát tieän trong quaù trình khai thaùc CSDL treân.
d) Xeùt phaân raõ: C2 = { <Q1(CP, CÑ, VP), F1=  >,<Q2(CP, CÑ, SL), F2= {f3} >,
<Q3(CÑ, CV), F3={f2}>, <Q4(CP, L), F4= {f1} >}
C2 coù baûo toaøn thoâng tin vaø baûo toaøn phuï thuoäc haøm khoâng ?
5. Cho Q(Taøu, LoaïiTaøu, VaänChuyeån, LoâHaøng, Caûng, Ngaøy)
FQ = {T  L ; VC  T, LH; T, N  C, VC }
a) Xaùc ñònh phaân raõ C baûo ñaûm 2 ñieàu kieän BTTT vaø ñaït daïng chuaån BCK
b) C1 ñaït nhöõng tieâu chuaån gì? vôùi
C1 = { Q1(T, N, C, VC); Q2(VC, LH); Q3(T, L) }

28
Chöông 4: Lyù thuyeát Ñoà thò Quan heä
4.1 . Daãn nhaäp:
Thao taùc quan troïng vaø thöôøng xaûy ra nhaát trong CSDL quan heä laø
pheùp keát. Ñeå thao taùc naøy ñöôïc thöïc hieän hieäu quaû, heä QTCSDL thöôøng
döïa treân caùc chæ muïc cuûa caùc quan heä lieân quan. Do ñoù, vai troø cuûa ngöôøi
thieát keá laø laøm theá naøo xaùc ñònh ñöôïc ñuû caùc chæ muïc caàn thieát, vôùi soá
thuoäc tính vöøa ñuû ñeå khai thaùc. Chæ muïc bao goàm nhieàu thuoäc tính hoaëc taïo
quaù nhieàu chæ muïc seõ gaây toán choã vaø toán keùm trong vieäc baûo trì heä
thoáng chæ muïc. Vaø taát nhieân daãn ñeán haäu quaû laø CSDL seõ hoaït ñoäng
chaäm chaïp.
Ñeå coù theå xaùc ñònh ñuùng caùc chæ muïc caàn thieát, ngöôøi ta söû duïng
phöông phaùp bieåu dieãn quan heä ôû daïng ñoà thò. Daïng bieåu dieãn ñoà thò naøy
cho pheùp laøm noåi baät caùc thuoäc tính chung giöõa 2 hay nhieàu quan heä (vì ñaây
laø cô sôû cuûa pheùp keát) qua ñoù giuùp cho ngöôøi thieát keá sau naøy deã daøng
ñaùnh giaù vaø choïn löïa ñuùng caùc chæ muïc.
4.2 Bieåu dieãn Caáu truùc CSDL quan nieäm ôû daïng ñoà thò:
4.2.1 Moät soá khaùi nieäm trong lyù thuyeát ñoà thò:
a. ) Ñoà thò: Moät ñoà thò DT(N, C) ñöôïc ñònh nghóa treân 1 taäp nuùt N =
{n1, n2, .., nn} va 1 taäp cung C = {c1, c2,.., cn}
 Neáu hieän dieän cung coù höôùng, ñoù laø ñoà thò coù höôùng, vaø 2 nuùt
noái bôûi 1 cung coù höôùng ñöôïc goïi laø nuùt ñi vaø nuùt ñeán.
 Neáu taát caû caùc cung ñeàu voâ höôùng, ñoù laø ñoà thò voâ höôùng, vaø
caùc nuùt treân ñoà thò ñeàu ñöôïc xem laø nuùt xuaát phaùt.
b. ) Cung keà caän: 2 cung (c1, c2) ñöôïc goïi laø keá caän nhau khi:
 Ñoái vôùi ñoà thò voâ höôùng: chuùng coù chung moät nuùt xuaát phaùt

c1 c2
n1 n2 n3
 Ñoái vôùi ñoà thò coù höôùng: nuùt ñeán cuûa cung c1 laø nuùt ñi cuûa cung
c2.

c1 c2
n1 n2 n3
b. Khuyeân: Cung c laø 1 khuyeân neáu 2 nuùt ñi vaø ñeán (hoaëc xuaát
phaùt) cuûa c laø moät.
c. Ñöôøng ñi treân ñoà thò voâ höôùng: ñoù laø moät chuoãi cung (c1,
c2,.., cp) sao cho:
 ci vaø ci+1 coù chung moät nuùt xuaát phaùt.
 Nuùt xuaát phaùt cuûa c1, khoâng chung nuùt xuaát phaùt cuûa c2, ñöôïc goïi
laø nuùt ñaàu cuûa ñöôøng ñi.

 Nuùt xuaát phaùt cuûa cp, khoâng chung nuùt xuaát phaùt cuûa cp-1, ñöôïc
goïi laø nuùt cuoái cuûa ñöôøng ñi. n2 n5
(c1,c2,c3,c4) khoâng laø ñöôøng ñi c c
c1 2 c3 4
29
(c1, c3, c4) laø ñöôøng ñi
n1 n3 n4

c. ) Maïch ñi treân ñoà thò coù höôùng: ñoù laø moät chuoãi cung (c1, c2,.., cp)
sao cho:
 Nuùt ñeán cuûa ci laø nuùt ñi cuûa ci+1.
 Nuùt ñi cuûa c1 ñöôïc goïi laø nuùt ñaàu cuûa maïch ñi.
 Nuùt ñeán cuûa cp ñöôïc goïi laø nuùt cuoái cuûa maïch ñi.
d) Chu trình: laø ñöôøng ñi hay maïch ñi trong ñoù
 Nuùt ñaàu vaø nuùt cuoái truøng nhau
 1 cung khoâng xuaát hieän 2 laàn trong chuoãi.
e) Moät doøng coù goác n1 laø moät taïp cung D = (c1, c2, …, cp) sao cho:
 1 cung trong taäp ñoù coù nuùt xuaát phaùt (hoaëc nuùt ñí) laø n1.
 ci, ni, nuùt xuaát phaùt (hoaëc nuùt ñi | ñeán) cuûa ci,  1 ñöôøng ñi
(hoaëc maïch ñi) coù nuùt ñaàu laø n1, nuùt cuoái laø ni vaø goàm caùc cung
cuûa taäp D.

Ví duï:
c1 c2 c1 c2
n1 n2 n3 n1 n2 n3

(c1, c2) laø 1 doøng coù goác n1. (c1, c2) laø 1 doøng coù goác n1.
(c1, c2) khoâng laø doøng coù goác n2. (c1, c2) cuõng laø doøng coù goác n2
hoaëc n3.

c3 c4
n4 n5 n6

(c3, c4) khoâng phaûi laø doøng cuûa goác naøo caû.
4.2.2 Ñoà thò con ñöôøng truy xuaát:
a)Ñònh nghóa:
Ñoà thò con ñöôøng truy xuaát (N, C, R, Cñ, f, g, h, i, j) laø 1 ñoà thò coù
höôùng vôùi:
 N : taäp nuùt, Kyù hieäu: Nuùt:  vaø Nuùt vaøo : 
 C  (N x N) : taäp cung coù höôùng, kyù hieäu :  hoaëc ->>
 R : taäp quan heä Qi;
 Ñôn aùnh f : N  R : f(ni) = QN, moãi nuùt ni öùng vôùi 1 quan heä QN. Goïi
laø quan heä nuùt
 AÙnh xaï g : C  R : g(ci) = QC., moãi cung öùng vôùi 1 quan heä QC , goïi
laø quan heä cung. Ngöôïc laïi, Toàn taïi toái ña 2 cung thuoäc g-1(QC), 2
cung naøy coù 2 chieàu ngöôïc nhau, nuùt ñi cuûa cung thöù nhaát laø nuùt
ñeán cuûa cung thöù hai vaø ngöôïc laïi.
o Ñieàu kieän : f(N)  g(N) = R

30
 Cñ : taäp con ñöôøng truy xuaát
 Song aùnh h : C  Cñ : Moãi cung töông öùng vôùi 1 con ñöôøng truy
xuaát.
 ni C
nj : töø moät quan heä nuùt f(ni), coù theå truy xuaát ñeán 1 boä

ij

cuûa quan heä nuùt f(nj) thoâng qua con ñöôøng truy xuaát
h(cij).
 ni  -> nj : töø moät quan heä nuùt f(ni), coù theå truy xuaát ñeán n
Cij

boä cuûa quan heä nuùt f(nj) thoâng qua con ñöôøng truy
xuaát h(cij).
 AÙnh xaï i : Cñ  N x N x N : Treân moãi con ñöôøng truy xuaát cij coù
gaén 1 toå hôïp (m,A,M) theå hieän soá boä toái thieåu (m), trung bình (A),
toái ña (M) cuûa quan heä nuùt f(nj) coù theå truy xuaát ñöôïc töø 1 boä cuûa
quan heä nuùt f(ni).
 AÙnh xaï j : N  { 0, 1 }: khi j(ni) = 1 thì ni laø moät nuùt vaøo.
Ví duï: Xeùt CSDL
 NV(MaNV, TenNV, MaPh)
 Phong(MaPh, TenPh)
 DeAn(MaDA, TenDA, Maph)
Vôùi RBTV laø moät nhaân vieân trong moät phoøng ñöôïc phaân coâng vaøo taát caû
caùc ñeà aùn do phoøng ñoù phuï traùch.

 NVN(MaNV, TenNV, DCNV)


(1,-,n) (1,1,1)
ThuoäcC(MaNV, MaPh)

(1,-,n)  PhongN(MaPh, TenPh)


(1,1,1) (1,-,n)
PTC(MaDA, MaPh)

 DeAnN(MaDA, TenDA)

PCC( MaDA, MaNV)


Dieãn giaûi:
 Coù 2 ngoû vaøo CSDL: ñoù laø NVN (1) vaø DeAnN (3)
 NVN(1) coù ngoõ vaøo: nghóa laø ta coù theå cung caáp giaù trò cuûa
Maõ nhaân vieân ñeå truy xuaát tröïc tieáp moät boä trong quan heä
NV.
 PhongN(2) khoâng coù ngoõ vaøo: nghóa laø ta khoâng theå truy xuaát
tröïc tieáp ñeán moät boä cuûa quan heä PhongN maø phaûi duyeät
tuaàn töï hoaëc phaûi thoâng qua con ñöôøng truy xuaát ñeá töø
NVN(1) hoaëc DeAnN(3).

31
 (1, -, n): Chæ ñònh soá boä toái thieåu, trung bình hoaëc toái ña coù theå truy
xuaát ñöôïc. Trong ñoù, daáu “-“
 Töø moät boä cuûa NVN(1) ta coù theå truy xuaát tröïc tieáp moät boä cuûa
PhongN(2) maø nhaân vieân ñoù tröïc thuoäc thoâng qua con ñöôøng truy
xuaát (1)  (2). Ngöôïc laïi, ta cuõng coù ngay danh saùch nhaân vieân cuûa
moät phoøng thoâng qua con ñöôøng truy xuaát PhongN(2) -->> NVN(1).
 Töø moät boä cuûa DeAnN(3) ta coù theå truy xuaát ngay danh saùch nhaân
vieân ñöôïc phaân coâng thöïc hieän ñeà aùn thoâng qua con ñöôøng truy
xuaát DeAnN(3) -->> NVN(1). Nhöng ta khoâng theå truy xuaát tröïc tieáp
danh saùch ñeà aùn maø moät nhaân vieân ñöôïc phaân coâng, vì khoâng coù
con ñöôøng truy xuaát töø NVN(1) ñeán DeAnN(3). Tuy nhieân, ta cuõng coù
theå coù ñöôïc danh saùch treân moät caùch giaùn tieáp thoâng qua caùc con
ñöôøng truy xuaát khaùc.
 Ví duï nhö:
NVN(1)  PhongN(2) -->> DeAnN(3) neáu coù raøng buoäc toaøn veïn: moät
nhaân vieân trong moät phoøng ñöôïc phaân coâng vaøo taát caû caùc ñeà
aùn do phoøng ñoù phuï traùch.
Ví duï:
  (1)
(2)
(1,1,1).
(3)
(1,1,1). (4)
(1, - ,n).  (5)

(1,1,1).
(1,-,5) (1,1,1).
 
(1,1,1)

4..3. Ñoà thò con ñöôøng truy xuaát thoâ:


Laø ñoà thò CÑTX thoûa maõn 2 ñieàu kieän sau:
 Giöõa 2 nuùt cuûa ñoà thò neáu coù 1 cung thì bao giôø cuõng coù moät
cung theo chieàu ngöôïc laïi
 Caùc nuùt treân ñoà thò ñeàu laø nuùt vaøo.
Ví duï: Vôùi ñoà thò treân, neáu töø nuùt NV(1) ñeán DeAn(3) coù theâm moät con
ñöôøng truy xuaát, vaø neáu nuùt Phong(2) cuõng laø nuùt vaøo thì ñoà thò trôû
thaønh ñoà thò con ñöôøng truy xuaát thoâ.
4.4 Ñoà thò quan heä:
Trong quaù trình chuyeån sang daïng bieåu dieãn ñoà thò, moät caáu truùc
CSDL coù theå ñöôïc bieåu dieãn thaønh nhieàu ñoà thò khaùc nhau. Tuy nhieân
khoâng phaûi taát caû ñeàu coù nhöõng hieäu quaû khai thaùc nhö nhau (ñieàu naøy seõ
ñöôïc minh hoïa trong phaàn cuoái chöông). Moät ñoà thò con ñöôøng truy xuaát ñöôïc
ñôn giaûn hoùa seõ giuùp ngöôøi thieát keá ñaùnh giaù deã daøng chaát löôïng cuûa
daïng bieåu dieãn ñoà thò naøy: ñoù laø ñoà thò quan heä.
32
a. Ñònh nghóa:
Moät Ñoà thò quan heä laø ñoà thò coù höôùng, ñöôïc ñònh nghóa treân taäp
(NQ, CQ, RQ, fQ, gQ, kQ) vôùi:
 NQ : taäp nuùt, Kyù hieäu: Nuùt: 
 CQ  (NQ x NQ) : taäp cung coù höôùng hoaëc khoâng
 RQ : taäp quan heä Qi;
 Ñôn aùnh fQ : NQ  RQ : fQ(ni) = QN, moãi nuùt ni öùng vôùi 1 quan heä QN.
Goïi laø quan heä nuùt
 AÙnh xaï gQ : CQ  RQ : gQ(ci) = QC., moãi cung öùng vôùi 1 quan heä QC ,
goïi laø quan heä cung. Ngöôïc laïi, Toàn taïi toái ña 2 cung thuoäc g-1(QC), 2
cung naøy coù 2 chieàu ngöôïc nhau, nuùt ñi cuûa cung thöù nhaát laø nuùt
ñeán cuûa cung thöù hai vaø ngöôïc laïi.
o Ñieàu kieän : f(N)  g(N) = R
 AÙnh xaï kQ : CQ  { 0, 1 }: kQ(ci) = 1 neáu laø cung coù höôùng, kQ(ci) = 0
neáu laø moät cung voâ höôùng.
ni  nj
Cij
: coù pth KQi  KQj vôùi KQi, KQj laàn löôït
fQ gQ fQ laø khoùa cuûa Qi, Qj vaø quan heä cung
Qi Qij Qj Qij ñöôïc hình thaønh töø taát caû thuoäc
tính khoùa cuûa Qi, Qj: Qij+ = KQi  KQj
==> Qij(KQi, KQj )
ni Cij nj :Khoâng coù pth giöõa KQi vaø KQj vaø
fQ gQ fQ quan heä cung Qij ñöôïc hình thaønh töø
Qi Qij Qj taát caû thuoäc tính khoùa cuûa Qi, Qj: Qij+
= KQi  KQj
Ñoà thò naøy coù theå ñöôïc ñoåi
thaønh: ==> Qij( KQi, KQj )
Ni Nj : caû 2 quan heä cung Qiji, Qiji vaø quan heä
nuùt Qij ñeàu ñöôïc hình thaønh töø taäp
KQi  KQj
Qiji Qiji
Nij
Vôùi caùch naøy, ñoà thò quan heä ñeàu
coù caùc cung coù höôùng.

33
Ví duï: ñoà thò quan heä cuûa CSDL quaûn lyù döï aùn.

 NVN(MaNV, TenNV, DCNV)

ThuoäcC(MaNV, MaPh)

 PhongN(MaPh, TenPh)
.
PTC(MaDA, MaPh)

 DeAnN(MaDA, TenDA)

PCC( MaDA, MaNV)


Dieãn giaûi: Giöõa 2 quan heä NVN vaø PhongN coù 1 pth : MaNv  MaPh.
Phuï thuoäc haøm naøy ñöôïc bieåu dieãn bôûi cung noái töø nuùt quan heä NVN
sang nuùt cuûa quan heä PhongN, quan heä cuûa cung naøy ñöôïc ñaët teân laø
ThuoäcN;
Caùc boä treân quan heä cung ThuoäcN ñöôïc hình thaønh töø pheùp chieáu cuûa
quan heä NhaânVieân goác (naèm trong caáu truùc CSDL) treân caùc thuoäc tính
khoùa cuûa 2 quan heä nuùt lieân quan.
4.5 Bieán ñoåi moät ñoà thò quan heä sang moät ñoà thò con ñöôøng truy xuaát
thoâ, vaø ngöôïc laïi:
(a) Bieán ñoåi ñoà thò con ñöôøng truy xuaát thoâ thaønh ñoà thò quan heä:
ÑTCÑTX thoâ (N, C, R, Cñ, f, g, h, i, j)  ÑTQH(NQ, CQ, RQ, fQ, gQ, kQ)
vôùi:
 NQ = N
 RQ = R
 fQ = f
 (c, c')  C coù chieàu ngöôïc nhau, vaø g(c) = g(c'), cQ  CQ sao
cho:
gQ(cQ) = g(c) = g(c')
 Neáu max( c )>1 vaø max( c' ) > 1 thì kQ(cQ) = 0 (cung cQ laø voâ
höôùng)
Neáu max( c )<=1 vaø max( c' ) <= 1 thì kQ(cQ) = 1 (cung cQ laø coù
höôùng) khi ñoù:
- cQ = c neáu max(c)  1
- cQ = c' neáu ngöôïc laïi.

34
(b) Bieán ñoåi ñoà thò quan heä thaønh ñoà thò con ñöôøng truy xuaát
thoâ :
ÑTQH(NQ, CQ, RQ, fQ, gQ, kQ)  ÑTCÑTX thoâ (N, C, R, Cñ, f, g, h, i, j)
vôùi:
 N = NQ
 R = RQ
 f = fQ
 cQ  CQ, cQ = (n1, n2),  (c, c')  C vôùi c = (n1, n2) vaø c' =(n2, n1)
vaø
g(c) = g(c') = gQ(cQ)
 Neáu kQ(cQ) = 1 thì max(c)>1 vaø max(c') > 1
Neáu kQ(cQ) = 0 thì max(c)<= 1 hoaëc max(c') <=1.
 n  NQ, j(n) = 1 (nuùt vaøo).
4.6 Chuoãi keát ñöôïc caøi ñaët treân ñoà thò:
Moái quan taâm haøng ñaàu cuûa ngöôøi thieát keá ôû giai ñoaïn thieát keá logic
laø choïn moät caáu truùc logic cho pheùp thöïc hieän hieäu quaû pheùp keát. Cô sôû
ñeå ñaùnh giaù tieâu chuaån naøy laø khaùi nieäm chuoãi keát ñöôïc caøi ñaët treân
ñoà thò.
a) Chuoãi keát ñöôïc caøi ñaët treân ñoà thò con ñöôøng truy xuaát:
Moät chuoãi keát  = Q1 Q2 … Qm ñöôïc caøi ñaët treân
ñoà thò con ñöôøng truy xuaát neáu vaø chæ neáu:
 Qi, i  (1,..,m), Qi  R vaø
  1 doøng D = (c1, c2, .., cp) treân ñoà thò con ñöôøng truy xuaát sao cho
moãi cung ci thoûa 2 ñieàu kieän sau:
 g( ci ) = Qj , j  (1 .. m)
 Qi , i  (1..m):
- hoaëc  1 cung c cuûa D sao cho g( c ) = Qi.
- hoaëc  1 nuùt n cuûa D sao cho f( n ) = Qi.
Ví duï:
AX AX AX AX
1
(AB) (AB) (AB) (AB)
BY BY BY BY
2
(BC) (BC) (BC) (BC
X)
CZ CZ CZ CZ
3
(a) (b) (c) (d)
Chuoãi keát  = (AX) (AB) (BY) (BC) (CZ) ñöôïc caøi ñaët
treân (4.8a), (4.8b), (4.8d) nhöng khoâng ñöôïc caøi ñaët treân (4.8c).
Dieãn giaûi:
Neáu 1 chuoãi keát ñöôïc caøi ñaët treân ñoà thò con ñöôøng truy xuaát thì toàn

35
taïi moät doøng D coù goác ng. Nghóa laø töø quan heä Qg cuûa nuùt goác ng thuoäc
doøng D, ta coù theå truy xuaát nhanh nhöõng boä cuûa Qi   thoâng qua caùc maïch
ñi xuaát phaùt töø ng.
Ví duï: Xeùt chuoãi keát  = (AX) (AB) (BY) (BC) (CZ) coù caøi
ñaët treân caùc ñoà thò treân hay khoâng?
 Trong (4.8a) : toàn taïi doøng D = {(1, 2), (2, 3)} coù nuùt goác ng = 1
maïch ñi : {(1, 2), (2, 3)} : (AX) (AB) (BY) (BC) (CZ)
 Trong (4.8b) : toàn taïi doøng D = {(2, 1), (2, 3)} coù nuùt goác ng = 2
maïch ñi : {(2, 1), (2, 3)} : (BY) (AB) (AX) (BC) (CZ)
 Trong (4.8c) : chæ coù theå xuaát phaùt töø 1 hoaëc 3 nhöng:
- Töø 1 chæ ñeán ñöôïc 2, khoâng ñeán ñöôïc hoaëc khoâng ñi qua 3.
- Töø 3 chæ ñeán ñöôïc 2, khoâng ñeán ñöôïc hoaëc khoâng ñi qua 1.
 hoaëc vôùi nuùt goác ng = 1, duøng maïch ñi (1, 2), sau ñoù ñoïc tuaàn
töï taát caû caùc boä cuûa (CZ) vaø ñoái saùnh vôùi keát quaû cuûa
maïch ñi.
 hoaëc vôùi nuùt goác ng = 3, duøng maïch ñi (3, 2), sau ñoù ñoïc tuaàn
töï taát caû caùc boä cuûa (AX) vaø ñoái saùnh vôùi keát quaû cuûa
maïch ñi.
 Trong (4.8d) : coù 3 doøng coù goác laø 1 , 2 vaø 3 ñeå thöïc hieän .
b) Chuoãi keát ñöôïc caøi ñaët treân ñoà thò quan heä:
Moät chuoãi keát  = Q1 Q2 … Qm ñöôïc caøi ñaët treân
ñoà thò quan heä neáu vaø chæ neáu:
 Qi, i  (1..m), Qi  RQ vaø
  1 doøng D = (c1, c2, .., cp) treân ñoà thò quan heä sao cho moãi cung ci
thoûa 2 ñieàu kieän sau:
 gQ( ci ) = Qj , j  (1 .. m)
 Qi , i  (1..m):
- hoaëc  1 cung c cuûa D sao cho gQ( c ) = Qi.
- hoaëc  1 nuùt n cuûa D sao cho fQ( n ) = Qi.
Ví duï:
AX AX AX AX
1
(AB) (AB) (AB) (AB)
BY BY BY BY
2
(BC) (BC) (BC) (BC
X)
CZ CZ CZ CZ
3
(a) (b) (c) (d)
 = (AX) (AB) (BY) (BC) (CZ) ñöôïc caøi ñaët treân (4.8a),
(4.8b), (4.8d) nhöng khoâng ñöôïc caøi ñaët treân (4.8c).
Dieãn giaûi:

36
Neáu 1 chuoãi keát ñöôïc caøi ñaët treân ñoà thò quan heä thì toàn taïi moät
doøng D coù goác ng. Töø quan heä Qg cuûa nuùt goác ng thuoäc doøng D, ta coù theå
truy xuaát nhanh nhöõng boä cuûa Qi   thoâng qua caùc ñöôøng ñi xuaát phaùt töø
ng.
Chuoãi keát  = (AX) (AB) (BY) (BC) (CZ) ñöôïc theå
hieän
 Trong (4.8d) : coù 3 doøng coù goác laø 1, 2 vaø 3 ñeå thöïc hieän .

37
4.7 Thuaät toaùn bieåu dieãn moät caáu truùc CSDL quan heä sang ñoà thò quan
heä:
4.7.1 Muïc tieâu cuûa thuaät toaùn:
- Ñoái vôùi quan heä coù nhieàu khoùa, taát caû caùc khoùa ñeàu ñöôïc gaùn
cho moät vai troø ngang nhau; thaät vaäy vieäc ñaùnh giaù öu tieân cho
khoùa naøo trong soá caùc khoùa cuûa moät quan heä thuoäc veà laõnh vöïc
caøi ñaët, vaø seõ ñöôïc caân nhaéc ôû giai ñoaïn thieát keá vaät lyù. Ñieàu
naøy giaûi thích böôùc thöù nhaát cuûa thuaät toaùn.
- Laøm noåi baät nhöõng taäp thuoäc tính chung cuûa moãi caëp quan heä, vì
ñoù laø cô sôû cuûa pheùp keát.
4.7.2 Thuaät toaùn:
Input: Moät phaân raõ C = { Qi }, moãi Qi coù taäp khoùa { Ki }
Output: ñoà thò quan heä töông öùng vôùi C
Baét ñaàu:
B1: Bieán C thaønh moät phaân raõ ñoàng nhaát Cd :
1.1 Vôùi moïi quan heä con Qi, Qj, coù khoùa laø Ki vaø Kj,
neáu Ki <--> Kj thì goäp Qi, Qj laïi thaønh moät quan heä con.
Ví duï: Q1( A, C) ; Q2(B, D); Q3(A, B) ==> Q123(A B C D)
1.2 Vôùi moãi Qi, neáu Qi+ coù chöùa moät khoùa Kj cuûa Qj, thì Qi+
phaûi chöùa taát caû caùc khoùa cuûa Qj . (Ñeå nhìn roõ caùc phuï
thuoäc haøm)
Ví duï: Q4( G A) chöùa khoùa A cuûa Q123 ==> Q4(G A B)
B2: Taïo nuùt vaø quan heä nuùt:
Moãi quan heä Qi laø moät nuùt Ni vôùi QNi = Qi.
B3: Taïo nuùt baûn leà vaø quan heä (nuùt) baûn leà:
 Muïc ñích laøm noåi baät caùc thuoäc tính xuaát hieän treân nhieàu
quan heä nuùt.
3.1. Qi, Qj, Qij = Qi  Qj .
3.2. Chöøng naøo: Qij+ <>  thì:
- Xaùc ñònh taát caû khoùa cuûa Qij;
Kyù hieäu KQij+ laø taäp thuoäc tính khoùa cuûa Qij.
- Neáu  Qh  Cd sao cho 1 khoùa cuûa Qh laø moät khoùa
cuûa Qij.
thì taïo 1 nuùt baûn leà Nbl vôùi quan heä Qbl = KQij+
Cuoái neáu
- Tính laïi thuoäc tính: Qij+ = Qij+ - KQij+.
B4: Taïo cung vaø quan heä cung:
Chuù yù: chæ taïo soá cung toái thieåu xuaát phaùt töø moät nuùt.
4.1. nuùt Ni öùng vôùi quan heä Qi, xaùc ñònh:
- Taäp caùc nuùt pth vaøo nuùt Ni .
PTH(Ni) = {Nj vôùi Qj sao cho Qi+  KQj+ }
- Loaïi boû caùc nuùt coù quan heä baét caàu vaøo caùc nuùt khaùc:

38
PTH_Thöøa(Ni) = { Nj  PTH(Ni) : Nh  PTH(Ni) vôùi Qh sao
cho
KQh+  KQj+}
LOÀNG_KHOÙA(Ni) = {Nj vôùi Qj sao cho KQi+  KQj+ }
LOÀNG_KHOÙA_THÖØA(Ni) = { Nj  LOÀNG_KHOÙA(Ni) :
Nh  LOÀNG_KHOÙA(Ni) vôùi Qh sao cho

KQh+  KQj+}
Cung(Ni) = ( PTH(Ni) - PTH_Thöøa(Ni) ) 
(LOÀNG_KHOÙA(Ni) - LOÀNG_KHOÙA_THÖØA(Ni))
4.2 Nj  Cung(Ni) thì:
- Taïo 1 cung coù höôùng cij töø Ni --> Nj.
- Qij = Qi [ KQi+  KQj+ ]
B5: Huûy nhöõng nuùt baûn leà thöøa
Nk sao cho: - Qk coù 1 khoùa duy nhaát laø Kk
- Khoâng coù thuoäc tính naøo khaùc ngoaøi khoùa
- Chæ coù moät cung vaøo Nk, xuaát phaùt töø nuùt Ni.
thì: // vai troøbaûn leà cuûa Nk khoâng coøn caàn thieát nöõa
- Nhaäp Nk vaøo Ni.
- Huûy cung cik.
B6: Mòn hoùa caùc quan heä nuùt:
Ni vôùi Qi thì:
Nj  Cung(Ni) vôùi Qj thì
Huûy khoûi Qi+ nhöõng thuoäc tính khoùa cuûa Qj maø
khoâng phaûi laø thuoäc tính khoùa cuûa Qi.
B7: Taïo cung voâ höôùng:
Nk sao cho:- Qk+ = KQk+ ( nghóa laø Qk khoâng coù thuoäc tính khoâng
khoùa)
- Chæ coù 2 cung ra khoûi Nk (khoâng coù cung vaøo),
ñeán Ni, Nj vôùi Qi, Qj sao cho KQk = KQi  KQj
thì - Taïo 1 cung voâ höôùng noái Ni, Nj vôùi Qij = Qk.
- Huyû nuùt Nk
- Huûy 2 cung xuaát phaùt töø Nk.
Chuù yù: Neáu toaøn nhöõng cung coù höôùng thì khoâng laøm B7
Keát thuùc:
Ví duï:
(1) DDH(SoDH, NgDH)
(2) MatHang(MaH, TenH, DonGia) (3) CTDH(SoDH, MaH, SLDH)
(4) GiaoHang(SoGH, SoDH, NgGH) (5) CTGH(SoGH, MaH, SLGH, SoDH)
Giaûi:
B1: C laø phaân raõ ñoàng nhaát.

39
B2: Taïo nuùt vaø quan heä nuùt
B3: Taïo nuùt baûn leà vaø quan heä (nuùt) baûn leà:
 Q12 = 
 Q13 = SoDH ==> Q[SoDH]: khoâng taïo ,vì truøng khoùa Q1.
 Q35 = MaH, SoDH ==> Q[MaH, SoDH] khoâng taïo
 Q45 = SoGH, SoDH ==> Khoùa cuûa Q45 laø SoGH laïi laø khoùa cuûa 4;
coøn laïi SoDH laïi laø khoùa cuûa 1.
Thöïc hieän töông töï
Keát luaän: Khoâng taïo nuùt baûn leà naøo.
B4: Taïo cung:
PTH(Ni) PTH_Thöøa(Ni LK(Ni) LK_Thöøa(Ni Cung(Ni)
) )
1. DDH  - - - 
2. MatHang  - - - 
3. CTDH 1, 2  1, 2  1, 2
4. GiaoHang 1   - 1
5. CTGH 1, 2, 3, 4 1, 2 2, 4  2, 3, 4
Ghi chuù: "-" coù nghóa laø khoâng caàn tính taäp naøy, nhö trong tröôøng hôïp taäp
PTH(Ni) laø roãng thì khoâng caàn tính taäp LoàngKhoùa(Ni), vì theo ñònh
nghóa, taäp naøy naèm trong taäp tröôùc.
Caùc quan heä cung Q31(MaH, SoDH); Q32(MaH, SoDH); Q41(SoGH, SoDH)
Q52(MaH, SoGH); Q53(MaH, SoGH, SoDH) vaø Q54(MaH, SoGH)ø
B5: Khoâng thöïc hieän ,vì khoâng coù nuùt baûn leà thöøa.
B6: Mòn hoùa
  (1) DDH(SoDH, NgDH)
(2) MatHang(MaH,TenH,DonGia)
. (3) CTDH(MaH, SoDH, SLDH)
. Q31(MaH, SoDH); Q32(MaH, SoDH)
.  (4) GiaoHang(SoGH, NgGH)
Q41(SoGH, SoDH)
. (5) CTGH(SoGH, MaH, SLGH)
. Q54(MaH, SoGH);
  Q53(MaH, SoGH, SoDH)
(1,1,1) (do loàng khoùa)

B7. Khoâng taïp cung voâ höôùng naøo caû.


Nhaän xeùt:
1) 5  4  1 vaø 5  3  1: ñaây laø 2 maïch ñi khaùc nhau cuøng xuaát phaùt töø
nuùt 5 ñeán nuùt 1; 2 maïch ñi naøy giuùp kieåm tra raèng neáu 1 chi tieát giao
haøng lieân quan ñeán 1 chi tieát cuûa 1 DDH (maïch ñi 5  3  1) vaø lieân quan
ñeán 1 ñôït giao haøng thì ñôït giao haøng naøy phaûi cuûa cuøng DDH ñaõ bieát

40
(maïch ñi 5  4  1).
Vôùi 2 maïch ñi naøy ta coù theå truy xuaát thoâng tin:
"Lieät keâ caùc chi tieát giao haøng goàm caùc thoâng tin: SoáGH, MaH, SLGH,
SoDH, NgayDH"
nghóa laø thöïc hieän pheùp chieáu sau: Q[SoáGH, MaH, SLGH, SoDH, NgayDH]
Quan heä naøy coù theå truy xuaát baèng 1 trong 2 chuoãi keát coù goác laø 5
2) 5  3  2 vaø 5  2 : hieän töôïng naøy do coù söï loàng khoùa giöõa caùc quan
heä 3 – 2 vaø 5 – 2.
4.8 Bieán ñoåi ngöôïc töø ñoà thò quan heä sang caáu truùc CSDL quan heä:
Muïc tieâu: ñeå kieåm chöùng laïi xem caáu truùc quan heä ñöôïc bieåu dieãn
qua ñoà thò quan heä coù hoaøn toaøn töông ñöông vôùi caàu truùc
CSDL C ban ñaàu hay khoâng (töông ñöông ôû ñaây ñöôïc hieåu theo
nghóa BTTT vaø BTPTH)
Thuaät toaùn:
1) Goïi C1= {Qi }  {Qij }, Qi laø quan heä nuùt; Qij laø quan heä cung.
2) Goäp caùc quan heä coù cuøng khoùa laïi thaønh moät quan heä.
Ta nhaän thaáy C1 = C ban ñaàu, ñieàu naøy ñöôïc baûo ñaûm do chính noäi
dung thuaät toaùn.
4.9 Baøi taäp:
1. Cho phaân raõ:
C1 = { <Q1(ABCX), FQ1 = { ABC  X}>
Q2(BCY), FQ1 = { BC  Y}>
Q3(CZ), FQ1 = { C  Z}>
Haõy bieán ñoåi sang ñoà thò quan heä.
2. Cho phaân raõ:
C = { Q1(AB X1 ); Q2(A X2); Q3(ABC X3 DEG); Q4(BDE X4); Q5(CEG X5);
Q6( CE X6); Q7(EH X7); Q8( H X8); Q9(HG); Q10(ABCH) }
Haõy bieán ñoåi sang ñoà thò quan heä.
3. Cho ñoà thò quan heä:

41
Q3(BCDZ)
3 Q25(BCD) 5 Q5( DW)
Q12(ABCD)

Q1(AX) 1 Q34(BCD)
Q32(BCD)

Q13(AC)
2 4 Q4(B V)
Q42(B C)
Q3(C Y)

a) Chæ ra 2 choå bò truøng laép thoâng tin


b) Ñònh nghóa 1 ÑTQH khaùc khoâng coøn söï truøng laép thoâng tin treân,
nhöng töông ñöông vôùi ÑTQH ban ñaàu.
4. Cho ñoà thò quan heä:

Q2(BCY)
2 Q23(BC) 3 Q3( BW)
Q12(ABC)
Q5(CZ)
1 Q25(BC)
Q1(AX) 5
Q42(BCD)

Q14(ABCD) Q56(CE)
4 6 Q6(E P)
Q46(BCD E)
Q4(BCD V)

c) Chæ ra 2 choã bò truøng laép thoâng tin


d) Ñònh nghóa 1 ÑTQH khaùc khoâng coøn söï truøng laép thoâng tin treân,
nhöng töông ñöông vôùi ÑTQH ban ñaàu.
5. Cho quan heä phoå quaùt Q(ABCDEMNOPX1 X2 X3 X4 X5 ) vôùi ñoà thò quan heä
sau:

3 Q3(MNX3)
Q13(DMN) Q34(MNO)

Q1(DX1) 1 Q23(MPNE) 4 Q4(OX4)

Q24(MPNEO)
Q12(DMPNE) 5 Q (PBAX )
2 5 5

Q25(MPNEBA)
Q2(MPNEX2)

Ghi chuù:Quan heä coù 2 khoùa thì khoùa thöù nhaát ñöôïc gaïch chaân, coøn

42
khoùa thöù 2 thì in ñaäm.
a) Cho bieát taäp phuï thuoäc haøm FQ vaø caùc quan heä con töø ñoà thò treân.
Xaùc ñònh daïng chuaån caùc quan heä con vaø cuûa caáu truùc CSDL vöøa
trích ñöôïc.
b) So vôùi quan heä vöøa trích , ñoà thò naøy öu tieân nhöõng pheùp toaùn gì
treân Q[MNPEABD]. Vieát caâu leänh SQL ñeå lieät keâ danh saùch
A[MNP]
c) Cho moät ñoà thò con ñöôøng truy xuaát töông öùng vôùi ñoà thò treân nhö
sau:

3 Q3(MNX3)
Q13(DMN) Q34(MNO)
Q4(OX4)
1 4
Q1(DX1)

Q12(DMPNE) Q24(MPNEO)
2
Q2(MPNEX2) Q25(MPNEBA)

5 Q5(PBAX5)

Haõy khai baùo theo ngoân ngöõ SQL caáu truùc naøy (ngoân ngöõ SQL chuaån
hay SQL Server)
d) Ñoà thò quan heä ñaõ cho coù theå ñöôïc caûi tieán nhö theá naøo ñeå caáu
truùc CSDL trích ñöôïc ñaït 3 tieâu chuaån: Baûo toaøn thoâng tin; baûo
toaøn PTH; DC3, ñoàng thôøi cho pheùp taïo Q[DP] khoâng caàn thoâng qua
Q[DMNPE].

43
6. Cho quan heä phoå quaùt Q(AIMNLTVXYZ) vôùi ñoà thò quan heä sau:

Q2(AV)
2 Q25(A I X) 5 Q5( I X)
Q12(MNA)

Q1(MNZ) 1 Q23(AN) Q24(AL)


Q45(L I X)
Q13(MN)
3 4 Q4(L T)
Q34(N L)
Q3(N Y)

a) Xaùc ñònh taäp phuï thuoäc haøm FQ


b) Xaùc ñònh caùc quan heä con cuûa CSDL töø ñoà thò treân vaø khoùa cuûa
moãi quan heä con.
c) Xaùc ñònh daïng chuaån caùc quan heä con vaø cuûa caáu truùc CSDL vöøa
trích ñöôïc.
d) Coù theå ñöôïc caûi tieán CSDL hay khoâng nhaèm ñaûm baûo 3 tieâu
chuaån: Baûo toaøn thoâng tin; baûo toaøn PTH; DC3? Neáu coù, haõy xaùc
ñònh löôïc ñoà caûi tieán.
e) Haõy ñeà nghò moät ñoà thò con ñöôøng truy xuaát thoûa caùc yeâu caàu sau
cuûa ngöôøi söû duïng:
- Kieåm tra caùc PTH ñöôïc thuaän tieän nhaát.
- Truy xuaát tröïc tieáp ñeán taát caû caùc quan heä nuùt.
- Truy tìm nhanh caùc boä cuûa Q[a M N Z], Q[Aix], Q[L tix], Q[l N],
Q[nM]
Ghi chuù: Caùch vieát Q[a M N Z] nghóa laø caùc boä Q[M N Z] töông
öùng vôùi moät giaù trò “a” cuûa thuoäc tính A.
f) Haõy khai baùo caáu truùc CSDL vaät lyù döïa treân con ñöôøng truy xuaát
treân.
Baøi giaûi:
a) CSDL coù 5 quan heä:
Q1(D X1 MNPE) FQ1= { D  X1MNPE; MNP  E; NE  MP}
Q2(PMNEX2BAO); F2 = {MPN  EX2BA; NE  MPX2BA; P  BA;
BA  P; MN  O}
Phaûi boå sung theâm khoaù thöù 2: {BAMN}
Q3(MNX3O); FQ3= {MN  X3O}
Q4(OX4); FQ4= {O  X4}
Q5(P BA X5); FQ5= {P  BA; BA  P }

Bieán Q2 thaønh Q’2(PMNEABX2) ôû DC3 vôùi


F’2 = {MPN  EX2BA; NE  MPX2BA; P  BA; BA  P}

3 Q3(MNX3)
44
Q34(MNO)

Q1(DX1) 1 Q23(MPNE) 4 Q4(OX4)

Q12(DMPNE)
2
Q25(MPNEBA)
Q2(MPNEX2)
5 Q5(PBAX5)

Cung 1  5 ñeå taïo Q[DP] khoâng thoâng qua Q[DMNP]

45
Chöông 5 : Thieát keá CSDL ôû möùc vaät lyù
5.1 . LUYEÄN TAÄP KYÕ NAÊNG

Ghi Chuù Moãi Buoåi Thöïc Haønh (2TIEÁT) 1 Baøi Taäp:


Xaùc Ñònh caùc con ñöôøng truy xuaát DL
Baøi 1: Toång Hôïp Döõ Lieäu Baèng Select Query
A- Quaûn lyù baùn haøng (HOADON.MDB)caàn taïo caùc baûng sau:

1- Nhan Vien: Chöùa thoâng tin caùc nhaân vieân laäp hoùa ñôn

2- Khach Hang: thoâng tin caùc khaùch haøng

3- San Pham: thoâng tin veà caùc saûn phaåm

4- Hoa Don: thoâng tin töøng hoùa ñôn.

5- Chi Tiet HD: Thoâng tin caùc doøng chi tieát trong caùc hoùa ñôn.

B- Môû file HOADON.MDB thöïc hieän caùc truy vaán sau:


1- Cho bieát toång soá nhaân vieân, soá nam vaø soá nöõ trong coâng ty. Goàm caùc coät:
Si So, So Nam, So Nu
2- Taïo query tính tieàn cho caùc hoùa ñôn, goám caùc thoâng tin: MaHD, MaKH, MaNV,
ngaøy laäp, ngaøy nhaän haøng, soá doøng chi tieát trong moãi hoùa ñôn (SoCT), Tieàn
hoùa ñôn (TienHD). Löu vôùi teân “Tieàn Hoùa Ñôn”.

46
3- Cho bieát doanh thu töøng maët haøng trong naêm 199x (ví duï 1998) , saép theo thöù töï
giaûm cuûa soá tieàn thu. Goàm caùc coät: Thang, MaSP, TenSP, soá löôïng
baùn(SLBAN), TienBan. Löu vôùi teân “Dsoá San Pham Nam 1998”
4- Cho bieát doanh thu töøng maët haøng moãi thaùng trong naêm 199x (ví duï 1998) , saép
theo thöù töï giaûm cuûa soá tieàn thu trong töøng thaùng. Goàm caùc coät: Thang, MaSP,
TenSP, soá löôïng baùn(SLBAN), TienBan. Löu vôùi teân “San Pham Ban Moi Thang
Nam 1998”
5- Duøng Form Wizard taïo Form “Doanh Thu San Pham” caùc thaùng trong naêm 199? nhö
sau:

Höôùng daãn baøi taäp 1


A- HoaDon.MDB
1- Add: Nhan Vien
Field MaNV SoNam:iif(Nu= 0, 1,0) SoNu:iif(Nu= -1, 1,0)
Total Count Sum Sum
2- Add: Hoa Don, Chi Tiet HD, San Pham
Field MaHD MaKH MaNV NgayLap Ngay TienHD:Soluong* SoCT:
HD Nhan Dongia MaHD
Table Hoa Hoa Don Hoa Don Hoa Don Hoa Don
Don
Total Group Group Group Group By Group Sum Count
By By By By
3- Add: Hoa Don, Chi Tiet HD, San Pham
Field MaSP TenSP HinhSP: Tongso: Tongtien:Soluong Year(NgayLapHD)
Hinh Soluong *Dongia
Table SPham SPham SPham Hoa Don
Total G. By G. By First Sum Sum Where
Criteria 1998

47
4- Add: Hoa Don, Chi Tiet HD, San Pham
Field Thang: MaSP TenSP SLBan: TienBan:Soluong* NgayLHD
Month(NgayLapHD) Soluong Dongia
Table CTH H Don Hoa Don
D
Total Group By G. By G. By Sum Sum Where
Criteria Like
“*/*/98”
5- MainForm coù baûng döõ lieäu nguoàn laø “Dsoá San Pham Nam 1998”. SubForm coù
baûng döõ lieäu nguoàn laø“San Pham Ban Moi Thang Nam 1998”

6- Baøi 2: Taïo Caùc Crosstab Query Sau:

A- Môû file HoaDon.mdb taïo caùc baûng Crosstab sau:


1- Söû duïng Crosstab Query Wizard cho bieát soá löôïng töøng saûn phaåm baùn trong töøng
naêm.
2- Söû duïng Crosstab Query Wizard cho bieát doanh thu nhaân vieân treân töøng saûn phaåm
trong töøng naêm.
3- Cho bieát doanh soá baùn caùc saûn phaåm theo caùc thaùng laäp hoùa ñôn trong trong 1
naêm (ví duï1998) goàm caùc coät: MaSP, Teân SP, Toång Doanh soá, Toång soá
löôïng, Thaùng 1, Thaùng 2,.., Thaùng 12.
4- Cho bieát doanh soá baùn caùc saûn phaåm theo caùc quyù döïa treân ngaøy laäp hoùa ñôn
trong trong 1 naêm (ví duï 1998) goàm caùc coät: MaSP, Teân SP, Toång Doanh soá,
Toång soá löôïng, Quyù 1, Quyù 2, Quyù 3, Quyù 4.
5- Cho bieát doanh soá baùn haøng cuûa töøng nhaân vieân theo töøng loaïi saûn phaåm döïa
treân caùc hoùa ñôn baùn trong 1 naêm (Ví duï 1998) goàm caùc coät: MaNV,Hoï teân
nhaân vieân, Toång Doanh soá, Tieàn baùn töøng loaïi saûn phaåm.
MaN Hoï Teân Toång DS Baùnh Kem Caù Hoäp ... Röôïu
V NV
0001 Nguyeãn 7000000 ñ 1200000 ñ 700000 ñ ... 1500000 ñ
Vaên A
... .... .... .... ... ... .....
6- Cho bieát doanh soá baùn haøng cuûa moãi nhaân vieân theo töøng quùy trong naêm 1998
goàm caùc coät: MaNV,Hoï teân, Toång Doanh soá, Quy 1, Quy 2,., Quy 4. Löu teân
“Doanh So Nhan Vien Tung Quy/19xx”
7- Cho bieát doanh soá baùn haøng cuûa moãi nhaân vieân treân töøng maët haøng theo töøng
quùy trong 1 naêm (ví duï 1998) goàm caùc coät: MaNV,MaSP,TenSP, Toång Doanh
soá, Quy 1, Quy 2,., Quy 4. Löu vôùi teân “DSo Nhan Vien ban SP Tung Quy/19xx”
8- Taïo Form Doanh So Nhan Vien Töøng QUYÙ/19xx nhö sau:

Höôùng daãn baøi 2:


A- HoaDon.mdb
1- Taïo query “Tong Hop CTHD”
Add: Hoa Don, Chi Tiet HD, San Pham

48
Field MaSP TenSP MaNV NgayLap SoLuong TienCTHD:Soluong*
HD Dongia
Table CTHD CTHD Hoa Don Hoa Don CTHD
 Choïn query “Tong Hop CTHD”
 Choïn Fields cho Row Heading: MaSP, TenSP
 Choïn Field cho Column Heading: NgayLapHD ( Group by: Year )
 Choïn Field total : Soluong (Kieåu toång hôïp Sum)
2- Choïn query “Tong Hop CTHD”
 Choïn Fields cho Row Heading: MaNV, MaSP, TenSP
 Choïn Field cho Column Heading: NgayLapHD ( Group by: Year )
 Choïn Field total : TienCTHD (Kieåu toång hôïp Sum)
3- Add: Hoa Don, Chi Tiet HD, San Pham
Field MaSP TenSP Thang:”Thang “ Giatri: Tongso: Tongtien: Year(NgayLap
& Soluong* Soluong Soluong* HD)
Month(NgayLH Dongia Dongia
D)
Table CTHD SPham Hoa Don
Total G. By G. By G.by Sum Sum Sum Where
Crosst Row Row Column Heading Value Row H. Row
ab Heading
Criter 1998
ia
4- Add: Hoa Don, Chi Tiet HD, San Pham
Field MaSP TenSP Quy:”Quy “ & Giatri:Soluong* ... ...Year
DatePart(“q”,NgayLHD) Dongia (NgayLapHD)
Table CTHDSPham Hoa Don
Total G. By G. By G.by Sum Where
Crosst Row Row Column Heading Value
ab H.. H..
Criteri 1998
a

5- Add: Hoa Don, Chi Tiet HD, San Pham, Nhan Vien
Field MaNV HoTen:Ho & “ “ & SP:TenSP Giatri:Soluong* ... .... Year(NgayLapHD)
Ten Dongia
Table CTHD Nhan Vien San Pham Hoa Don
Total G. By First G.by Sum Where
Crossta Row Row H.. Column H Value
b H..
Criteria 1998
6- Add: Hoa Don, Chi Tiet HD, San Pham, Nhan Vien
Field MaNV HoTen:Ho Quy:”Quy “ & Giatri: Tongtien: Year
& “ “ & DatePart(“q”,NgayLHD) Soluong* Soluong* (NgayLapHD)
Ten Dongia Dongia
Table Nhan Nhan Vien Hoa Don
Vien
Total G. By First G.by Sum Sum Where
Crosstab Row H..Row H.. Column Heading Value Row
Heading
Criteria 1998
7- Add: Hoa Don, Chi Tiet HD, San Pham

49
Field MaNV MASP TenSP Quy:”Quy “ & Giatri: Tongtien: Year
DatePart(“q”,NgayLHD) Soluong* Soluong* (NgayLapHD)
Dongia Dongia
Table H.Don CTHD SanPh Hoa Don
Total G. By G. by G. By G.by Sum Sum Where
Crosstab Row Row Row H Column Heading Value Row
Heading
Criteria 1998
8- Döõ lieäu nguoàn cuûa Main Form laø “Doanh So Nhan Vien Tung Quy/19xx”
cuûa SubForm laø “DSo Nhan Vien ban SP Tung Quy/19xx” lieân keát theo
MaNV.

50
Baøi taäp 3: Thöïc taäp caùc daïng Query

Caâu 1: Trong New Query, choïn Find Duplicates Query Wizard, click Ok
Choïn Table Hoa Don, click Next
Choïn Field chöùa giaù trò truøng laëp: MaKH, NgayLapHD
Choïn Theâm Field caàn hieån thò : MaHD, MaNV, NgayNhanHang.
Ñaët teân Query, click nuùt Finish
Caâu 2:
 Taïo Query “San Pham Ban 10/199x”
Add : Hoa Don, Chi tiet HD (Ñaët thuoäc tính Unique Value: Yes )
Field MASP Thang:Month(NgayLa Nam:
pHD) Year(NgayLapHD)
Table CTHD Hoa Don Hoa Don
Criteria 10 199x
 Taïo Query lieät keâ saûn phaåm khoâng baùn ñöôïc trong thaùng 10/199x
Trong New Query, choïn Find Unmatched Query Wizard, click Ok
Choïn Table San Pham, click Next
Choïn query San Pham Ban 10/199x, click Next
Choïn 2 Field quan heä giöõa 2 Table: MaSP <==> MaSP
Choïn caùc Field caàn hieån thò trong Query: MaSP,TenSP, Donvitinh, Dongia.
Ñaët teân Query , click nuùt Finish
Caâu 3:
 Taïo Query “Khach Mua 199x”
Add : Hoa Don (Ñaët thuoäc tính Unique Value: Yes )
Field MAKH Nam:
Year(NgayLapHD)
Criteria 199x
 Taïo Query lieät keâ Khaùch khoâng mua naêm 199x
Trong New Query, choïn Find Unmatched Query Wizard, click Ok
Choïn Table Khach Hang, click Next
Choïn Query Khach mua 199x, click Next
Choïn 2 Field quan heä giöõa 2 Table: MaKH <==> MaKH
Choïn caùc Field caàn hieån thò trong Query: MaKH,TenCty, Diachi, ThanhPho, Dienthoai.

Ñaët teân Query , click nuùt Finish


Caâu 4: Add: Hoa don
Choïn Make Table Query vaø nhaäp teân Table môùi trong Table Name, choïn Current

Database

Field Hoa Nam: NgayNhanHang


Don.* Year(NgayLapHD)
Show [v] [ ] [ ]
Criteri 199x Is Not Null
a
Click nuùt Run ! ñeå thöïc hieän
Caâu 5: Add: Hoa don, Chi tiet hd
Choïn Make Table Query vaø nhaäp teân Table môùi trong Table Name, choïn Current

Database

51
Field Chi tiet Nam: NgayNhanHang
HD.* Year(NgayLapHD)
Table Chi tiet hd Hoa don Hoa don
Show [v] [ ] [ ]
Criteri 199x Is Not Null
a
Click nuùt Run ! ñeå thöïc hieän
Caâu 6: Add: Hoa don, Chi tiet hd, San Pham; click nuùt Total
Field MaHD MaKH MaNV NgayLapHD TienHD:Soluong*
dongia
Table Hoa Hoa Hoa Hoa Don
Don don don
ToTal Group Group Group Group by Sum
by by by
Criteri Between #1/11/9x” And
a #31/12/9x#
Choïn Make Table Query vaø nhaäp teân Table môùi trong Table Name, choïn Current

Database

Click nuùt Run ! ñeå thöïc hieän


Caâu 7: Add: San Pham
Choïn Update Query
Field DonGia TenSP
Update [DonGia]*1.05
Criteria Like “Baùnh*”
Click nuùt Run ! ñeå thöïc hieän
Caâu 8: Add: San Pham
Choïn Update Query
Field DonGia TenSP
Update [DonGia]*0.98
Criteria “Gia Vi”
Or “Bô”
Click nuùt Run ! ñeå thöïc hieän
Caâu 9:
Ñaët khoùa chính cho Table Hoa Don 199x laø MaHD;
Taïo quan heä giöõa table Hoa Don 199x(MaHD) <---> CTHD 199x(MaHD) , Choïn muïc
Enforce Referential Integrity vaø Cascade Delete Related Records.
Taïo Query: Add: Hoa Don 199x
Choïn Delete Query
Field [Hoa Don 199x].* NgayLapHD
Table Hoa Don 199x Hoa Don 199x
Delete From Where
Criteria Between #1/11/9x” And
#31/12/9x#
Click nuùt Run ! ñeå thöïc hieän
Caâu 10: Add: Hoa don
Choïn Append Query , Choïn trong Table Name: Hoa Don 199x
Field Hoa Don.* NgayLapHD
Append Hoa Don
To 199x.*

52
Criteria Between #1/11/9x” And
#30/11/9x#
Click nuùt Run ! ñeå thöïc hieän
Caâu 11: Taïo query khoâng choïn baûng nguoàn
Choïn Append Query , Choïn trong Table Name: San Pham
Field MaSP : TenSP:”Thuoác Dvt: “Caây” Dg:1.5
15 555”
Append MaSP TenSP Donvitinh Dongia
To
Click nuùt Run ! ñeå thöïc hieän
Caâu 12: Add: San Pham
Choïn Update Query
Field DonGia TenSP
Update 1.2
Criteria “Thuoác 555*”
Click nuùt Run ! ñeå thöïc hieän

53
Baøi taäp 4:

Môû file HoaDon.MDB thöïc hieän yeâu caàu sau:


1- Taïo report “Phieáu Saûn Phaåm” töø table “San Pham”, moãi saûn phaåm in ra nhö sau:

2- Taïo report “Doanh Thu SP Quùy 3/199x” baùo caùo soá löôïng vaø tieàn baùn moãi
thaùng cuûa töøng saûn phaåm trong quùy 3 naêm 199x (ví duï 1998) nhö sau:

DOANH THU SAÛN PHAÅM


QUÙY 3 NAÊM 1998

Ngaøy laäp baùo caùo: 12/10/1998


Thaùng 7 Thaùng 8 Thaùng 9
ST Saûn Toång Toång Soá Tieàn Soá Tieàn Soá Tieàn
T Phaåm soá tieàn löôïng löôïng löôïng
1 Röôïu 120 120000 20 20000 30 300000 50 500000
2 Thòt ... ... ... ... ... ... ... ...
Hoäp
... ... ... ... ... ... ... ... ... ...
Coäng Caû Quùy: xxxxxxxx xxxxxx Xxxxxx xxxxxx

Höôùng daãn baøi 6


Caâu 1: Duøng AutoReport:Columnar vôùi baûng nguoàn laø San Pham. Sau ñoù, chuyeån
qua cöûa soå thieát keá, Di chuyeån vaø ñònh daïng caùc control theo hình maãu.
- Cheøn Label, nhaäp tieâu ñeà “Chi Tiet Cua San Pham”
- Cheøn Rectangle ñeø leân Text Box TenSP
- Cheøn ñoái töôïng Image vaø choïn file hình trong thö muïc:
Microsoft Office\ClipArt\Popular\Ribbon.Wmf
Caâu 2: Taïo Query nguoàn cho Report nhö sau:
Add: Hoa Don, Chi Tiet HD, San Pham
Field TenSP Tongso: Tongtien: TienThang7:iif(Month(Ng SLThang7: ... Quy: Nam:
Soluong Soluong* ayLHD)=7,Soluong*Dong iif(Month(NgayLHD .. Datepart(“q”, Year(Ngay
Dongia ia),0) )=7,Soluong, 0) NgayLapHD) LapHD)
Table SPham Hoa Don
Total G. By Sum Sum Sum Sum .. Where Where
Criteria 3 1998
 Taïo Report vôùi Design View vaø Baûng nguoàn laø query treân:
Report Header
DOANH THU SAN PHAM
QUY 3 NAM 199X
Ngaøy Laäp Baùo Caùo: = Date()
Page Header

54
Thaùng 7 Thaùng 8 Thaùng 9
g Soá Tieàn Soá T Soá löôïng Tieàn
n löôïng löôïng ie
à
n
Detail
Ti SLThan TienThan SLThan TienThan SLThang9 TienThang
g7 g7 g8 g8 9
Page Footer
= Page() & “/” & Pages()
Report Footer
( =Sum(s =Sum(Ti =Sum(S =Sum(Ti =Sum(SLTh =Sum(Tien
Ti lthanh7 enthang7 LThang enthang8 ang9) Thang9)
) ) 8) )
- Cheøn ñoái töôïng Image vaø choïn file hình trong thö muïc:Microsoft
Office\ClipArt\Popular\Ribbon.Wmf

Baøi 5:
Môû file HoaDon.mdb thöïc hieän caùc yeâu caàu sau
1- Taïo report “Hoùa Ñôn” daïng Main/SubReport theo maãu sau:

Tr.Taâm Tin Hoïc ÖÙng Duïng Cao Thaéng

2- Taïo report “Keát Quaû Moãi Lôùp” ñeå in keát quaû caùc lôùp, moãi lôùp in caùc thoâng
tin sau:

55
Yeâu caàu:
 Danh saùch ñöôïc xeáp theo thöù töï giaûm cuûa DTB .
 Thoáng keâ toåøng soá hoïc sinh ñoã (TS DAU), hoïc sinh tröôït (TS TRUOUT)
vaø tæ leä phaàn traêm hoïc sinh cuûa lôùp

Höôùng daãn baøi 5:


Caâu 1:
Taïo report chöùa caùc chi tieát hoùa ñôn cho Subreport trong report Hoa Don:
- Taïo Query cho report: Add: Chi tiet HD, San Pham
Fiel MaHD TenSP Dongia Soluong TienHD:Soluong*Dongi
d a
Tabl CTHD San San Pham CTHD
e Pham
- Taïo Report daïng Tabular vôùi baûng nguoàn laø query treân
 Taïo Main Report Hoa Don
- Taïo Query cho Main Report: Add: Hoa Don, Khach Hang, Nhan Vien
Field MaHD TenCty Hoten:Ho & “ “ NgayLapHD Ngaynhanhang TienHD:Soluong
& Ten *Dongia
Table Hoa Khach . Nhan Vien Hoa Don Hoa Don
Don .
Total Group Group Group By Group By Group By Sum
by By
-

56
- Thieát keá Main Report nhö sau:
Detail
= “HOÙA ÑÔN SOÁ “ & MAHD
Ngaøy Laäp HD: NgaylapHD Ngaøy Nhaän Haøng: Ngaynhanhang
KHAÙCH HAØNG: TenCty .
SubReport

TOÅNG SOÁ TIEÀN: = TienHD .


NHAÂN VIEÂN LAÄP HOÙA ÑÔN
HoTen .
- Nhuùng Report chöùa caùc chi tieát hoùa ñôn vaø ñaët thuoäc tính lieân keát:
Link Child Field : MaHD
Link Master Field : MaHD
(Coù theå söû duïng Report Wizard ñeå taïo Report Hoa Don döïa treân 2 Query treân)
Caâu 2:
 Taïo Query “Ket Qua” (neáu chöa) cho report cuûa Subreport goàm thoâng tin: SoBD,
Hoten, Phaùi, Toaùn, Vaên, NN, DTB, XepLoai, Lop.
Trong ñoù:
- DTB theo 3 moân Toaùn, Vaên, NN nhöng Toaùn heä soá 2 cho lôùp coù kyù töï thöù
3 laø A; NN heä soá 2 cho lôùp coù kyù töï thöù 3 laø F, coøn caùc tröôøng hôïp khaùc
laø heä soá 1.
- XepLoai: Gioûi (DTB >= 8); Khaù (6.5 <= DTB<8); T.Binh (5<=DTB<6.5); coøn laïi
laø Tröôït.
Add: Hoc Sinh, Diem
Hoten : Ho & “ “ & Ten Phai:iif(Nu=0, “Nam”, “Nöõ”)
DTB : iif(Mid(Lop,3,1) = “A”, (Toan*2+Van+NN)/4,iif(Mid(Lop,3,1) = “F”,
(Toan+Van+NN*2)/4, (Toan+Van+NN)/3))
XepLoai: iif(DTB>=8, “Gioûi”,iif(DTB>=6.5, “Khaù”,iif(DTB>=5,
“T.Bình”,”Tröôït”)))
 Taïo Query cho Main Report. Add: Lop, query Ket Qua
Fiel Lop GVCN:ChuN HinhGV:H SiSo:SoB TSDau:iif(XepLoai=”Trö TileDau: ...
d hiem inh D ôït”,0,1) TSDau/Si
So
Tota Grou First First Count Sum Expressio ...
l p n
 Söû duïng 2 Query treân ñeå taïo Main/Sub Report treân

57
Baøi 8:
1- Môû file Hoadon.mdb, Taïo report “Doanh Soá SP” in soá löôïng, tieàn baùn töøng saûn
phaåm theo töøng quùy trong naêm.
DOANH THU NAÊM: 199X
SAÛN PHAÅM BAÙN TRONG QUÙY 1
STT TEÂN SP SOÁ LÖÔÏNG TIEÀN BAÙN
1 Röôïu 267 $ 61,543.50
... ....
Doanh Thu Quùy 1: $ 99,852.40
SAÛN PHAÅM BAÙN TRONG QUÙY 2
STT TEÂN SP SOÁ LÖÔÏNG TIEÀN BAÙN
... ....
Doanh Thu Quùy 2: $ 77,8880.44
SAÛN PHAÅM BAÙN TRONG QUÙY 3
STT TEÂN SP SOÁ LÖÔÏNG TIEÀN BAÙN
... ....
Doanh Thu Quùy 3: $ 86,881.56
SAÛN PHAÅM BAÙN TRONG QUÙY 4
STT TEÂN SP SOÁ LÖÔÏNG TIEÀN BAÙN
... ....
Doanh Thu Quùy 4: $ 17,1314.49
DOANH THU CAÛ NAÊM 199X $ 435,928.89
Höôùng daãn baøi 8:
Caâu 1: Taïo Query nguoàn cho Report (Neáu chöùa).Add: Hoa Don, Chi Tiet HD, San Pham
Field Nam:Year(NgayLa Quy:DatePart(“q”,Ngay MaS TenSP Tongso:So TienBan:Solg*Do
pHD) LHD) P lg ngia
Tabl Hoa Don CTH SPha CTHD
e D m
Total Group by G.by G. G. By Sum Sum
By
Duøng Query treân laøm nguoàn, Tao Report treân vôùi maøn hình thieát keá nhö sau:

Nam Header
=“DOANH THU NAÊM “ & NAM
Quy Header
= “SAÛN PHAÅM BAÙN TRONG QUÙY “ & QUY
STT Teân SP Soá Löôïng Tieàn Baùn
Detail
=1 TenSP TongSo TienBan
Quy Footer
= “SAÛN PHAÅM BAÙN TRONG QUÙY “ & QUY =Sum(TienBan)
Nam Footer
= “Doanh Thu Caû Naêm “ & Nam =Sum(TienBan)

Baøi 7:
1- Môû file HoaDon.MDB. Töø table “Chi Tiet HD” haõy taïo Form “Caäp Nhaät CTHD”

58
Trong ñoù:
- Combo Maõ SP chöùa 4 coät: MaSP, TenSP, Donvitinh, Dongia cuûa table San Pham. Vaø
Masp ñöôïc cung caáp döõ lieäu cho MaSP cuûa Table Chi Tiet HD
- Caùc Text Box: Teân saûn phaåm, ñôn vò tính, ñôn giaù ñöôïc truy xuaát töø Combo.
- Text Box Thaønh tieàn ñöôïc tính töø text box ñôn giaù vaø soá löôïng.
2- Môû file QLLUONG.MDB. Taïo Form”Caäp Nhaät NV” duøng caäp nhaät döõ lieäu cho
table BLUONG nhö sau:

- Combo ÑÔN VÒ cung caáp cho Field MADV chöùa 2 coät MADV, TENDV trong table
DONVI.
- Combo MS Ngaïch chöùa danh saùch caùc MSNGACH trong table DMNGACH.
- Combo LOAÏI chöùa danh saùch caùc phaân loaïi chöùc danh (PL) trong table
DMNGACH.
- Combo BAÄC chöùa danh saùch BAC trong table NGACHBAC.

Höôùng daãn baøi 7


Caâu 1: Taïo Form “Caäp Nhaät CTHD”:
 Choïn Design view, choïn baûng nguoàn cho form laø “Chi Tiet HD”
 Vuøng Form Header: Cheøn Label laøm tieâu ñeà Form vaø Text box MAHD
 Vuøng Detail:
- Cheøn Combo box: laáy döõ lieäu töø baûng San Pham, choïn 4 Field: MaSP, TenSP,
Donvitinh, Dongia khoâng daáu vuøng khoùa. Döõ lieäu raøng buoäc laø MaSP. Ñaët
thuoäc tính Name laø MaSP.
- Cheøn caùc Text Box: Soá Löôïng: SoLuong Ñaët thuoäc tính Name laø SL
Teân Saûn Phaåm=Masp.Column(1)
Ñôn vò tính: =MaSP.Column(2)
Ñôn giaù: =MaSP.Column(3) Ñaët thuoäc tính Name laø:
DG

59
Thaønh Tieàn: = SL * DG .
Caâu 2: Taïo Form”Caäp Nhaät NV”:
 Choïn Design view, baûng nguoàn laø Bluong
 Vuøng Form Header: cheøn label nhaäp tieâu ñeà Form
 Vuøng Detail:
- Cheøn Text box cho caùc Field: MaCB, Ten, NTNS, NamXep
- Cheøn Combo box Ñôn vò : laáy döõ lieäu töø baûng DMDONVI, choïn 2 Field: MADV,
TenDV, daáu vuøng khoùa. Döõ lieäu raøng buoäc laø MADV, Löu döõ lieäu vaøo Field
MADV cuûa Table “Nhan Vien”.
- Cheøn Options Group: Nhaäp 2 Label Nam, Nu; Choïn giaù trò (Value) Nam laø 0, Nu laø
1; Löu giaù trò cho Field NU cuûa table Nhan Vien.
- Cheøn 2 Check Box cho Field NN (Nöôùc Ngoaøi) vaø TapThe.
- Cheøn Combo box Maõ Ngaïch : laáy döõ lieäu töø baûng DMNgach, choïn 1 Field:
MSNgach, Löu döõ lieäu vaøo Field MSNgach cuûa Table “Nhan Vien”.
- Cheøn Combo box Loai : laáy döõ lieäu töø baûng DMNgach, choïn 1 Field: PL, Löu döõ
lieäu vaøo Field PL cuûa Table “Nhan Vien”.
- Cheøn Combo box BAC : laáy döõ lieäu töø baûng NgachBac, choïn 1 Field: Bac, Löu döõ
lieäu vaøo Field Bac cuûa Table “Nhan Vien”.
Ñeå Combo khoâng hieän nhöõng giaù trò truøng nhau:Môû cöûa soå thuoäc tính cuûa
ComboðClick choïn thuoäc tính Row Sourceðclick nuùt ... chuyeån sang maøn hình thieát
keá queryðÑaët thuoäc tính Unique Value cuûa query laø YesðÑoùng query vaø choïn Yes.
- Cheøn Rectangle bao caùc Combo treân

60
Baøi 8:
Môû file HoaDon.mdb thieát keá caùc Form sau:
1- Taïo Form Danh Muc San
Pham cho pheùp xem, caäp
nhaät saûn phaåm.
Yeâu caàu:
 Combo Ñôn vò tính chöùa
caùc ñôn vò nhö: Thuøng,
Chai, Kg...
 Khi click nuùt Theâm thì
hieän Form troáng cho
nhaäp maãu tin môùi.
 Khi click nuùt Löu thì löu
maãu tin vaøo table
 Khi click nuùt Khoâng löu thì xoùa boû nhöõng gì vöøa nhaäp cho maãu tin.
 Khi Click nuùt Xoùa thì xoùa maãu tin hieän haønh.
 Khi click nuùt Tröôùc | Sau thì chuyeån sang maãu tin keá.
 Khi click nuùt Ñoùng thì ñoùng Form.
2- Taïo theâm 2 Form “TT Nhaân Vieân” vaø “TT Khaùch” duøng caäp nhaät döõ lieäu cho
table Nhaân vieân vaø Khaùch haøng coù hình thöùc trình baøy nhö Form Danh Muc San
Pham.
3- Taïo form Cap Nhat Hoa Don duøng xem, söûa vaø theâm hoùa ñôn môùi.

Yeâu caàu:
 Combo Maõ Khaùch chöùa MaKH, TenCty cuûa Table Khach Hang duøng cung caáp
MaKh cho table Hoa Don
 Combo Maõ Nhaân Vieân chöùa MaNV, Ho, Ten cuûa Table Nhan Vien duøng cung
caáp MaNV cho table Hoa Don.
 Text box Teân Cty vaø Hoï Teân NV truy xuaát döõ lieäu töø 2 combo treân
 Ñoái töôïng SubForm chöùa Form “Caäp Nhaät CTHD” ñaõ taïo ôû caâu 1
 Text Box Tieàn phaûi traû chöùa toång tieàn caùc doøng chi tieát cuûa hoùa ñôn.
 Khi click nuùt Tröôùùc (Sau) hieän record keà tröôùc (sau) record hieän haønh. Click
nuùt ÑAÀU (CUOÁI) hieän record ñaàu tieân (cuoái cuøng). Click nuùt THEÂM thì
chuyeån ñeán maãu tin môùi
 Click nuùt LÖU thì löu maãu tin môùi vaøo ñiaõ. Click nuùt PHUÏC HOÀI thì phuïc
hoài döõ lieäu tröôùc ñoù cho Form. Click nuùt XOÙA thì xoùa hoùa ñôn hieän haønh
 Khi click nuùt TT KHAÙCH (TT Nhaân Vieân) thì môû Form vaø hieän maãu tin
coù maõ soá töông öùng vôùi maõ ñöôïc choïn trong Combo.

61
 Click nuùt In HOÙA ÑÔN thì môû Report HOA DON ôû cheá ñoä Print Preview.

Höôùng daãn baøi 8


1- Taïo Form Danh Muc San Pham cho pheùp xem, caäp nhaät saûn phaåm.
 Choïn AutoForm:Columnar, baûng nguoàn laø San Pham
 Theâm vuøng Form Header, Cheøn Label nhaäp tieâu ñeà Form
 Vuøng Detail:
- Neáu oâ nhaäp cho Field DonViTinh laø Text Box thì xoùa vaø thay baèng Combo Box
chöùa giaù trò töï nhaäp: Bao, Caùi, Chai, Kg, Thuøng; Löu giaù trò cho field Donvitinh
cuûa table San Pham.
- Cheøn caùc nuùt leänh: Choïn Control Wizard (Neáu chöa), laàn löôït cheøn Command
Button
+ Löu : Choïn Record Operations, Choïn Save Record
+ Phuïc Hoài: Choïn Record Operations, Choïn Undo Record
+ Tröôùc: Choïn Record Navigation, Choïn Go to Previous Record
+ Sau: Choïn Record Navigation, Choïn Go to Next Record
+ Theâm: Choïn Record Operations, Choïn Add New Record
+ Xoùa: Choïn Record Operations, Choïn Delete Record
+ Ñoùng: Choïn Form Operations, Choïn Close Form.
2- Taïo theâm 2 Form “TT Nhaân Vieân” vaø “TT Khaùch” töông töï nhö caâu 1
3- Taïo form Cap Nhat Hoa Don:
 Choïn Design view, baûng nguoàn laø Hoa Don
 Vuøng Form Header: Cheøn Label laøm tieâu ñeà Form vaø Text box MAHD ñaët Name
laø MaHD
 Vuøng Detail:
- Cheøn Combo Maõ Khaùch: laáy döõ lieäu töø baûng Khach Hang, choïn 2 Field: MaKH,
TenCTy khoâng daáu vuøng khoùa. Döõ lieäu raøng buoäc laø MaKH. , Löu döõ lieäu
vaøo Field MaKH cuûa Table “Hoa Don”. Ñaët thuoäc tính Name laø MaKH.
- Cheøn Text Box Teân Cty: =Makh.Column(1)
- Cheøn Combo Maõ Nhaân Vieân: laáy döõ lieäu töø baûng Nhan Vien, choïn 3 Field:
MaNV, Ho, Ten khoâng daáu vuøng khoùa. Döõ lieäu raøng buoäc laø MaNV. , Löu döõ
lieäu vaøo Field MaNV cuûa Table “Hoa Don”. Ñaët thuoäc tính Name laø MaNV.
- Cheøn Text Box Hoï Teân NV: =Manv.Column(1) & “ “ & Manv.Column(2)
- Cheøn SubForm|SubReport, khai baùo thuoäc tính:
+ Source Object: Cap Nhat CTHD
+ Link child Fields: MaHD
+ Link Master Fields: MaHD
- Löu Form vôùi teân “Cap Nhat Hoa Don”
- Cheøn Text Box Tieàn phaûi traû: =Dsum(“Soluong*Dongia”,”Tong Hop CTHD”,
“MaHD=”Forms![Cap Nhat Hoa Don]!MaHD”)
- Cheøn caùc nuùt leänh: Choïn Control Wizard (Neáu chöa), laàn löôït cheøn Command
Button
TT Khach : Choïn Form Operations, choïn Open Form, Choïn teân Form “TT Khaùch”, Choïn
Field ñieàu kieän MaKH <==> MaKH.
TT Nhan Vien : Choïn Form Operations, choïn Open Form, Choïn teân Form “TT Nhan Vien”,
Choïn Field ñieàu kieän MaNV <==> MaNV.
Ñaàu : Choïn Record Navigation, Choïn Go to First Record
Cuoái : Choïn Record Navigation, roài choïn Go to Last Record
In Hoùa Ñôn : Choïn Form Operations, roài choïn Print Current Form
Ñaët thuoäc tính Display When cho caùc nuùt leänh laø Screen Only (chæ hieån thò treân
maøn hình)

62
Baøi 9:
1- Taïo Form THONG KE DSO San Pham Theo Nam duøng xem tình hình buoân baùn
cuûa töøng saûn phaåm trong töøng quùy cuûa 1 naêm nhö sau:

 Combo Naêm thoáng keâ chöùa caùc naêm laäp hoùa ñôn trong table HOA DON vaø
cho pheùp theâm naêm khoâng coù trong danh saùch.
 List Box Saûn phaåm lieät keâ teân caùc saûn phaåm.
 Khi choïn Naêm vaø saûn phaåm thì hieän tieàn töøng quùy vaø toång tieàn trong
SubForm.
2- Taïo Form DS Nhan vien Trong Nam, ñeå xem doanh soá cuûa töøng nhaân vieân trong
töøng naêm.
 Combo Naêm lieät keâ caùc naêm laäp hoùa ñôn trong table Hoa Don.
 Combo Choïn Nhaân vieân lieät keâ MANV, Hoï Teân NV. Khi choïn 1 nhaân vieân
thì hieän hoï teân nhaân vieân trong textbox.
 Khi choïn naêm vaø Maõ nhaân vieân thì hieän danh saùch caùc saûn phaåm maø
nhaân vieân ñoù ñaõ baùn trong naêm, cuøng doanh thu cuûa töøng saûn phaåm trong
töøng quùy.
 Khi click nuùt Thoâng Tin Nhaân Vieân thì môû Form Thoâng Tin Nhaân Vieân

Höôùng daãn baøi 9


Caâu 1:
 Tröôùc tieân, Taïo Form “DSSP Tung Quy Trong Nam” lieät keâ doanh thu saûn phaåm
töøng Quùy vaø caû naêm nhö maãu.
Query nguoàn cuûa Form nhö sau:
Field TenSP Quy:”Quy “ & Giatri: Tongtien: Nam:
DatePart(“q”,NgayLHD) Soluong*Don Soluong*Don Year(NgayLapHD)
gia gia

63
Table CTHD Hoa Don
Total G. By G.by Sum Sum First
Crosstab Row Column Heading Value Row Heading Row Heading
Ñaët thuoäc tính Column Heading cuûa query laø: Quy 1; Quy 2; Quy 3; Quy 4
Ñaët thuoäc tính Default View cho Form laø: Single Form.
 Tieáp theo tieán haønh taïo Main Form (khoâng choïn döõ lieäu nguoàn) nhö sau:
- Töï taïo Combo coù 1 coät ñeå choïn naêm thoáng keâ trong Query nguoàn nhö sau:
Add: Hoa Don (Ñaët thuoäc tính Unique Value: Yes)
Field NamHD:Year(NgayLapHD)
Table Hoa Don
Ñaïêt teân cho combo laø NamTK
- Taïo List Box chöùa 1 coät teân saûn phaåm trong table San Pham. Ñaët teân List Box laø
SP.
- Nhuùng Form “DSSP Tung Quy Trong Nam” vaøo Main Form vaø chænh Properties cuûa
ñoái töôïng SubForm: Link Child Field : Nam, TenSP
Link Master Field : NamTK, SP
Caâu 2:
 Tröôùc tieân, Taïo 2 Form nhuùng vaøo Main Form nhö hình maãu:
+ Form 1: lieät keâ doanh thu töøng Quùy vaø caû naêm cuûa nhaân vieân
Query nguoàn cuûa Form 1 nhö sau:
Add : Hoa Don, Chi tiet HD, San Pham, Nhan Vien
Field MaNV Quy:”Quy “ & Giatri: Tongtien: Nam: Hinh:Hin
DatePart(“q”,NgayL Soluong*Do Soluong*Don Year(NgayLap h
HD) ngia gia HD)
Table Hoa Hoa Don Nhan
Don Vien
Total G. By G.by Sum Sum First First
Crossta Row Column Heading Value Row Heading Row Heading Row
b H..
Ñaët thuoäc tính Column Heading cuûa query laø: Quy 1; Quy 2; Quy 3; Quy 4
Ñaët thuoäc tính Default View cho Form laø: Single Form.
+ Form 2: lieät keâ doanh thu saûn phaåm töøng Quùy cuûa nhaân vieân.
Query nguoàn cuûa Form 2 nhö sau: Add: Hoa Don, Chi Tiet HD, San Pham
Field MaNV SP:TenSP Giatri:Soluong*Dongi Nam:
a Year(NgayLapHD)
Table CTHD San Pham Hoa Don
Total G. By G.by Sum First
Crossta Row H.. Column H Value Row Heading
b
Ñaët thuoäc tính Column Heading cuûa query chöùa teân caùc Saûn phaåm.
Ñaët thuoäc tính Default View cho Form laø: DataSheet.
 Tieáp theo tieán haønh taïo Main Form (khoâng choïn döõ lieäu nguoàn) nhö sau:
- Töï taïo Combo coù 1 coät ñeå choïn naêm thoáng keâ trong Query nguoàn nhö sau:
Add: Hoa Don (Ñaët thuoäc tính query Unique Value: Yes)
Field NamHD:Year(NgayLapHD)
Table Hoa Don
Ñaët teân cho combo laø NamTK
- 2Taïo combo Box chöùa 3 coät: MaNV, Ho, Ten trong table Nhan Vien. Ñaët teân List
Box laø cbNV.
- Cheøn Text box, nhaäp coâng thöùc: = cbNV.Column(1) & “ “ & cbNV.Column(2)

64
- Nhuùng Form 1 vaø Form 2 vaøo Main Form vaø chænh Properties cuûa caùc ñoái töôïng
SubForm: Link Child Field : Nam, MaNV
Link Master Field : NamTK, cbNV
- Ñaët thuoäc tính Name cuûa SubForm 1 (chöùa Form 1) laø : Sub1
- Cheøn ñoái töôïng Bound Object Frame vaø nhaäp coâng thöùc: =Sub1.Form!Hinh
- Cheøn caùc nuùt leänh: Choïn Control Wizard (Neáu chöa), laàn löôït cheøn Command
Button
Thong Tin Nhan Vien : Choïn Form Operations, choïn Open Form, Choïn teân Form “TT
Nhan Vien”, Choïn Field raøng buoäc MaNV <==> MaNV.
Thoat : Choïn Form Operations, Choïn Close Form.

65
Baøi 10:
Môû file HoaDon.Mdb.
1- Taïo form Xem HDSP. Duøng baùo caùo thoâng tin caùc hoùa ñôn ñaõ laäp cho saûn
phaåm trong 1 khoaûng thôøi gian ñöôïc nhaäp trong form

Yeâu caàu:Khi nhaäp giaù trò vaøo 2 oâ Töø Ngaøy, Ñeán ngaøy, choïn teân saûn phaåm vaø
click nuùt DONG Y thì môû report Hoa Don Theo San Pham ôû cheá ñoä Preview, lieät keâ
caùc hoùa ñôn ñaõ laäp cho saûn phaåm trong khoaûng thôøi gian ñaõ nhaäp nhö sau:
BAÛNG KEÂ CAÙC HOÙA ÑÔN ÑAÕ LAÄP
Töø ngaøy : 01/01/98 Ñeán ngaøy: 01/02/98
Cho saûn Phaåøm : Caù Hoäp Ñôn giaù ï: 8/hoäp
STT MAHD NGAØY TEÂN CTY SOÁLÖÔÏ THAØNH
LAÄP HD NG TIEÀN
1 10166 13/01/98 Tr.Taâm Tin Hoïc ÖÙng Duïng Cao 30 $123.00
Thaéng
2 ...
... ...
TOÅNG COÄNG XXXXXXX XXXXXXXX
2- Taïo FORM “Xem HD” goàm 2 trang nhö sau:
 Trang ñaàu cho xem danh saùch hoùa ñôn cuûa khaùch, vaø chi tieát cuûa 1 hoùa ñôn
 Trang sau, cho xem thoâng tin veà khaùch haøng ñöôïc choïn ôû trang ñaàu.

66
Höôùng daãn baøi 10:
Caâu 1:
B1) Taïo Form vôùi Design View khoâng choïn baûng döõ lieäu nguoàn
- Cheøn Rectangle control
- Cheøn Label nhaäp tieâu ñeà: Nhaäp Khoaûng Thôøi Gian Xem Hoùa Ñôn
- Cheøn Text box thöù nhaát, chænh thuoäc tính Name : NgayBD.
- Cheøn Text box thöù hai, Chænh thuoäc tính Name: NgayKT
- Cheøn List Box chöùa coät TenSP trong Table San Pham, ñaët Name: SP
B2) Löu Form vôùi teân “Xem HDSP”
B3) Môû form ôû cheá ñoä Form View, Nhaäp ngaøy (theo ñuùng qui ñònh), choïn 1 saûn
phaåm.
B4) Sau ñoù chuyeån sang taïo query nguoàn cho report, goàm caùc Fields: MaHD,
NgaylapHD, TenCty, TenSP, Donvitinh, Soluong, Dongia, Thanhtien. Trong ñoù coät:
Field NgayLapHD TenSP
Criteri Between Forms![Xem HDSP]![NgayBD] And Forms![Xem Forms![Xem HDSP]!
a HDSP]![NgayKT] [SP]
Chaïy kieåm tra, Löu vaø ñoùng Query
Chuù yù:phaûi thöïc hieän B3 tröôùc khi chaïy kieåm tra Query
B5) Taïo Report baèng Design view vôùi baûng nguoàn laø query vöøa taïo. Trong ñoù:
 Vuøng Report Header chöùa caùc ñoái töôïng:
- Text Box nhaõn töù ngaøy, nhaäp coâng thöùc: = Forms![Xem HDSP]![NgayBD]
- Text Box coù nhaõn ñeán ngaøy, nhaäp coâng thöùc: =Forms![Xem HDSP]![NgayKT]
- Text Box coù nhaõn Cho saûn phaåm coù coâng thöùc : = TenSP
- Text Box coù nhaõn ñôn giaù coù coâng thöùc : = Dongia & “/” & Donvitinh
- Doøng tieâu ñeà caùc coät
 Vuøng Detail chöùa caùc Text Box ñaùnh soá thöù töï vaø caùc text box chöùa caùc Field
caàn hieån thò.
 Vuøng Report Footer chöùa 2 Text Box: =Sum(Soluong) vaø = Sum(ThanhTien)
Môû report ôû cheá ñoä Preview ñeå kieåm tra, Löu vaø ñoùng Report
Chuù yù:phaûi thöïc hieän B3 tröôùc khi chaïy kieåm tra Report
B6) Môû form “Xem HDSP” ôû maøn hình design.
- Cheøn nuùt leänh, choïn Report Operations vaø Preview Report, Choïn teân Report vöøa
taïo. Ñaët nhaõn nuùt laø DONG Y
- Cheøn nuùt leänh, choïn Form Operations vaø Close Form. Ñaët nhaõn nuùt laø Thoat
Caâu 2:
 Taïo Form 1 cho subform1 chöùa danh saùch caùc hoùa ñôn
- Taïo Query cho Form 1: Add: Hoa don, Chi tiet hd, San pham, Nhan vien
Field MaHD MaKH MaNV NgayLap NgayNhaTienHD:Soluong Ho Ten
HD n *Dongia
Table Hoa Hoa Don Hoa Don Hoa Don Hoa Don Nhan Nhan
Don vien vien
Total Group Group Group Group By Group Sum Group Group
By By By By By by
- Taïo Form 1daïng data sheet goàm: MaHD, NgayLapHD, NgayNhanHang, TienHÑ.
 Taïo Form 2 cho subform 2 chöùa caùc chi tieát hoùa ñôn

- Taïo query cho Form 2. Add: Chi Tiet HD, San Pham

Field MaHD TenSP Dongia Soluong TienCT:Soluong*D

67
ongia
Table Chi tiet San San Pham Chi tiet HD
HD Pham
- Taïo Form 2 daïng datasheet goàm: TenSP, Dongia, Soluong, TienCT
 Taïo Main Form vôùi Design View khoâng choïn baûng döõ lieäu nguoàn
- Cheøn Tab control.
- Cheøn Combo box vaøo Page 1 chöùa taát caû caùc Fields trong Table Khach Hang,
khoâng aån coät khoùa, chæ cho hieän 2 coät MaKH, TenCty caùc coät khaùc ñeàu cho aån
vaø Coät ñöôïc söû duïng laø coät MaKh. Ñaët Name laø cbMAKH
- Taïo Text box chöùa teân coâng ty, nhaäp coâng thöùc = cbMaKH.Column(1)
- Nhuùng Form 1 vaøo Page 1, chænh kích thöôùc vaø khai baùo thuoäc tính cho SubForm 1
+ Name: Sub1
+ Link child fields: MaKH
+ Link master fields: cbMaKH
- Cheøn text box, nhaäp coâng thöùc =”THOÂNG TIN HOÙA ÑÔN “ & Sub1.Form.MaHD
- Cheøn text box, hieän teân nhaân vieân laäp hoùa ñôn, nhaäp coâng thöùc:
=Sub1.Form.Ho & “ “ & Sub1.Form.Ten
- Cheøn text box, chöùa maõ hoùa ñôn ñöôïc choïn trong Subform1, duøng lieân keát vôùi
SubForm 2. Nhaäp coâng thöùc = Sub1.Form.MaHD vaø ñaët thuoäc tính
+ Name : MaHDSub1
+ Visible: NO (khoâng hieän)
- Nhuùng Form 2 vaøo Page 1, chænh kích thöôùc vaø khai baùo thuoäc tính cho SubForm 2
+ Name: Sub2
+ Link child fields: MaHD
+ Link master fields: MaHDSub1
- Cheøn Rectangle control bao quanh Subform 2 vaø ñònh daïng nhö hình maãu.
- Ñaët tieâu ñeà trang cho Page 1
+ Caption: HOA DON KHACH
+ Picture: Baám nuùt … vaø choïn hình “Address Book”
 Chuyeån sang Page 2 vaø cheøn caùc Text box hieån thò thoâng tin cuûa khaùch haøng
döïa vaøo Combo cbMaKH.
Maõ Khaùch = cbMaKH
Teân coâng ty =cbMaKH.Column(1)
Ñòa chæ =cbMaKH.Column(2)
Thaønh Phoá =cbMaKH.Column(3)
Ñieän thoaïi =cbMaKH.Column(4)
- Ñaët tieâu ñeà trang cho Page 2
+ Caption: THOÂNG TIN KHACH
+ Picture: Baám nuùt … vaø choïn hình “Edit Document”

68
5.2 . Baøi thieát keá (GV chaám ñieåm)
5.2.1 Tình huoáng 1
Thí sinh ñöôïc giao cô sôû döõ lieäu THUVIEN.MDB ñeå quaûn lyù thö vieän goàm caùc
table sau:
The Loai Sach (Löu tröõ caùc theå loaïi saùch)
Teân Field Data Type Dieãn giaûi
MaLoai AutoNumber Maõ theå loaïi saùch (Khoùa)
TenLoai Text Teân theå loaïi saùch
Danh Muc Sach (Löu tröõ danh muïc caùc ñaàu saùch trong thö vieän)
Teân Field Data Type Dieãn giaûi
MaSach AutoNumber Maõ ñaàu saùch (Khoùa)
MaLoai Number(Long Integer) Maõ theå loaïi saùch
TenSach Text Teân ñaàu saùch
NhaXB Text Teân Nhaø xuaát baûn
NamXB Number(integer) Naêm xuaát baûn
Doc Gia (Danh saùch ñoïc giaû)
Teân Field Data Type Dieãn giaûi
MaDG AutoNumber Maõ ñoïc giaû (Khoùa)
TenDG Text Teân ñoïc giaû
DiaChi Text Ñòa chæ
Phieu Muon (Löu caùc phieáu möôïn saùch)
Teân Field Data Type Dieãn giaûi
MaDG Number(Long integer) Maõ ñoïc giaû
MaSach Number Maõ saùch
NgayMuon Date|Time Ngaøy möôïn
NgayTra Date|Time Ngaøy traû
1- Ñaët khoùa cho caùc table theo dieãn giaûi vaø thieát laäp quan heä One-Many giöõa caùc
Table:
The Loai Sach(MaLoai) Danh Muc Sach (MaLoai)
Danh Muc Sach(MaSach) Phieu Muon(Masach)
Doc Gia(MaDG) Phieu Muon(MaDG)
2- Taïo caùc Query sau:
a) Query1: Cho bieát Maõ saùch, teân saùch ñöôïc möôïn nhieáu nhaát.
b) Query2: Lieät keâ Maõ ñoïc giaû, teân ñoïc giaû, ñòa chæ, Ngaøy möôïn cuûa nhöõng ñoïc
giaû möôïn saùch quaù 15 ngaøy chöa traû (Keå töø ngaøy 1 thaùng 3 naêm 1997)
c) Query3: Ñeám soá löôïng ñaàu saùch ñaõ cho möôïn theo töøng theå loaïi
d) Query4: Cho bieát Maõ saùch, Maõ loaïi saùch, teân saùch cuûa nhöõng saùch chöa coù ai
möôïn. Saép xeáp
theo Maõ theå loaïi
saùch.

3- Taïo caùc bieåu maãu


(Form) The Loai Sach:
Daïng Main|SubForm
ñeå duyeät vaø nhaäp
danh muïc saùch theo
töøng theå loaïi saùch:
4- Taïo caùc baùo caùo
(Report) Danh Muc
Dau Sach ñeå xuaát caùc keát quaû sau danh muïc ñaàu saùch ñöôïc nhoùm theo töøng theå
loaïi, trong töøng theå loaïi in theo töøng naêm xuaát baûn. Yeâu caàu:

69
- Ñaùnh soá thöù töï töøng theå loaïivaø soá thöù töï ñaàu saùch trong töøng naêm
xuaát baûn
- Cuoái moãi theå loaïi coù ghi toång soá ñaàu saùch
- Cuoái baùo caùo coù ghi toång soá theå loaïi vaø toång soá ñaàu saùch cuûa thö
vieän.

5- Taïo Form Maøn Hình Chuyeån Tieáp chöùa caùc nuùt leänh cho pheùp
 Môû Form The Loai Sach
 Môû report Danh Muc Dau Sach ôû maøn hình Preview
 Môû report Chua Tra Sach, ôû maøn hình Preview, in danh saùch caùc ñoïc giaû möôïn
saùch chöa traû quaù 10 ngaøy tính töø ngaøy ñöôïc nhaäp trong Text Box coù nhaõn
“Thôøi Ñieåm Kieåm Tra”. Report coù daïng Tabular goàm caùc thoâng tin: TenDG,
DiaChi, TenSach, NgayMuon.

5.2.2 .Tình huoáng 2

70
Haõy xaây döïng moät CSDL treân moâ hình quan heä cho baøi toaùn quaûn lyù sieâu thò
döïa treân caùc moâ taû vaø caùc quy taéc nhö sau:
a) Sieâu thò chia thaønh nhieàu khu vöïc, moãi khu vöïc ñöôïc ñaùnh 1 maõ soá vaø coù 1
teân, chuyeân baùn 1 loaïi maët haøng naøo ñoù,coù 1 ngöôøi quaûn lyù vaø nhieàu
nhaân vieân laøm vieäc trong khu vöïc ñoù.
b) Caùc nhaân vieân laøm vieäc ñöôïc löu tröõ caùc thaønh phaàn: Msnv, hoï teân, ngaøy
sinh, ñòa chæ, ngaøy vaøo laøm vieäc, vaø khu vöïc maø nhaân vieân ñoù tröïc thuoäc.
c) Moãi maët haøng trong sieâu thò coù theå cung caáp bôûi nhieàu nhaø cung öùng. Moãi
nhaø cung öùng caàn löu teân coâng ty, ñòa chæ, soá phone, soá fax vaø caùc maët
haøng maø nhaø cung öùng ñoù cung caáp.
d) Moãi khaùch haøng mua haøng thì choïn löïa haøng vaø sau ñoù ñeán quaày tính tieàn.
ÔÛ quaày tính tieàn seõ in ra 1 bill goàm soá hoùa ñôn, ngaøy laäp hoùa ñôn, teân
khaùch mua, vaø danh saùch caùc maët haøng mua keøm theo ñôn giaù baùn.
e) Ñoái vôùi khaùch haøng mua só thì phaûi löu tröõ laïi hoï teân khaùch, ñòa chæ, soá
phone, soá fax.

Caâu hoûi : Lieät keâ caùc quan heä caàn quaûn lyù treân:

71
5.2.3 .Tình huoáng 3
Thu Thaäp Thoâng Tin
Quaûn Lyù Saùch Vaø Ñoïc Giaû
taïi thö vieän Khoa Hoïc Toång Hôïp TP HCM.
Phaàn 1 – Moâ Taû
I. Giôùi thieäu thö vieän:
Thö vieän Khoa Hoïc Toång Hôïp TP HCM toaï laïc ngay taïi Trung taâm thaønh phoá,
soá 69 Lyù Töï Troïng – Quaän 1. Thö vieän coù treân 1 trieäu saùch baùo caùc loaïi. Ñoïc
giaû coù theå möôïn ñoïc taïi choã hoaëc möôïn veà. Soá löôïng ñoïc giaû nhieàu vaø ña daïng.
Muïc ñích cuûa thö vieän laø hoaøn thieän khaâu quaûn lyù saùch baùo; quaûn lyù ñoïc
giaû, phuïc vuï vieäc möôïn vaø traû saùch nhanh goïn vaø chính xaùc.
Phaân caáp quaûn lyù theo töøng boä phaän:
- Ban giaùm ñoác: chòu traùch nhieäm ñieàu haønh chung cho toøan boä caùc coâng taùc
trong thö vieän.
- Phoøng boå sung: coù traùch nhieäm caäp nhaät soá saùch baùo vaø cho maõ soá danh
muïc saùch caùc loaïi.
- Phoøng thö muïc: coù traùch nhieäm caäp nhaät soá saùch ñaõ ñöôïc boå sung, huûy
boû caùc saùch ñeán thôøi ñieåm thanh lyù vaøo trong danh muïc thö vieän.
- Phoøng baïn ñoïc: coù traùch nhieäm caáp theû ñoïc giaû vaø huûy boû caùc ñoïc giaû
ñaõ quaù haïn ñaêng kyù boå sung.
- Phoøng ñoùng saùch: coù traùch nhieäm boïc saùch môùi vaø baûo trì saùch cuõ.
- Phoøng nghieäp vuï: coù traùch nhieäm raø xeùt, thoâng keâ saùch ñeå ñöa ra caùc
phöông aùn quaûn lyù toát.
- Phoøng haønh chaùnh: Quaûn lyù caùc coâng taùc chung veà nhaân söï vaø toå chöùc
cuûa cô quan.
II. Qui Trình Quaûn Lyù Saùch Taïi Thö Vieän:
1- Ñoái vôùi coâng vieäc nhaäp saùch:
Moãi khi coù boå sung saùch môùi, phoøng boå sung coù traùch nhieäm raø xeùt xem
caùc ñaàu saùch ñoù ñaõ coù hay chöa. Neáu chöa coù, seõ tieán haønh laäp phieáu quaûn lyù
saùch vaø cho maõ soá môùi. Neáu ñaõ coù roài thì tieán haønh caäp nhaät theâm soá löôïng.
Maõ saùch goàm 10 kyù töï vaø ñöôïc qui ñònh nhö sau:
- 2 kyù töï ñaàu bieåu thò maõ ngaønh lôùn. Ví duï: ngaønh Y hoïc laø “YH”
- 2 kyù töï keá bieåu thò maõ ngaønh nhoû. Ví duï: “NO” (Noäi khoa); NH (Nhi khoa)…
- 4 kyù töï keá tieáp bieåu thò soá thöù töï cuûa saùch trong ngaønh nhoû. Ví duï: “0001”
- Neáu saùch coù nhieàu taäp thì 2 kyù töï cuoái cuøng laø soá thöù töï taäp, ngöôïc laïi 2
kyù töï cuoái laø “00”.
Ví duï: “YHNO001202” laø maõ cuûa saùch ngaønh Y hoïc, noäi khoa quyeån thöù 13 vôùi
taäp 2.
Maãu phieáu quaûn lyù saùch ñöôïc laäp nhö sau:
Thö vieän Toång Hôïp Phieáu Quaûn Lyù Saùch
Thaønh phoá Hoà Chí Minh Maõ soá saùch: ..............................
Teân saùch:......................................................................................................
Taäp: Soá trang:.....................
Soá löôïng:................................Naêm xuaát baûn:..........................................
Maõ ngoân ngöõ:......................Ngoân ngöõ:..................................................
Maõ nhaø xuaát baûn:...............Nhaø xuaát baûn:...........................................
Maõ ngaønh:.............................Teân Ngaønh:................................................
Maõ ngaønh nhoû:....................Teân ngaønh nhoû:........................................
Maõ taùc giaû:..........................Taùc giaû:......................................................
Maõ vò trí:......................Khu:......................Keä:............Ngaên:...................
Phoøng thö muïc caên cöù vaøo phieáu ñeå caäp nhaät vaøo danh muïc saùch

72
cuûa thö vieän.
2- Nhaän ñoïc giaû môùi:
Khi coù ñoäïc giaû ñeán ñaêng kyù laøm theû. Phoøng phuïc vuï baïn ñoïc phaùt maãu
ñaêng kyù cho ñoäïc giaû:
Thö vieän Toång Hôïp
Thaønh phoá Hoà Chí Minh
Phieáu Ñaêng Kyù
Hoï vaø teân:.....................................................Naêm sinh:...................
Ñòa chæ thöôøng truù:............................................................................
Ngheà nghieäp:........................................................................................
Hieän coâng taùc taïi:..............................................................................
Ngaøy ñaêng kyù:...................................................................................
Xaùc nhaän cuûa cô quan

Sau khi ñaêng kyù, ñoâïc giaû seõ ñöôïc caáp 1 theû ñoâïc giaû nhö maãu sau:

Thö vieän Toång Hôïp


Thaønh phoá Hoà Chí Minh
Theû Ñoïc Giaû
Soá :..............
Hoï vaø teân:...........................................................................................
Ngheà nghieäp:........................................................................................
Nôi coâng taùc:.......................................................................................
Ngaøy…..thaùng…naêm
…………
Tröôûng phoøng coâng taùc baïn ñoïc
3- Qui trình möôïn saùch:
Khi ñoâïc giaû ñeán möôïn saùch, seõ gôûi theû ñoâïc giaû taïi baøn kieåm tra vaø
ñöôïc caáp 1 phieáu kieåm tra coù ñieàn soá theû ñoâïc giaû. Coù phieáu naøy ñoâïc giaû môùi
ñöôïc vaøo phoøng ñoïc saùch.
Ñoâïc giaû choïn saùch caàn möôïn caên cöù vaøo danh muïc saùch vaø ñieàn vaøo
phieáu möôïn saùch nhö maãu sau:

Thö vieän Toång Hôïp


Thaønh phoá Hoà Chí Minh
Phieáu Möôïn Saùch
Soá theû:................................Soá phieáu möôïn:.....................
Hoï vaø teân:.............................................................................
Ngheà nghieäp:.........................................................................
Ñòa chæ:...................................................................................
Cô quan:....................................................................................
Theå thöùc möôïn:....................................................................

Maõ soá saùch Teân saùch Taùc giaû Maõ soá phaân loaïi

Ngaøy…..thaùng…naêm …………

Nhaân vieân thö vieän caên cöù vaøo phieáu naøy ñeå laáy saùch vaø caäp nhaät vaøo
trong danh saùch ñoïc giaû möôïn saùch trong ngaøy ñoù.
Ñoái vôùi ñoïc giaû möôïn saùch veà nhaø maø vöôït thôøi gian cho pheùp thì boä
phaän cho möôïn taïi phoøng ñoïc seõ tieán haønh gôûi giaáy baùo thu hoài nhö maãu sau:

Thö vieän Toång Hôïp

73
Thaønh phoá Hoà Chí Minh

Giaáy Baùo Möôïn Saùch Quaù Haïn


Kính gôûi:.................................................................................
Ñòa chæ: ..................................................................................
Chuùng toâi thoâng baùo ñeán quùy Oâng/Baø ñaõ möôïn
cuûa thö vieän chuùng toâi nhöõng quyeån saùch:

Maõ soá saùch Teân saùch Taùc giaû Maõ soá phaân loaïi

Ñeán hoâm nay ñaõ quaù haïn:.................................................


Vaäy xin thoâng baùo Oâng/Baø vui loøng ñem saùch ñeán traû.
Xin OÂâng/Baø mang theo soá tieàn:..............ñeå traû phí saùch treå.
Ngaøy…..thaùng…naêm …………
4- Baùo caùo thoáng keâ:
Phoøng baïn ñoïc ngoaøi vieäc cho möôïn saùch coøn phaûi thoáng keâ soá ñoïc giaû
theo thôøi gian chæ ñònh töø ñoù naém ñöôïc soá ñoïc giaû trong kyø vaø soå saùch ñaõ
möôïn.
Baùo caùo soá ñoïc giaû trong kyø
Thö vieän Toång Hôïp BAÙO CAÙO TÌNH HÌNH ÑOÏC GIAÛ
Thaønh phoá Hoà Chí Minh Töø ngaøy: ñeán ngaøy:
Maõ Ñoïc Giaû Hoï Teân Ñòa Chæ Soá saùch Möôïn

Ngaøy…..thaùng…naêm …………
Baùo caùo soá laàn möôïn cuûa töøng saùch:
Thö vieän Toång Hôïp BAÙO CAÙO TÌNH HÌNH ÑOÏC GIAÛ
Thaønh phoá Hoà Chí Minh Töø ngaøy: ñeán ngaøy:
Maõ Saùch Teân Saùch Taùc Giaû Löôït möôïn

Ngaøy…..thaùng…naêm …………

III. Caùc yeâu caàu caàn thöïc hieän:


Töø caùc nhu caàu quaûn lyù, caùc coâng vieäc caàn thöïc hieän vôùi 4 maûng sau:
- Quaûn lyù saùch baùo
- Quaûn lyù ñoïc giaû
- Quaûn lyù vieäc möôïn saùch
- Quaûn lyù thoáng keâ in aán.

Caâu Hoûi :
-Lieät keâ caùc quan heä nhaän dieän trong khaûo saùt treân.
-Thieát keá maøn hình chính, maøn hình caùc chöùc naêng
5.2.4 .Tình huoáng 4

Maãu :Phieáu khaùm söùc khoûe

SÔÛ Y TEÁ COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM
TRUNG TAÂM Y TEÁ Q.BÌNH THAÏNH Ñoäc laäp-Töï do-Haïnh phuùc
Soá……………………………….. ……….oOo…………

Aûnh PHIEÁU KHAÙM SÖÙC KHOÛE


2x3

74
A.PHAÀN HAØNH CHAÙNH
-Hoï vaø teân:
……………………………………………………………………….Naêm
sinh……………………………………
-Nam , Nöõ , Ngheà
nghieäp………………………………………………………………………………………
…….
-Ñòa Chæ thöôøng truù:
………………………………………………………………………………………………
……………….
-Hieän cö nguï (hoaëc taïm truù):
……………………………………………………………………………………………….
-Teân cô quan :…………………………………………………….Ñòa chæ :
…………………………………………………..
-Khaùm söùc khoûe :
Laàn ñaàu , muïc ñích :
………………………………………………………………………………………………
………
Taùi khaùm , ñaõcoù giaáy chöùng nhaän do :
…………………………………………………………………..
Caáp ngaøy :
………………………………………………………………………………………………
……………………………….

B. TIEÀN SÖÛ BEÄNH


Soát reùt Vaøng da Hoa lieãu Tieåu ñöôøng
Cao aùp huyeát Phaåu thuaät Khaùc ……………
C. KHAÙM THÖÏC THEÅ
1. Toång quaùt
Caân naëng:……………………kg, Chieàu cao :……………..cm, Voøng
ngöïc:…………….
Huyeát aùp :………………….mmHg, Maïch:……………………Laàn/phuùt
2. Tai-Muõi-Hoïng

Bình thöôøng Baát thöôøng Kyù teân

Thính löïc : Tai (P)


………………………………………………………………………………………………
…………………………
Tai (T)
………………………………………………………………………………………………
…………………………
3. Maét

Bình thöôøng Baát thöôøng Kyù teân

Thò löïc : Maét (P)


………………………………………………………………………………………………
…………………………
75
Maét (T)
……………………………………………………………………………………………
……………………………

4. Raêng-Haøm-Maët
Kyù teân
Bình thöôøng , Baát thöôøng

5. Da
Kyù teân
Bình thöôøng , Baát thöôøng

6. Heä tieát nieäu-Heä sinh duïc Kyù teân


Bình thöôøng , Baát thöôøng

7. Heä hoâ haáp-Timmaïch

Bình thöôøng , Baát thöôøng


Kyù teân

8. Nhöõng baát thöôøng khaùc

Kyù teân

D. XEÙT NGHIEÄM
Hct Baïch caàu X Quang ECG IDR
HbsAg Phaân Khaùc
……………………………………………………………………………………

E. KEÁT LUAÄN
Ñuû söùc khoûe
Khoâng ñuû söùc khoûe
Coù beänh caàn ñieàu trò, keát luaän sau

Ngaøy ………thaùng ……..naêm 200……


TRUNG TAÂM Y TEÁ .
Caâu hoûi:
1/ Xaây döïng CSDL ñeå löu tröõ thoâng tin treân
2/ Ñeà nghò Form nhaäp hôïp lyù
3/Neâu caùc thoáng keâ caàn thieát phuø hôïp con ñöôøng truy xuaát.

5.2.5 .Tình huoáng 5

76
COÄNG HOØA XAÕ HOÄI CHUÛ NGHÓA VIEÄT NAM
Ñoäc laäp-Töï do-Haïnh phuùc
-------------------------------------------------------
THAØNH PHOÁ HOÀ CHÍ MINH

SOÅ HOÄ KHAÅU


GIA ÑÌNH
Hoï vaø teân chuû
hoä……………………………………………………………………………………………
………
Soá
nhaø…………………………………………………………………………………………
………………………………
Ñöôøng………………………………………………………………………………………
………………………………..
Ñöôøng phoá,
aáp……………………………………………………………………………………………
…………..
Phöôøng, xaõ, thò
traán…………………………………………………………………………………………
…..
Quaän,
Huyeän………………………………………………………………………………………
……………………
Soá…………………………………………..

CHUÛ HOÄ QUAN HEÄ VÔÙI CHUÛ HOÄ:


-Hoï vaø teân …………..
…………………………………………… -Hoï vaø teân
……………….. ……………………………………………
-Bí danh(Teân thöôøng goïi) ………………..
………………………………… -Bí danh(Teân thöôøng goïi)
-Ngaøy thaùng naêm sinh……………… …………………………………
Nam, Nöõ…….. -Ngaøy thaùng naêm sinh………………
-Nôi Nam, Nöõ……..
sinh………………………………………… -Nôi
…………………….. sinh…………………………………………
-Nguyeân ……………………..
quaùn……………………………………… -Nguyeân
……………... quaùn………………………………………
-Daân ……………...
toäc………………………………………… -Daân
……………………… toäc…………………………………………
-Ngheà ………………………
nghieäp…………………………………… -Ngheà
………………… nghieäp……………………………………
-Nôi laøm …………………
vieäc……………………………………… -Nôi laøm

77
………………. vieäc………………………………………
-Giaáy CMND ……………….
soá………………………………………… -Giaáy CMND
……… soá…………………………………………
-Ngaøy caáp…………………………Nôi ………
caáp…………………… -Ngaøy caáp…………………………Nôi
-Ngaøy thaùng naêm ñaêng kyù thöôøng caáp……………………
truù………… -Ngaøy thaùng naêm ñaêng kyù thöôøng
-Nôi thöôøng truù tröôùc khi chuyeån truù…………
ñeán……….. -Nôi thöôøng truù tröôùc khi chuyeån
ñeán………..
Ngaøy… thaùng…..naêm…..
Ngaøy… thaùng…..naêm…..
Chuyeån ñi
ngaøy……………………………………… Chuyeån ñi
…………. ngaøy………………………………………
Nôi chuyeån ………….
ñeán………………………………………… Nôi chuyeån
…………. ñeán…………………………………………
Lyù do ………….
khaùc……………………………………… Lyù do
…………………… khaùc………………………………………
……………………

Caâu hoûi:
1/ Xaây döïng CSDL ñeå löu tröõ thoâng tin treân
2/ Ñeà nghò Form nhaäp hôïp lyù
3/Neâu caùc thoáng keâ caàn thieát phuø hôïp con ñöôøng truy xuaát.
Phuï Luïc : Trang
Chöông 1 : Caùc giai ñoaïn trong quaù trình thieát keá moät cô sôû döõ lieäu (4t LT)
4
1.1. Daãn nhaäp. 4
1.1.1. Muïc tieâu chính coâng vieäc thieát keá CSDL. 4
1.1.2. Caùc caâu hoûi ñaët ra cho ngöôøi thieát keá . 4
1.1.3. Caùc thoâng tin vaøo /ra quy trình thieát keá. 5
1.2. Chu kyø soáng cuûa moät CSDL. 5
1.3. Giai ñoaïn phaân tích nhu caàu. 6
1.4. Giai ñoaïn thieát keá quan nieäm. 7
1.5. Giai ñoaïn thieát keá logic. 8
1.6. Giai ñoaïn thieát keá vaät lyù. 8
Chöông 2 : Moâ hình quan heä vaø caùc phuï thuoäc döõ lieäu (7t LT + 3t BT) 10
2.1 Moâ hình döõ lieäu quan heä : nhaéc laïi caùc khaùi nieäm caên baûn. 10
2.2 Phuï thuoäc haøm. 11
2.3 Caùc daïng chuaån treân quan heä. 17
2.4 Baøi taâp 22
Chöông 3 : Phöông Phaùp Chuaån Hoùa LÑ CSDL (8t LT + 5t BT) 23
3.1 Daãn nhaäp. 23
3.2 Caùc tieâu chuaån cuûa quaù trình chuaån hoùa 23

78
3.3 Quan ñieåm phuï thuoäc haøm 23
3.4 Quan ñieåm baûo toøan thoâng tin 24
3.5 Quan ñieåm bieåu dieãn troïn veïn . 25
3.6 Hai phöông phaùp chuaån hoùa moät LÑ CSDL 25
3.7 Baøi taäp. 30
Chöông 4 : Lyù thuyeát ñoà thò quan heä (8 t LT + 5t BT) 31
4.1. Daãn nhaäp 31
4.2. Bieåu dieãn caáu truùc quan nieäm döôùi daïng ñoà thò. 32
4.3. Ñoà thò con ñöôøng truy xuaát thoâ 34
4.4. Ñoà thò quan heä. 34
4.5. Bieán ñoåi moät ñoà thò quan heä sang moät ñoà thò con ñöôøng truy xuaát thoâ, 36
vaø ngöôïc laïi.
4.6. Chuoãi keát ñöôïc caøi ñaët treân ñoà thò. 37
4.7. Thuaät toaùn bieåu dieãn moät caáu truùc CSDL quan heä sang ñoà thò quan heä. 40
4.8. Bieán ñoåi ngöôïc töø ñoà thò quan heä sang caáu truùc CSDL quan heä. 43
4.9. Baøi taäp 43
Chöông 5 : Thieát keá CSDL ôû möùc vaät lyù (3t LT + 2t BT) 48
5.1 Luyeän taäp kyõ naêng. 48
5.2 Baøi taäp thieát keá 71

79

You might also like