Вы находитесь на странице: 1из 12

Chöông 1.

Cô Sôû Döõ Lieäu vaø Vai troø cuûa Cô Sôû Döõ Lieäu trong Heä
Thoáng Thoâng Tin Quaûn Lyù
1. Heä thoáng thoâng tin
1.1 Khaùi nieäm heä thoáng thoâng tin
Heä thoáng thoâng tin laø taäp hôïp caùc nguoàn löïc (cô sôû vaät chaát, con ngöôøi, moâi
tröôøng, …) vaø phöông thöùc (caùc qui taéc, qui trình xöû lyù) ñeå thu thaäp vaø truyeàn taûi
thoâng tin trong moät toå chöùc.
Heä thoáng thoâng tin quaûn lyù laø moät ngaønh heä thoáng thoâng tin öùng duïng coâng
ngheä thoâng tin ñeå xaây döïng, ñieàu haønh vaø phaùt trieån toå chöùc. Heä thoáng thoâng tin
quaûn lyù laø moät phaân ngaønh cuûa Khoa hoïc quaûn lyù vaø Quaûn trò kinh doanh.
Ngaøy nay, heä thoáng thoâng tin quaûn lyù ñöôïc öùng duïng trong nhieàu lónh vöïc : giaùo
duïc, thöông maïi ñieän töû, keá toaùn taøi chaùnh, heä thoáng thoâng tin ñòa lyù (GIS), quaûn lyù
doanh nghieäp, …
Moät soá heä thoáng thoâng tin quaûn lyù tieâu bieåu :
- Heä thoáng quaûn lyù nhaân söï,
- Heä thoáng thoâng tin keá toaùn cuûa moät doanh nghieäp,
- Heä thoáng quaûn lyù kinh doanh,
- Heä thoáng quaûn lyù sinh vieân cuûa moät tröôøng ñaïi hoïc,

Caùc vò trí coâng vieäc lieân quan ñeán heä thoáng thoâng tin :
- Phaân tích vieân heä thoáng (System analyst), tích hôïp heä thoáng (system integrator),
quaûn trò cô sôû döõ lieäu,
- Quaûn trò heä thoáng thoâng tin trong caùc ñôn vò, toå chöùc, doanh nghieäp,
- Laäp trình quaûn lyù cô sôû döõ lieäu,
- Giaùm ñoác thoâng tin (CIO – Chief Information Officer), boä phaän hoã trôï ra quyeát
ñònh,

1.2 Vai troø cuûa heä thoáng thoâng tin
Trong kyû nguyeân buøng noå coâng ngheä thoâng tin ngaøy nay, cuøng vôùi söï phaùt trieån
maïnh meõ cuûa caùc phöông khai thaùc thoâng tin toaøn caàu, nhö truyeàn hình, Internet, … vieäc
quaûn lyù vaø khai thaùc thoâng tin laø hoaït ñoäng nghieäp vuï quan troïng, ñoùng vai troø quyeát
ñònh ñoái vôùi moïi ñôn vò, toå chöùc, vaø ñaëc bieät laø caùc doanh nghieäp, khoâng chæ laø
thoâng tin lieân quan tröïc tieáp ñeán caùc hoaït ñoäng nghieäp vuï, maø coøn laø thoâng tin lieân
quan ñeán toaøn boä lónh vöïc maø doanh nghieäp ñang hoaït ñoäng.
Ñöùng treân goùc ñoä nhaø quaûn lyù, toaøn boä doanh nghieäp coù theå ñöôïc phaân thaønh
ba heä thoáng : heä taùc nghieäp, heä thoâng tin, vaø heä (hoã trôï) ra quyeát ñònh. Trong ñoù, heä
taùc nghieäp bao goàm caùc boä phaän, phoøng ban, ñôn vò tröïc thuoäc tham gia tröïc tieáp vaøo
caùc hoaït ñoäng nghieäp vuï dieãn ra haøng ngaøy cuûa doanh nghieäp; heä ra quyeát ñònh bao
goàm caùc caáp laõnh ñaïo (CEO – Chief Executive Officer), ñoùng vai troø toå chöùc, laõnh ñaïo,
ñöa ra caùc quyeát ñònh quan troïng trong vieäc ñieàu khieån caùc hoaït ñoäng mang tính chieán
löôïc; vaø heä thoâng tin ñoùng vai troø toå chöùc quaûn lyù vaø phuïc vuï truyeàn taûi, khai thaùc
thoâng tin cho caùc heä coøn laïi.

1
Heä hoã trôï ra
quyeát ñònh

Thu thaäp Heä thoáng


Döõ thoâng tin
lieäu

Heä thoáng
taùc nghieäp

Hình 1.1 Vai troø cuûa heä thoâng tin trong toå chöùc doanh nghieäp.
Ñoái vôùi heä taùc nghieäp, nhu caàu ñöôïc cung caáp vaø khai thaùc thoâng tin thöôøng goàm :
- Tìm kieám, tính toaùn treân soá lieäu,
- Phaân tích soá lieäu ñeå laäp danh saùch baùo caùo, baûng bieåu thoáng keâ.
(Xem phaàn baøi taäp minh hoïa)
Caùc coâng cuï tin hoïc ñöôïc söû duïng ñeå ñaùp öùng nhu caàu naøy thöôøng laø caùc
phaàn meàm vaên phoøng nhö Excel, Word, Access, …
Ñoái vôùi heä ra quyeát ñònh, nhu caàu khai thaùc thoâng tin ñöôïc theå hieän ôû möùc cao hôn vaø
toång quaùt hôn :
- Phaân tích soá lieäu ñeå kieåm ñònh, ñaùnh giaù veà tính hieäu quaû, hay ñoä tin caäy
cuûa moät nhaän ñònh then choát tröôùc khi ñöa ra quyeát ñònh.
(Xem phaàn baøi taäp minh hoïa)
- Khaûo saùt treân löôïng thoâng tin, döõ lieäu lôùn hay cöïc lôùn ñeå khaùm phaù, tìm ra
caùc nhaän ñònh môùi, maø tröôùc ñaây, nhaø laõnh ñaïo doanh nghieäp khoâng hoaëc khoâng theå
nghó ñeán.
(Xem phaàn baøi taäp minh hoïa)
Caùc coâng cuï tin hoïc ñöôïc söû duïng ñeå ñaùp öùng nhu caàu naøy thöôøng laø caùc
phaàn meàm thoáng keâ chuyeân nghieäp (nhö SPSS, EView, …), vaø caùc phaàn meàm khai phaù
döõ lieäu nhö SQL Analyzer (cuûa heä quaûn trò SQL Server), Intelligence Miner (IBM), …
2. Cô sôû döõ lieäu
Thaønh phaàn chieám vò trí quan troïng trong heä thoáng thoâng tin laø heä cô sôû döõ lieäu hôïp
nhaát, quaûn lyù toaøn boä döõ lieäu, thoâng tin cuûa toaøn boä heä thoáng. Vieäc quaûn lyù toát,
cuï theå laø toå chöùc löu tröõ toát, seõ taïo thuaän lôïi cho quaù trình khai thaùc dieãn ra nhanh
choùng vaø chính xaùc. Toå chöùc cô sôû döõ lieäu theo moâ hình quan heä (xem [1]) laø caùch
thöùc raát phoå bieán vaø cuõng laø caùch thöùc ñöôïc löïa choïn trieån khai trong giaùo trình naøy.
2.1 Khaùi nieäm vaø caùc yeâu caàu cuûa moät cô sôû döõ lieäu
Cô sôû döõ lieäu (CSDL) laø moät taäp hôïp döõ lieäu “coù caáu truùc”, ñöôïc löu tröõ treân caùc
thieát bò löu tröõ cuûa maùy vi tính. Khaùi nieäm “coù caáu truùc” ôû ñaây ñöôïc hieåu laø döõ
lieäu ñöôïc toå chöùc löu tröõ vaø truy caäp theo moät phöông phaùp khoa hoïc, döïa treân neàn
taûng moät cô sôû lyù thuyeát nhaát ñònh. Ta thöôøng duøng töø moâ hình (model) ñeå noùi veà

2
caáu truùc cuûa CSDL. Moâ hình cô sôû döõ lieäu quan heä (relational database model) laø moâ
hình ñöôïc xaây döïng döïa treân cô sôû cuûa lyù thuyeát taäp hôïp.
Heä quaûn trò CSDL (Database Management System  DBMS) laø moät phaàn meàm maùy tính,
cho pheùp taïo môùi vaø quaûn trò caùc CSDL theo moät moâ hình ñaõ ñöôïc löïa choïn. Ngaøy
nay, vôùi moâ hình cô sôû döõ lieäu quan heä, caùc heä quaûn trò thöôøng ñöôïc söû duïng laø
Access, SQL Server vaø Oracle.
Söï hình thaønh caùc moâ hình CSDL xuaát phaùt töø nhu caàu quaûn lyù döõ lieäu trong thao taùc
quaûn lyù cuûa moïi ngaønh, ñaëc bieät ñoái vôùi caùc ngaønh heä thoáng thoâng tin. Cuøng vôùi
söï phaùt trieån cuûa coâng ngheä thoâng tin, daãn ñeán tính phöùc taïp cuûa caùc heä thoáng quaûn
lyù ngaøy caøng taêng, caùch thöùc quaûn lyù döõ lieäu theo kieåu quaûn lyù taäp tin (taäp tin
word, excel, …) truyeàn thoáng boäc loä nhöõng khuyeát ñieåm khoù hoaëc khoâng theå khaéc
phuïc :
- Döõ lieäu ñöôïc löu tröõ truøng laép, dö thöøa trong caùc taäp tin. …
- Khoù khaên trong vieäc tìm kieám, caäp nhaät, baûo trì …
- Gaây nhieàu maâu thuaãn tieàm aån trong döõ lieäu. …
Töø nhöõng haïn cheá treân cuûa caùch thöùc quaûn lyù taäp tin theo kieåu truyeàn thoáng, ñeå
caûi thieän hoaït ñoäng quaûn lyù, caùc heä thoáng thoâng tin caàn phaûi toå chöùc löu tröõ döõ
lieäu theo moät caùch thöùc khoa hoïc, khaéc phuïc ñöôïc caùc khuyeát ñieåm neâu treân vaø cho
pheùp phaùt trieån heä thoáng leân nhöõng quy moâ lôùn hôn.
CSDL ñöôïc thieát keá theo moät moâ hình toát, phaûi khaéc phuïc ñöôïc caùc khuyeát ñieåm ñaõ
neâu ôû treân, vaø ñaùp öùng ñöôïc caùc yeâu caàu ñaët ra cuûa moät heä thoáng thoâng tin :
- Ñaûm baûo döõ lieäu ñöôïc truy xuaát töø nhieàu caùch khaùc nhau : nhaø quaûn trò, laäp
trình vieân, ngöôøi söû duïng cuoái.

- Giao tieáp toát vôùi caùc ngoân ngöõ laäp trình.


- Khaû naêng thích öùng vôùi moâi tröôøng cho pheùp nhieàu ngöôøi söû duïng.
- Cô cheá aùp ñaët chuû quyeàn treân döõ lieäu vaø baûo maät thoâng tin.
- Xöû lyù tranh chaáp.
- Ñaûm baûo döõ lieäu khi coù söï coá.
2.2 Moâ hình cô sôû döõ lieäu quan heä
Moâ hình CSDL quan heä (Relational Data Model), hay goïi taét laø moâ hình quan heä, ñöôïc ñeà
xuaát bôûi tieán só Edgar Frank Codd (19232003) vaøo naêm 1970. Moâ hình ñöôïc xaây döïng
döïa treân neàn taûng cuûa lyù thuyeát taäp hôïp, trong ñoù, CSDL ñöôïc xem nhö moät taäp hôïp
caùc baûng döõ lieäu. Moät baûng döõ lieäu goàm caùc doøng chöùa döõ lieäu öùng vôùi caùc coät
laø caùc thuoäc tính. Caùc thuoäc tính cuûa baûng cho ta hình dung veà caáu truùc cuûa baûng,

3
mang tính oån ñònh khi CSDL ñöôïc trieån khai vaøo öùng duïng, coøn caùc doøng bieåu dieãn döõ
lieäu cuûa baûng taïi moät thôøi ñieåm xaùc ñònh. (Xem [1].)
3. Phaân tích, thieát keá vaø xaây döïng CSDL
3.1 Khaûo saùt hieän traïng
Muïc tieâu sau cuøng cuûa vieäc xaây döïng heä thoáng thoâng tin quaûn lyù laø tin hoïc hoùa hoaït
ñoäng quaûn lyù cuûa moät heä thoáng. Quaù trình khaûo saùt hieän traïng nhaèm tìm hieåu vaø
ñaùnh giaù veà hieän traïng hieän taïi cuûa heä thoáng tröôùc khi ñöôïc tin hoïc hoùa. Quaù trình
khaûo saùt hieän traïng phaûi traû lôøi caùc caâu hoûi :
Heä thoáng ñang laøm gì ? Goàm nhöõng coâng vieäc gì ? Quaûn lyù caùi gì ?
Nhöõng coâng vieäc cuûa heä thoáng do ai laøm ? Laøm ôû ñaâu ? Khi naøo ?
Moãi coâng vieäc ñöôïc thöïc hieän nhö theá naøo ? Lieân quan ñeán nhöõng döõ lieäu,
thoâng tin naøo ?
Chu kyø, taàn suaát vaø khoái löôïng coâng vieäc ?
Noäi dung cuûa quaù trình khaûo saùt hieän traïng thöôøng goàm : hieän traïng veà toå chöùc, hieän
traïng veà nghieäp vuï, vaø hieän traïng veà cô sôû tin hoïc. ÔÛ ñaây, ta duøng töø “toå chöùc” ñeå
noùi veà heä thoáng hieän taïi ñang ñöôïc khaûo saùt.
Hieän traïng toå chöùc.
ÔÛ noäi dung naøy, caàn tìm hieåu veà caùc vaán ñeà :
- Cô caáu toå chöùc : heä thoáng goàm nhöõng phoøng ban naøo, laøm nhöõng coâng vieäc
gì, traùch nhieäm vaø quyeàn haïn cuûa töøng phoøng ban, quan heä giöõa caùc phoøng ban. Coù
theå laäp sô ñoà ñeå minh hoïa cho cô caáu toå chöùc (Xem []).
- Cô caáu nhaân söï : heä thoáng caáp baäc, chöùc traùch, nhieäm vuï vaø söï phaân caáp
quyeàn haïn cuûa töøng vò trí.
- Caùc cô caáu beân ngoaøi : quan heä giöõa toå chöùc vaø caùc ñôn vò beân ngoaøi, xaùc
ñònh moâi tröôøng, lónh vöïc hoaït ñoäng cuûa toå chöùc.
Nghieäp vuï laø töø chæ moät hoaït ñoäng dieãn ra trong toå chöùc. Nghieäp vuï thöôøng mang tính
ñònh kyø, vaø aûnh höôûng haàu nhö tröïc tieáp ñeán muïc tieâu hoaït ñoäng cuûa toå chöùc (toå
chöùc ñöôïc laäp ra ñeå laøm gì). Coù theå laáy ví duï trong moät doanh nghieäp, caùc hoaït ñoäng
nghieäp vuï bao goàm : baùn haøng, nhaäp haøng, haïch toaùn taøi chính, quaûn lyù khaùch haøng,
… vaø caùc hoaït ñoäng naøy aûnh höôûng tröïc tieáp ñeán lôïi nhuaän thu ñöôïc cuûa doanh
nghieäp.
Moät nhoùm caùc hoaït ñoäng nghieäp vuï noái tieáp nhau, hoaëc coù lieân heä chaët cheõ vôùi
nhau, taïo thaønh moät qui trình nghieäp vuï. Coù theå hieåu noâm na, qui trình nghieäp vuï laø
moâ taû veà caùc böôùc cuï theå seõ dieãn ra cuûa moät nghieäp vuï lôùn.
Khi phaân tích vaø laäp baùo caùo veà hieän traïng nghieäp vuï theo kyõ thuaät phaân tích höôùng
ñoái töôïng UML, moãi nghieäp vuï ñöôïc bieåu dieãn baèng moät Use-case, qui trình nghieäp vuï
ñöôïc ñaëc taû baèng bieåu ñoà Use-case, caùc thao taùc cuï theå dieãn ra trong moät nghieäp vuï
ñöôïc ñaëc taû ôû daïng caùc kòch baûn vaø bieåu ñoà trình töï.
Vieäc xaùc ñònh ñaày ñuû vaø chính xaùc caùc nghieäp vuï cuûa toå chöùc laø yeáu toá quan troïng
aûnh höôûng ñeán toaøn boä söï thaønh coâng cuûa heä thoáng thoâng tin seõ ñöôïc xaây döïng. Vì
noùi cho cuøng, muïc tieâu cuoái cuøng cuûa vieäc xaây döïng heä thoáng laø tin hoïc hoùa heä
thoáng, töùc laø tin hoïc hoùa caùc hoaït ñoäng nghieäp vuï naøy.
Caùc vaán ñeà caàn tìm hieåu khi khaûo saùt hieän traïng nghieäp vuï :
- Toå chöùc coù bao nhieâu nghieäp vuï ?
4
- Nghieäp vuï ñöôïc thöïc hieän nhö theá naøo ? Xaùc ñònh qui trình nghieäp vuï, xaây
döïng moät soá kòch baûn cho moãi nghieäp vuï.
- Taàn suaát vaø thôøi ñieåm nghieäp vuï ñöôïc thöïc hieän.
- Caùc quy taéc nghieäp vuï : caùc muïc tieâu, raøng buoäc cuûa heä thoáng, trình töï thöïc
hieän, yeâu caàu veà kyõ thuaät.
- Ñaùnh giaù veà quy trình nghieäp vuï hieän taïi, coù khoù khaên gì ? Nguyeân nhaân
(nguyeân nhaân do chuyeân moân, nguyeân nhaân do coâng ngheä) ?
Hieän traïng tin hoïc.

3.2 Xaùc ñònh caùc ñoái töôïng döõ lieäu


Ñoái töôïng döõ lieäu (data entity) laø ñoái töôïng caàn phaûi ñöôïc quaûn lyù thoâng tin cuûa
CSDL. Trong moät heä quaûn lyù kinh doanh, caùc ñoái töôïng döõ lieäu coù theå laø : khaùch
haøng, hoùa ñôn, haøng hoùa, phieáu nhaäp kho, phieáu xuaát kho, coâng nôï, …
Ñoái töôïng ñöôïc xaùc ñònh töø vieäc khaûo saùt caùc quy trình nghieäp vuï, hay töø caùc yeâu
caàu taùc nghieäp : nghieäp vuï caàn löu tröõ thoâng tin, xöû lyù veà caùi gì ?
Ñoái töôïng phaûi coù caùc thuoäc tính ñi keøm. Thuoäc tính laø moät thoâng tin moâ taû veà ñoái
töôïng. Trong heä quaûn lyù kinh doanh, ñoái töôïng “haøng hoùa” coù theå coù caùc thuoäc tính
nhö maõ haøng, teân haøng, soá löôïng ñang toàn kho, ñôn giaù maët haøng, …, ñoái töôïng “hoùa
ñôn” coù theå coù caùc thuoäc tính nhö maõ hoùa ñôn (soá hoùa ñôn), ngaøy laäp, toång trò giaù,
hoùa ñôn xuaát cho khaùch haøng naøo, …
Trong moâ hình quan heä, moät, hoaëc moät soá, baûng thöôøng moâ taû thoâng tin veà (/chöùa
döõ lieäu cuûa) moät ñoái töôïng döõ lieäu. Khi ñoù caùc coät cuûa baûng laø caùc thuoäc tính, vaø
moãi doøng trong baûng laø döõ lieäu veà moät phieân baûn (/theå hieän, instance) cuûa ñoái
töôïng. Moät doøng coøn ñöôïc goïi laø moät maåu, hay boä, döõ lieäu (record, tupe), trong ñoù
moãi oâ döõ lieäu chöùa giaù trò öùng vôùi moät thuoäc tính. Khi doøng döõ lieäu khoâng coù giaù
trò öùng vôùi moät thuoäc tính naøo ñoù, ta noùi giaù trò cuûa doøng döõ lieäu taïi thuoäc tính naøy
laø NULL. Nhö trong baøi taäp maãu , baûng HangHoa chöùa döõ lieäu veà ñoái töôïng haøng
hoùa, khi trong baûng naøy coù 1000 doøng, ta hieåu raèng kho haøng cuûa doanh nghieäp ñang
quaûn lyù 1000 maët haøng khaùc nhau. Thoâng thöôøng, ñoái töôïng phaûi coù moät thuoäc tính,
ñaïi loaïi nhö maõ haøng, maõ khaùch haøng, maõ hoùa ñôn, … duøng ñeå phaân bieät giöõa caùc
doøng döõ lieäu (caùc phieân baûn) cuûa ñoái töôïng, maø ta goïi thuoäc tính naøy laø khoùa chính.
Trong moâ hình quan heä, thuoäc tính chæ ñöôïc mang moät giaù trò (thuoäc tính ñôn trò), khi
thuoäc tính caàn phaûi coù theå coù töø hai giaù trò trôû leân, ta phaûi taùch thuoäc tính naøy
thaønh moät baûng rieâng. Cuõng trong ví duï veà baûng HangHoa töø baøi taäp maãu , thuoäc
tính TenHang cho bieát maët haøng naøy teân gì (ñöông nhieân !), nhöng do thuoäc tính phaûi laø
ñôn trò, neân moãi maët haøng chæ ñöôïc coù moät teân. Giaû söû raèng doanh nghieäp coù thò
tröôøng taïi nhieàu nöôùc treân theá giôùi, vaø taïi moãi nöôùc, doanh nghieäp seõ ñaët laïi teân
theo tieáng ñòa phöông cho caùc maët haøng cuûa mình. Nhö vaäy, moãi maët haøng seõ coù theå
coù nhieàu teân, tuøy theo maët haøng naøy ñöôïc tieâu thuï ôû bao nhieâu nöôùc. Trong tình
huoáng naøy, ta phaûi taùch thuoäc tính TenHang thaønh moät baûng rieâng, khi ñoù, baûng naøy
coù moái lieân heä moät nhieàu vôùi baûng HangHoa (moät maët haøng coù theå coù nhieàu teân,
vaø moãi teân chæ thuoäc veà moät maët haøng). Vaø ñaïi khaùi, baûng TenHang coù theå coù ba
coät : MaHang, QuocGia, TenHang, moãi doøng döõ lieäu trong baûng naøy cho ta thoâng tin veà
maët haøng naøo ñöôïc tieâu thuï ôû quoác gia naøo vaø coù teân gì (ñöông nhieân laø khi ñoù
baûng HangHoa seõ khoâng coøn coät TenHang nöõa).
3.3 Xaùc ñònh lieân heä giöõa caùc ñoái töôïng döõ lieäu

5
Moái lieân heä (relationship) laø ñaëc tröng quan troïng nhaát cuûa moâ hình CSDL quan heä.
Hieåu noâm na, (moái) lieân heä laø moät töông öùng phuï thuoäc giöõa hai ñoái töôïng. Ví duï,
giöõa hai ñoái töôïng hoùa ñôn vaø khaùch haøng, ta thaáy coù moái lieân heä raèng : moät hoùa
ñôn phaûi laø cuûa/thuoäc veà moät khaùch haøng naøo ñoù. Raát hieám khi coù tröôøng hôïp
moät ñoái töôïng laïi khoâng coù moái lieân heä vôùi baát cöù ñoái töôïng naøo khaùc. Khi coù
tröôøng hôïp naøy, ta thaäm chí coù theå taùch CSDL thaønh hai CSDL khaùc nhau, vì döõ lieäu
giöõa chuùng khoâng coù lieân quan gì vôùi nhau caû.
Neáu ta xem baûng moâ taû veà ñoái töôïng laø moät taäp hôïp caùc doøng döõ lieäu, thì, hieåu
theo lyù thuyeát taäp hôïp, lieân heä laø moät aùnh xaï ñi töø baûng döõ lieäu naøy vaøo baûng döõ
lieäu khaùc. Vaø veà sau ta seõ thaáy raèng, moâ hình quan heä chæ cho pheùp lieân heä thoûa
yeâu caàu cuûa moät aùnh xaï, nghóa laø moãi phaàn töû thuoäc taäp nguoàn chæ töông öùng vôùi
moät vaø chæ moät phaàn töû thuoäc taäp ñích, vaø ñoù laø lyù do taïi sao trong moâ hình quan heä
khoâng coù loaïi lieân heä nhieàu – nhieàu.
Töông öùng phuï thuoäc giöõa caùc ñoái töôïng coù theå thuoäc vaøo moät trong ba loaïi :
Lieân heä moät nhieàu (onetomany), kyù hieäu 1   hay 1  n . Moâ taû töông öùng phuï
thuoäc cuûa moät (theå hieän cuûa) ñoái töôïng naøy vaøo moät (theå hieän cuûa) ñoái töôïng
khaùc. Trong heä thoáng quaûn lyù kinh doanh, ta nhaän thaáy raèng giöõa hai ñoái töôïng hoùa
ñôn vaø khaùch haøng coù moái lieân heä moät nhieàu ñi töø hoùa ñôn vaøo khaùch haøng (hoùa
ñôn phuï thuoäc vaøo khaùch haøng). Ngöõ nghóa cuûa moái lieân heä naøy laø : moãi hoùa ñôn
phaûi laø cuûa/thuoäc veà moät khaùch haøng, coøn ngöõ nghóa theo höôùng ngöôïc laïi laø : moãi
khaùch haøng coù theå coù nhieàu hoùa ñôn (moãi laàn mua haøng cuûa doanh nghieäp, khaùch
haøng ñöôïc xuaát cho moät hoùa ñôn).
laø cuûa
n 1
HoaDon KhachHang

coù caùc

Hình 1.2 Lieân heä moät nhieàu ñi töø ñoái töôïng hoùa ñôn vaøo ñoái töôïng khaùch haøng.
Ta thieát keá baûng ñeå moâ taû lieân heä moät nhieàu baèng caùch ñaët thuoäc tính khoùa chính
cuûa baûng öùng vôùi ñoái töôïng ôû nhaùnh moät trôû thaønh moät thuoäc tính, maø ta goïi laø
khoùa ngoaïi, trong baûng öùng vôùi ñoái töôïng ôû nhaùnh nhieàu. Cuï theå nhö trong ví duï treân,
trong baûng HoaDon seõ coù moät thuoäc tính laø MaKH (maõ khaùch haøng). Khi ñoù, ta coøn
goïi lieân heä naøy laø lieân heä moät nhieàu treân thuoäc tính MaKH.
Lieân heä moät nhieàu laø lieân heä chuû choát vaø thöôøng gaëp nhaát cuûa moâ hình quan heä.
Trong baøi taäp maãu veà heä thoáng quaûn lyù kinh doanh, ta coøn gaëp nhieàu lieân heä moät
nhieàu khaùc : haøng hoùa phuï thuoäc vaøo loaïi haøng, chi tieát hoùa ñôn phuï thuoäc vaøo hoùa
ñôn vaø haøng hoùa, coâng nôï phuï thuoäc vaøo khaùch haøng hay ñoái taùc, … Trong caùc heä
thoáng khaùc nhö heä quaûn lyù sinh vieân, ta thöôøng gaëp caùc lieân heä moät nhieàu nhö : moät
ngaønh phaûi thuoäc veà moät khoa, sinh vieân phaûi thuoäc veà moät ngaønh, …
Trong lieân heä moät nhieàu giöõa hai ñoái töôïng A vaø B, giaû söû A phuï thuoäc vaøo B (B ôû
nhaùnh moät, A ôû nhaùnh nhieàu), ñoái töôïng B ñöôïc xem laø ñoùng vai troø laøm roõ nghóa
cho ñoái töôïng A. Cuï theå nhö trong lieân heä giöõa HoaDon phuï thuoäc vaøo KhachHang, neáu
ta chæ caên cöù vaøo baûng döõ lieäu HoaDon, thì ta chæ bieát ñöôïc laø hoùa ñôn naøy thuoäc veà
maõ khaùch haøng naøo (trong baûng HoaDon chæ coù coät MaKH). Ñeå bieát theâm thoâng tin
veà ngöôøi khaùch haøng naøy, ta phaûi tra doøng töông öùng trong baûng KhachHang, vaø ñeå
thöïc hieän thao taùc naøy trong ngoân ngöõ truy vaán SQL, ta phaûi duøng pheùp keát inner join.

6
Lieân heä moätmoät (onetoone), kyù hieäu 11. Laø moät tröôøng hôïp ñaëc bieät cuûa lieân
heä moät nhieàu, moâ taû töông öùng phuï thuoäc 11 giöõa hai ñoái töôïng. Veà maët baûn chaát,
lieân heä moät moät laø moät song aùnh. Xem [1].
Khi thieát keá baûng, trong caû hai baûng öùng vôùi hai ñoái töôïng seõ coù chung moät thuoäc
tính khoùa chính.
Lieân heä nhieàu nhieàu (manytomany), kyù hieäu    hay n  n . Laø moät tröôøng hôïp
ñaëc bieät cuûa lieân heä moät nhieàu, khi moät theå hieän (doønqg döõ lieäu) cuûa ñoái töôïng
naøy coù theå phuï thuoäc vaøo nhieàu theå hieän cuûa moät ñoái töôïng khaùc. Trong heä thoáng
quaûn lyù kinh doanh, ta coù lieân heä nhieàu nhieàu giöõa hai ñoái töôïng haøng hoùa vaø hoùa
ñôn, vôùi ngöõ nghóa : moät hoùa ñôn coù theå mua nhieàu maët haøng vaø moãi maët haøng coù
theå ñöôïc mua trong nhieàu hoùa ñôn khaùc nhau.
Do ñöôïc xaây döïng treân lyù thuyeát taäp hôïp, neân moâ hình quan heä khoâng hoã trôï lieân heä
nhieàu nhieàu. Khi thieát keá baûng, ta phaûi taùch lieân heä nhieàu nhieàu thaønh hai lieân heä
moät nhieàu (xem [1]), cuï theå laø baèng caùch taïo moät baûng môùi vaø cho baûng môùi naøy
lieân heä moät nhieàu vôùi hai ñoái töôïng ban ñaàu. Ngoân töø cuûa moâ hình quan heä goïi baûng
môùi naøy laø moái keát hôïp.
n n
A B

1 n n 1
A B

Hình 1.3 Lieân heä nhieàu nhieàu ñöôïc taùch thaønh hai lieân heä moät nhieàu
Do coù lieân heä moät nhieàu (phuï thuoäc vaøo) vôùi hai ñoái töôïng A, B ban ñaàu, neân trong
baûng môùi naøy, phaûi coù hai thuoäc tính laø khoùa chính cuûa A vaø B. Ñoù laø lyù do vì sao
baûng ChiTietHoaDon trong ñeà taøi quaûn lyù kinh doanh cuûa baøi taäp maãu phaûi coù hai
thuoäc tính laø MaHD vaø MaHang (baûng ChiTietHoaDon laø moái keát hôïp minh hoïa lieân heä
nhieàu nhieàu giöõa hai ñoái töôïng hoùa ñôn vaø haøng hoùa).
Moãi doøng döõ lieäu trong baûng moái keát hôïp minh hoïa söï phuï thuoäc giöõa moät theå hieän
cuûa ñoái töôïng naøy vaøo moät theå hieän cuûa ñoái töôïng khaùc. Ngoaøi hai thuoäc tính khoùa
ngoaïi, baûng moái keát hôïp coøn coù theå coù theâm moät soá thuoäc tính khaùc nhaèm minh
hoïa theâm cho söï phuï thuoäc. Cuï theå nhö moät doøng (x,y,z,t) trong baûng
ChiTietHoaDon(MaHD, MaHang, SoLuongMua, DonGia) cho ta bieát thoâng tin veà : maët haøng
y ñöôïc mua trong hoùa ñôn x, mua vôùi soá löôïng laø z vaø giaù baùn laø t.
Lieân heä nhieàu nhieàu cuõng thöôøng gaëp khi khaûo saùt lieân heä giöõa caùc ñoái töôïng.
Trong heä thoáng quaûn lyù sinh vieân ta coù lieân heä nhieàu nhieàu giöõa hai ñoái töôïng sinh
vieân vaø moân hoïc : moät sinh vieân coù theå ñaêng kyù nhieàu moân hoïc, vaø moät moân hoïc
coù theå ñöôïc nhieàu sinh vieân ñaêng kyù, baûng moái keát hôïp trong tröôøng hôïp naøy thöôøng
ñöôïc goïi laø baûng ñaêng kyù moân hoïc; trong heä thoáng quaûn lyù thö vieän, ta coù lieân heä
nhieàu nhieàu giöõa hai ñoái töôïng saùch vaø taùc giaû : moät saùch coù theå ñöôïc vieát bôûi
nhieàu taùc giaû, vaø moät taùc giaû coù theå vieát nhieàu saùch, …
Bieåu ñoà thöïc theå vaø moái keát hôïp
Sau khi ñaõ xaùc ñònh taát caû lieân heä giöõa caùc ñoái töôïng, ta veõ bieåu ñoà minh hoïa cho
caùc lieân heä naøy, bieåu ñoà naøy ñöôïc goïi laø bieåu ñoà thöïc theå vaø moái keát hôïp.
Ví duï,

7
1 n 1 n
KhachHang HoaDon ChiTietHoaDon
n

1
1 n
LoaiHang HangHoa

Hình 1.4 Bieåu ñoà thöïc theå vaø moái keát hôïp cuûa ñeà taøi Quaûn Lyù Kinh Doanh
Löu yù.
(1) Caùc ñoái töôïng döõ lieäu vaø lieân heä giöõa chuùng thöôøng ñöôïc phaùt hieän töø vieäc
khaûo saùt tæ mæ caùc qui trình nghieäp vuï vaø yeâu caàu taùc nghieäp cuûa caùc nghieäp vuï
naøy.
(2) Caàn phaûi xaùc ñònh ñuùng vaø ñaày ñuû lieân heä giöõa moïi caëp ñoái töôïng, vì lieân heä
aûnh höôûng ñeán caáu truùc thuoäc tính cuûa caùc baûng, töùc caáu truùc CSDL. Khi heä thoáng
ñaõ ñöôïc xaây döïng vaø ñöa vaøo vaän haønh, vieäc thay ñoåi caáu truùc CSDL laø raát toán
keùm vaø coù theå gaây maâu thuaãn trong döõ lieäu.
(3) Lieân heä moät nhieàu cho ta moät raøng buoäc khi nhaäp döõ lieäu : phaûi nhaäp döõ lieäu ôû
baûng bò phuï thuoäc (baûng ôû nhaùnh moät) tröôùc roài môùi nhaäp lieäu cho baûng phuï thuoäc.
Moät loãi seõ phaùt sinh neáu giaù trò taïi thuoäc tính khoùa ngoaïi taïi moät doøng döõ lieäu naøo
ñoù trong baûng phuï thuoäc laïi khoâng toàn taïi trong coät khoùa chính cuûa baûng bò phuï
thuoäc (ví duï nhö, seõ laø loãi neáu toàn taïi moät doøng (x,y,z,t) naøo ñoù cuûa baûng
ChiTietHoaDon(MaHD, MaHang, SoLuongMua, DonGia) maø laïi khoâng coù hoùa ñôn naøo
(doøng naøo) trong baûng HoaDon coù maõ laø x, hay khoâng coù haøng hoùa naøo trong baûng
HangHoa coù maõ laø y).
(4) Lieân heä daïng 1  1..0. Trong heä thoáng quaûn lyù kinh doanh ta coù theå gaëp tröôøng hôïp
lieân heä giöõa hai ñoái töôïng phieáu thu vaø hoùa ñôn : moät phieáu thu phaûi do thu töø moät
hoùa ñôn naøo ñoù vaø moät hoùa ñôn coù theå coù moät hoaëc khoâng coù phieáu thu naøo (neáu
nhö khaùch haøng mua maø chöa traû tieàn). Tröôøng hôïp lieân heä naøy, baét nguoàn töø qui
trình nghieäp vuï baùn haøng cuûa doanh nghieäp :

Khaùch haøng ñaët haøng

neáu
coù
haøng
Boä phaän baùn haøng
xuaát hoùa ñôn
neáu traû neáu traû
ngay chaäm

Thuû quyõ laäp Boä phaän coâng nôï ghi


phieáu thu nhaän muïc nôï môùi

Hình 1.5 Qui trình nghieäp vuï baùn haøng

8
Khi ñoù, ta coù lieân heä giöõa phieáu thu vaø hoùa ñôn laø lieân heä 1  0..1
0..1 1
PhieuThu HoaDon

Coù nhieàu caùch thieát keá baûng ñeå minh hoïa cho lieân heä naøy, nhöng caùch phoå bieán, vaø
ñôn giaûn nhaát laø ta xem lieân heä naøy nhö lieân heä moät nhieàu, trong ñoù, nhaùnh 0..1 ñöôïc
xem nhö nhaùnh nhieàu. Vaø do ñoù, khi thieát keá, trong baûng PhieuThu ta seõ ñaët moät thuoäc
tính khoùa ngoaïi laø MaHD, laø khoùa chính cuûa baûng HoaDon. Do lieân heä giöõa phieáu thu
vaø hoùa ñôn laø moät nhieàu, neân caùch thieát keá naøy cho pheùp moät hoùa ñôn coù theå ñöôïc
thanh toaùn laøm nhieàu ñôït (moãi ñôt laø moät phieáu thu).
(5) Thay ñoåi lieân heä 1n thaønh nn. Nhö ñaõ trình baøy ôû phaàn veà lieân heä nhieàu nhieàu,
ñeå thay ñoåi lieân heä 1n thaønh nn, ta chæ ñôn giaûn laø theâm vaøo moät baûng môùi laøm
moái keát hôïp. ÔÛ caùch thieát keá trong baøi taäp maãu veà heä thoáng quaûn lyù kinh doanh,
lieân heä giöõa baûng HangHoa vaø baûng LoaiHang laø moät nhieàu (do ñoù, trong baûng
HangHoa coù thuoäc tính laø MaLoai), nghóa laø moãi maët haøng ñöôïc saép vaøo moät loaïi
haøng (nhoùm haøng), vaø moãi nhoùm haøng thì coù theå coù nhieàu maët haøng (ñöông
nhieân !). Neáu doanh nghieäp thay ñoåi caùch quaûn lyù naøy, vaø muoán cho moãi maët haøng
coù theå ñöôïc saép vaøo nhieàu nhoùm haøng khaùc nhau, thì ta chæ caàn thay ñoåi lieân heä
giöõa HangHoa vaø LoaiHang thaønh lieân heä nhieàu nhieàu. Vaø do ñoù, phaûi theâm vaøo moät
baûng laøm moái keát hôïp, coù theå ñaët teân baûng naøy ñaïi loaïi nhö PhanLoai, vaø trong baûng
naøy phaûi coù 2 thuoäc tính laø MaHang vaø MaLoai.
(6). Ña lieân heä. Giöõa hai ñoái töôïng coù theå coù nhieàu, thay vì chæ moät, moái lieân heä,
ñöông nhieân laø caùc moái lieân heä coù ngöõ nghóa khaùc nhau. Ta laáy ví duï trong heä thoáng
quaûn lyù nhaân söï, giöõa ñoái töôïng Phoøng ban vaø ñoái töôïng nhaân vieân coù theå coù ñeán
3 moái lieân heä :
- Moái lieân heä mang ngöõ nghóa “thuoäc” ñi töø nhaân vieân vaøo phoøng ban (nhaân vieân
thuoäc phoøng ban naøo). Moái lieân heä naøy laø 1n, trong ñoù nhaân vieân laø ñoái töôïng phuï
thuoäc (ôû nhaùnh nhieàu). Do ñoù, trong baûng NhanVien (nhaân vieân), ta seõ ñaët moät thuoäc
tính khoùa ngoaïi laø MaPhong (maõ phoøng, laø khoùa chính cuûa baûng PhongBan).
- Moái lieân heä mang ngöõ nghóa “coù tröôûng phoøng laø” ñi töø phoøng ban vaøo nhaân vieân,
baét nguoàn töø cô caáu toå chöùc cuûa doanh nghieäp : moãi phoøng ban phaûi coù moät tröôûng
phoøng vaø moät phoù phoøng. Moái lieân heä naøy laø 1 0..1, trong ñoù, phoøng ban laø ñoái
töôïng phuï thuoäc (ôû nhaùnh 0..1, maø ta xem nhö laø nhaùnh nhieàu). Do ñoù, trong baûng
PhongBan, ta seõ ñaët moät thuoäc tính khoùa ngoaïi laø MaNVTruongPhong (maõ nhaân vieân
cuûa ngöôøi tröôûng phoøng, maõ nhaân vieân laø khoùa chính cuûa baûng NhanVien). Chieàu
ngöôïc laïi cuûa lieân heä mang haøm yù : moãi nhaân vieân hoaëc khoâng laø gì caû, hoaëc laø
tröôûng cuûa moät phoøng ban naøo ñoù.
coù tröôûng phoøng
1..0
laø 1
PhongBan NhanVien

laø tröôûng phoøng cuûa

Hình 1.6 Moái lieân heä 1  0..1


- Moái lieân heä mang ngöõ nghóa “coù phoù phoøng laø” ñi töø phoøng ban vaøo nhaân vieân.
Töông töï nhö “coù tröôûng phoøng laø”, moái lieân heä naøy cuõng laø 10..1 ñi töø phoøng ban
vaøo nhaân vieân, vaø trong baûng PhongBan, ta seõ ñaët theâm moät thuoäc tính laø
MaNVPhoPhong.
9
Nhö vaäy, caáu truùc baûng PhongBan vaø baûng NhanVien coù daïng :
PhongBan(MaPhong, TenPhong, MaNVTruongPhong, MaNVPhoPhong, …)
NhanVien(MaNV, HoTen, MaPhong, NamSinh, GioiTinh, …)
coù tröôûng phoøng
1..0 laø 1
PhongBan NhanVien
1..0 coù phoù phoøng laø 1
1 n

thuoäc

Hình 1.7 Caùc moái lieân heä giöõa hai ñoái töôïng PhongBan vaø NhanVien
(7) Baûng coù theå vöøa laø moái keát hôïp vaø vöøa laø ñoái töôïng. Nhaéc laïi raèng moái keát
hôïp trong moät lieân heä nhieàu nhieàu cuõng coù theå coù thuoäc tính rieâng cuûa noù (nhö trong
baøi taäp maãu, ta coù SoLuongMua vaø DonGia laø caùc thuoäc tính rieâng cuûa baûng
ChiTietHoaDon). Trong moät soá tröôøng hôïp phöùc taïp hôn (khi thuoäc tính rieâng laø ña trò
chaúng haïn), moái keát hôïp cuõng coù theå coù lieân heä vôùi caùc ñoái töôïng khaùc. Khi ñoù,
trong ngöõ nghóa cuûa caùc moái lieân heä naøy, moái keát hôïp ñoùng vai troø laø ñoái töôïng
(ñöông nhieân, vì theo ñònh nghóa, lieân heä phaûi laø lieân heä giöõa hai ñoái töôïng). Vaø bôûi vì
coù vai troø laø ñoái töôïng, neân moái keát hôïp cuõng phaûi coù moät thuoäc tính khoùa. Thoâng
thöôøng, thuoäc tính khoùa naøy khoâng coù yù nghóa thöïc teá naøo khaùc, neân ta thöôøng choïn
kieåu döõ lieäu soá nguyeân cho thuoäc tính naøy (ñaïi loaïi nhö soá thöù töï taêng daàn chaúng
haïn). Moät soá heä quaûn trò CSDL coøn cung caáp chöùc naêng rieâng ñeå phaùt sinh töï ñoäng
giaù trò cho caùc thuoäc tính nhö vaäy (nhö kieåu AutoNumber trong Access).
Ta xeùt ví duï trong heä thoáng quaûn lyù thoâng tin veà aâm nhaïc, caùc ñoái töôïng ñöôïc xaùc
ñònh goàm baøi haùt, album, ca só, taùc giaû, … Khaûo saùt hai ñoái töôïng album vaø baøi haùt,
ta nhaän thaáy giöõa chuùng coù moái lieân heä nhieàu nhieàu vôùi ngöõ nghóa : moät album coù
nhieàu baøi haùt vaø moät baøi haùt coù theå coù maët trong nhieàu album. Ñeå minh hoïa lieân
heä naøy, ta taïo baûng moái keát hôïp laø ChiTietAlbum, vôùi caùc thuoäc tính khoùa ngoaïi laø
MaAB (maõ album), MaBH (maõ baøi haùt), vaø moät soá thuoäc tính rieâng ñaïi loaïi nhö
ThoiLuong (thôøi löôïng), STT (thöù töï ñöôïc trình baøy trong album), … Giaû söû ta caàn löu
tröõ theâm thoâng tin cho bieát laø moãi baøi haùt trong album do ca só naøo trình baøy. Neáu xem
thoâng tin naøy laø moät lieân heä 1n ñi töø baûng ChiTietAlbum vaøo baûng CaSi
(ChiTietAlbum laø baûng phuï thuoäc), thì ta chæ caàn theâm vaøo baûng ChiTietAlbum moät
thuoäc tính khoùa ngoaïi laø MaCS (maõ ca só, laø khoùa chính cuûa baûng CaSi). Tuy nhieân, khi
ñoù ta ñaõ giôùi haïn qui moâ cuûa heä thoáng laø trong moät album, moãi baøi haùt chæ ñöôïc
pheùp do moät ca só trình baøy. Ñeå boû ñi giôùi haïn naøy, ta caàn thay ñoåi lieân heä 1n naøy
thaønh lieân heä nn. Nhö ñaõ trình baøy ôû Löu yù (5), ta caàn taïo theâm moät baûng, taïm ñaët
teân laø CTAB_CaSi laø moái keát hôïp giöõa ñoái töôïng ChiTietAlbum vaø ñoái töôïng CaSi. Khi
ñoù, trong moái lieân heä naøy, baûng ChiTietAlbum ñoùng vai troø laø moät ñoái töôïng ôû
nhaùnh 1, neân ta phaûi taïo cho baûng naøy moät thuoäc tính laøm khoùa chính, taïm ñaët teân laø
CTAB_ID, vaø trong baûng CTAB_CaSi phaûi coù 2 thuoäc tính khoùa ngoaïi laø CTAB_ID vaø
MaCS.
(8) Traùnh dö thöøa döõ lieäu. Dö thöøa döõ lieäu laø hieän töôïng giaù trò taïi moät thuoäc tính bò
laëp ñi laëp laïi nhieàu laàn trong baûng (coù nhieàu doøng trong baûng coù giaù trò gioáng nhau
taïi thuoäc tính naøy). Dö thöøa döõ lieäu, ñaëc bieät laø vôùi döõ lieäu kieåu chuoãi daøi, gaây
laõng phí khoâng gian löu tröõ cuûa CSDL, vaø nghieâm troïng hôn, coù theå gaây maâu thuaãn
trong döõ lieäu khi ta thay ñoåi (do voâ tình, hay do caàn chænh söûa haøng loaït) moät trong caùc
giaù trò gioáng nhau naøy. Ñeå hieåu roõ theâm, ta xeùt ví duï sau.
10
Giaû söû trong heä thoáng quaûn lyù kinh doanh, baûng HangHoa ñöôïc thieát keá goàm caùc
thuoäc tính : MaHang (maõ haøng), TenHang (teân haøng), SoLuongTon (soá löôïng toàn kho),
DonGia (ñôn giaù), vaø TenLoaiHang (teân loaïi haøng). Nghóa laø ta khoâng caàn baûng
LoaiHang(MaLoai, TenLoaiHang), maø ñöa thaúng TenLoaiHang thaønh moät thuoäc tính cuûa
baûng HangHoa. Khi ñoù, trong baûng HangHoa, söï dö thöøa seõ xaûy ra treân thuoäc tính naøy,
vì, neáu doanh nghieäp coù 100 maët haøng thuoäc veà cuøng moät loaïi haøng coù teân laø X, thì
teân X seõ laëp ñi laëp laïi 100 laàn trong caùc doøng cuûa baûng HangHoa. Nghieâm troïng hôn,
neáu sau moät thôøi gian daøi hoaït ñoäng, vì lyù do gì ñoù, doanh nghieäp muoán ñoåi teân loaïi
haøng X thaønh moät teân khaùc, thì ngöôøi quaûn trò döõ lieäu phaûi thay ñoåi töông öùng cho
taát caû caùc teân X coù trong caùc doøng cuûa toaøn boä baûng HangHoa, vaø keå caû caùc baûng
döõ lieäu khaùc neáu coù lieân quan. Nguy hieåm cuõng töông töï khi coù sô soùt trong quaù trình
nhaäp lieäu (ngöôøi nhaäp lieäu goõ khoâng hoaøn toaøn chính xaùc teân loaïi haøng X). Ñoù laø
chöa xeùt ñeán caùc yeáu toá nhö, caùch thieát keá naøy seõ khoâng cho pheùp thay ñoåi qui moâ
cuûa CSDL (nhö cho pheùp moät maët haøng ñöôïc saép vaøo nhieàu loaïi haøng, hoaëc khi caàn
boå sung moät soá thoâng tin khaùc cho töøng loaïi haøng, ñaïi loaïi nhö soá löôïng muïc haøng,
hay doanh soá baùn ra cuûa töøng loaïi haøng trong naêm tröôùc chaúng haïn), gaây chaäm quaù
trình xöû lyù, tính toaùn (xöû lyù treân caùc döõ lieäu kieåu chuoãi, ñaëc bieät laø chuoãi daøi,
thöôøng chaäm hôn raát nhieàu so vôùi döõ lieäu kieåu soá). Giaûi phaùp khaéc phuïc trong
tröôøng hôïp naøy laø nhö caùch thieát keá cuûa baøi taäp maãu : thuoäc tính TenLoaiHang ñöôïc
taùch ra thaønh moät baûng môùi, thaønh moät ñoái töôïng, vaø do ñoù, baûng naøy coù theâm
thuoäc tính MaLoai (maõ loaïi haøng), vaø thuoäc tính naøy ñöôïc ñaët laøm khoùa ngoaïi trong
baûng HangHoa.
Caâu hoûi ñaët ra laø, sau khi thöïc hieän taùch baûng nhö trong ví duï treân, giaû söû teân loaïi
haøng X coù maõ loaïi laø t, thì giaù trò t naøy cuõng phaûi xuaát hieän laëp laïi 100 laàn trong
baûng HangHoa, thay cho teân X, nhö vaäy coù phaûi laø ñaõ xuaát hieän moät söï dö thöøa
khaùc ? Caâu traû lôøi laø, thöù nhaát, ta thöôøng choïn cho thuoäc tính MaLoai laø kieåu soá,
hoaëc neáu laø chuoãi thì caùc giaù trò maõ loaïi cuõng ngaén goïn hôn nhieàu so vôùi teân loaïi
haøng, thöù hai, caùch thieát keá naøy khaéc phuïc toaøn boä caùc khuyeát ñieåm ñaõ neâu ra, vaø
thöù ba, moâ hình CSDL quan heä chaáp nhaän dö thöøa döõ lieäu treân caùc thuoäc tính khoùa
ngoaïi vaø caùc heä quaûn trò CSDL thöôøng coù giaûi phaùp ngaàm (nhö ñaùnh chæ soá Index)
ñeå laøm giaûm thieåu aûnh höôûng cuûa söï dö thöøa (treân khoùa ngoaïi) naøy.
(9) Phaân bieät lieân heä tröïc tieáp vaø giaùn tieáp. Caùc moái lieân heä ñöôïc xaùc ñònh (vaø caøi
ñaët thaønh thuoäc tính cuûa caùc baûng) ñeàu phaûi laø lieân heä tröïc tieáp. Moät lieân heä giöõa
hai ñoái töôïng goïi laø giaùn tieáp khi cuøng coù lieân heä ñeán moät ñoái töôïng khaùc, vaø ñoái
töôïng naøy ñoùng vai troø laøm caàu noái trong ngöõ nghóa cuûa moái lieân heä ban ñaàu (phöông
phaùp phaân tích thieát keá heä thoáng höôùng ñoái töôïng vôùi UML goïi ñaây laø moái lieân heä
voøng, hay baéc caàu).
A B C

Hình 1.8 Moái lieân heä giaùn tieáp giöõa A vaø C


Trong Hình 1.8, neáu ngöõ nghóa cuûa moái lieân heä giöõa A vaø C coù lieân quan ñeán (coù vai
troø laøm caàu noái) ngöõ nghóa cuûa hai moái lieân heä AB vaø BC, thì AC ñöôïc goïi laø
lieân heä giaùn tieáp vaø khoâng ñöôïc xeùt (nghóa laø bò boû ñi).
Ta coù theå laáy moät ví duï ngay trong heä thoáng quaûn lyù kinh doanh. Khi xem xeùt ñoái
töôïng haøng hoùa vaø ñoái töôïng khaùch haøng, ta raát deã nhaàm laãn laø giöõa chuùng coù
moät moái lieân heä nhieàu nhieàu, vôùi ngöõ nghóa : moãi maët haøng ñöôïc mua bôûi nhieàu
khaùch haøng vaø moãi khaùch haøng coù theå mua nhieàu maët haøng. Tuy nhieân, ñaây laø moái
lieân heä giaùn tieáp, thoâng qua caàu noái laø moät ñoái töôïng khaùc : ñoái töôïng hoùa ñôn.
11
Laáy moät ví duï khaùc trong heä thoáng quaûn lyù thö vieän, khi khaûo saùt hai ñoái töôïng taùc
giaû vaø nhaø xuaát baûn ta cuõng deã nhaàm laãn laø chuùng coù lieân heä vôùi nhau. Nhöng
thöïc ra, lieân heä naøy laø giaùn tieáp, vì vieäc taùc giaû coù lieân heä vôùi nhaø xuaát baûn laø vì
taùc giaû vieát ra saùch, coøn saùch thì ñöôïc in bôûi nhaø xuaát baûn, nghóa laø chuùng lieân heä
vôùi nhau thoâng qua ñoái töôïng caàu noái laø saùch.
3.4 Phaân thieát keá caùc yeâu caàu
3.5 Xaây döïng
3.6 Moät vaán ñeà naâng cao
Baøi taäp minh hoïa :
1. Xaây döïng CSDL cho heä thoáng thoâng tin quaûn lyù doanh nghieäp FoodMart
2. Xaây döïng CSDL cho heä thoáng thoâng tin quaûn lyù sinh vieân ôû moät tröôøng ñaïi
hoïc

12

Вам также может понравиться