Giáo trình môn Cơ sở dữ liệu

Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
1
MC LC  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
2
THUAÄT TOAÙN TÌM F+.......................................................................................................48  
----oOo----  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
3
Chöông 1 .  
MOÂ HÌNH QUAN HEÄ  
I
NGUYEÂN NHAÂN RA ÑÔØI CUÛA MOÂ HÌNH QUAN HEÄ (RELATIONAL MODEL)  
Trong nhieàu naêm, coâng ngheä tính toaùn vaø thoâng tin phaùt trieån töø nhöõng heä thoáng lôùn, ñaét tieàn, ñoäc  
quyeàn ñeán caùc heä thoáng môû maïnh vaø khoâng ñaét tieàn. Söï phaùt trieån naøy mang laïi lôïi ích to lôùn cho  
ngöôøi duøng cuoái bôûi söï phaùt trieån cuûa caùc goùi öùng duïng soá nhö xöû lyù vaên baûn, baûng tính ñieän töû, vaên  
phoøng xuaát baûn, heä quaûn lyù cô sôû döõ lieäu, maùy tính trôï giuùp coâng ngheä phaàn meàm....  
Tröôùc khi maùy tính hoùa cô sôû döõ lieäu ñöôc giôùi thieäu, döõ lieäu ñöôïc löu tröõ theo kieåu ñieän töû thaønh  
nhieàu taäp tin rieâng bieät söû duïng heä taäp tin (töø ñaây veà sau ta goïi heä taäp tin theo loái cuõ). Nhöõng taäp  
tin naøy ñöôïc xöû lyù baèng caùc ngoân ngöõ theá heä thöù ba nhö COBOL, FORTRAN, PASCALvaø ngay caû  
BASICñeå taïo ra caùc giaûi phaùp cho caùc vaán ñeà cuûa doanh nghieäp. Moãi öùng duïng, chaúng haïn nhö heä  
tính löông, heä kho hay heä thoáng keá toaùn seõ coù moät taäp caùc taäp tin rieâng chöùa döõ lieäu rieâng. Caùc öùng  
duïng nhö vaäy taïo ra ba vaán ñeà sau:  
-
Coù söï lieân keát chaët cheõ giöõa caáu truùc luaän lyù vaø caáu truùc vaät lyù cuûa caùc taäp tin vaø chöông  
trình öùng duïng khai thaùc chuùng. Ñieàu naøy khieán vieäc taïo neân caùc öùng duïng naøy raát khoù  
khaên, toán nhieàu thôøi gian vaø do vaäy maø toán keùm trong baûo trì heä thoáng.  
Coù söï dö thöøa döõ lieäu raát lôùn qua vieäc truøng laép caùc taäp tin trong caùc öùng duïng khaùc nhau.  
Ñieàu naøy taïo ra nhöõng vaán ñeà nhö: döõ lieäu thieáu nhaát quaùn, khoâng gian ñóa bò laõng phí, thôøi  
gian baûo trì vaø löu phoøng hôø caùc taäp tin gia taêng, vaán ñeà veà quaûn trò nhö khoâng chuù troïng  
baûo maät vaø toå chöùc döõ lieäu thieáu thoáng nhaát. Moät ví duï ñieån hình veà söï truøng laép döõ lieäu laø:  
Heä quaûn lyù nguoàn nhaân löïc bao goàm ba heä chính:  
-
1. Heä löông, heä naøy duy trì ngaøy coâng vaø löông cho taát caû nhaân vieân.  
2. Heä nhaân söï, heä naøy duy trì lyù lòch caù nhaân, döõ lieäu veà toå chöùc, coâng vieäc ñaøo taïo vaø  
vò trí thaêng tieán.  
3. Heä höu, heä naøy quaûn trò caùc qui taéc lieân quan ñeán nghæ höu, loaïi nghæ höu. Chi tieát veà  
höu cuûa töøng nhaân vieân.  
Vaán ñeà phöùc taïp laø Heä löông thoâng thöôøng ñöôïc quaûn lyù bôûi phoøng taøi chaùnh, trong khi Heä  
nhaân söï vaø Heä höu ñöôïc quaûn lyù bôûi phoøng toå chöùc. Roõ raøng, coù nhieàu döõ lieäu veà nhaân vieân  
laø chung cho caû ba heä. Thöôøng nhöõng heä naøy thöïc hieän vaø giöõ gìn rieâng bieät vaø chuùng taïo  
söï truøng döõ lieäu nhaân vieân maø chuùng duøng.  
-
Ngöôøi söû duïng coù ít khaû naêng khai thaùc tröïc tieáp döõ lieäu.  
II CÔ SÔÛ DÖÕ LIEÄU VAØ HEÄ QUAÛN TRÒ CÔ SÔÛ DÖÕ LIEÄU (DATABASE AND DATABASE  
MANAGEMENT SYSTEM)  
Khôûi ñaàu, söï giôùi thieäu CSDL vaø HQTCSDL nhaèm giaûi quyeát caùc vaán ñeà cuûa heä thoâng tin döïa treân  
caùc taäp tin theo loái cuõ (C1.I). Ñieàu naøy taïo ra vieäc phaùt trieån treân hai möôi laêm naêm qua moät heä  
CSDL quan heä thöông maïi xuaát hieän cuoái nhöõng naêm thaäp nieân 70 vaø caùc naêm ñaàu cuûa thaäp nieân  
80. Tröôùc khi xem xeùt CSDL vaø heä QTCSDLQH giaûi quyeát moät vaøi vaán ñeà cuûa heä thoâng tin theo loái  
cuõ nhö theá naøo chuùng ta caàn laøm roõ vaøi khaùi nieäm.  
Bmôn CSDL Trường CĐCN 4  
       
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
4
1 CSDL laø gì?  
Moät cô sôû döõ lieäu coù theå ñònh nghóa taïm nhö sau: moät choã chöùa coù toå chöùc taäp hôïp caùc taäp tin döõ  
lieäu coù töông quan, caùc maãu tin vaø caùc coät.  
Ngaøy nay CSDL toàn taïi trong moãi öùng duïng thoâng duïng, ví duï:  
-
-
-
-
-
Heä kho vaø kieåm keâ.  
Heä ñaët choã maùy bay  
Heä nguoàn nhaân löïc.  
heä dòch vuï coâng coäng nhö caáp nöôùc, ñieän, khí ñoát  
Ñieàu khieån quaù trình cheá taïo vaø saûn xuaát  
2 Heä quaûn trò CSDL  
Moät heä quaûn trò CSDL (HQTCSDL) laø:  
-
moät taäp caùc phaàn meàm quaûn lyù CSDL vaø cung caáp caùc dòch vuï xöû lyù CSDL cho caùc nhöõng  
ngöôøi phaùt trieån öùng duïng vaø ngöôøi duøng cuoái.  
HQTCSDL cung caáp moät giao dieän giöõa ngöôøi söû duïng vaø döõ lieäu.  
HQTCSDL bieán ñoåi CSDL vaät lyù thaønh CSDL logic.  
-
-
Döïa vaøo caùch toå chöùc döõ lieäu, HQTCSDL ñöôïc chia thaønh naêm loaïi:  
-
-
-
-
-
loaïi phaân caáp nhö heä IMS cuûa IBM  
loaïi maïng nhö IDMS cuûa Cullinet Software  
Loaïi taäp tin ñaûo nhö ADABAS cuûa Software AG  
Loaïi quan heä nhö nhö ORACLE cuûa Oracle, DB2 cuûa IBM, ACCESS cuûa Microsoft Access  
Loaïi ñoái töôïng laø moät tieáp caän khaù môùi trong thieát keá HQTCSDL vaø vieäc söû duïng loaïi naøy  
sôùm trôû neân phoå bieán  
Hieän taïi, loaïi HQTCSDL chính ñöôïc söû duïng trong coâng ngheä laø loaïi HQTCSDL quan heä  
(RDBMS). Loaïi naøy ñaõ chieám lónh trong coâng ngheä treân 10-15 naêm cuoái cuøng khi ñaùnh baät loaïi  
HQTCSDL phaân caáp vaø gaàn ñaây laø HQTCSDL maïng.  
3 Ngöôøi duøng (User)  
Ngöôøi duøng khai thaùc CSDL thoâng qua HQTCSDL coù theå phaân thaønh ba loaïi: ngöôøi quaûn trò CSDL,  
ngöôøi phaùt trieån öùng duïng vaø laäp trình, ngöôøi duøng cuoái.  
-
Ngöôøi quaûn trò CSDL, haøng ngaøy, chòu traùch nhieäm quaûn lyù vaø baûo trì CSDL nhö:  
+ söï chính xaùc vaø toaøn veïn cuûa döõ lieäu vaø öùng duïng trong CSDL, söï baûo maät cuûa CSDL  
+ löu phoøng hôø vaø phuïc hoài CSDL  
+ giöõ lieân laïc vôùi ngöôøi phaùt trieån öùng duïng, ngöôøi laäp trình vaø ngöôøi duøng cuoái.  
+ baûo ñaøm söï hoaït ñoäng troâi chaûy vaø hieäu quaû cuûa CSDL vaø HQTCSDL  
Bmôn CSDL Trường CĐCN 4  
     
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
5
-
-
Ngöôøi phaùt trieån vaø laäp trình öùng duïng laø nhöõng ngöôøi chuyeân nghieäp veà maùy tính coù traùch  
nhieäm thieát keá, taïo döïng vaø baûo trì heä thoâng tin cho ngöôøi duøng cuoái.  
Ngöôøi duøng cuoái laø nhöõng ngöôøi khoâng chuyeân veà maùy tính nhöng hoï laø caùc chuyeân gia  
trong caùc laõnh vöïc khaùc coù traùch nhieäm cuï theå trong toå chöùc. Hoï khai thaùc CSDL thoâng qua  
heä ñöôïc phaùt trieån bôûi ngöôøi phaùt trieån öùng duïng hay caùc coâng cuï truy vaán cuûa HQTCSDL.  
4 CSDLQH vaø Heä taäp tin theo loái cuõ  
Tieáp caän CSDL ñaõ giaûi quyeát 3 vaán ñeà cuûa heä taäp tin theo loái cuõ:  
i
Vaán ñeà 1: caáu truùc logic vaø caáu truùc vaät lyù  
Kieán truùc beân trong HQTCSDL quan heä taùch bieät roõ raøng giöõa:  
-
-
caáu truùc luaän lyù cuûa taát caû taäp tin vaø chöông trình öùng duïng khai thaùc taäp tin naøy vaø  
caáu truùc vaät lyù cuûa csdl vaø phaàn löu tröõ caùc taäp tin.  
Tieáp caän naøy taïo cho ngöôøi quaûn trò CSDL coù theå thay ñoåi caáu truùc vaät lyù hay nôi löu tröõ cuûa taäp tin  
maø khoâng aûnh höôûng ñeán chöông trình öùng duïng.  
ii Vaán ñeà 2: dö thöøa döõ lieäu  
Khi HQTCSDLQH ñöôïc giôùi thieäu, nhieàu toå chöùc mong tích hôïp caùc taäp tin ñaõ phaân taùn khaép trong  
toå chöùc vaøo moät CSDL taäp trung. Döõ lieäu coù theå chia seû cho nhieàu öùng duïng khaùc nhau vaø ngöôøi söû  
duïng coù theå khai thaùc ñoàng thôøi caùc taäp con döõ lieäu lieân quan ñeán hoï. Ñieàu naøy laøm haïn cheá söï dö  
thöøa döõ lieäu.  
iii Vaán ñeà 3: Söï khai thaùc döõ lieäu cuûa ngöôøi söû duïng  
Trong heä QTCSDLQH ngöôøi duøng coù theå tröïc tieáp khai thaùc döõ lieäu thoâng qua vieäc söû duïng caùc caâu  
truy vaán hay caùc coâng cuï baùo caùo ñöôïc cung caáp bôûi heä QTCSDL.  
III MO HÌNH QUAN HEÄ (RELATIONAL MODEL)  
1 Moâ hình quan heä laø gì ?  
Moâ hình Cô sôû döõ lieäu Quan heä (goïi taét laø Moâ hình Quan heä) do E.F Codd ñeà xuaát naêm 1971. Moâ  
hình naøy bao goàm:  
-
Moät heä thoáng caùc kyù hieäu ñeå moâ taû döõ lieäu döôùi daïng doøng vaø coät nhö quan heä, boä, thuoäc  
tính, khoùa chính, khoaù ngoaïi, ...  
-
-
Moät taäp hôïp caùc pheùp toaùn thao taùc treân döõ lieäu nhö pheùp toaùn taäp hôïp, pheùp toaùn quan heä.  
raøng buoäc toaøn veïn quan heä.  
Bmôn CSDL Trường CĐCN 4  
     
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
6
Caùc heä HQTCSDLQH ngaøy nay ñöôïc xaây döïng döïa vaøo lyù thuyeát cuûa moâ hình quan heä.  
Muïc ñích cuûa moân hoïc naøy giuùp cho sinh vieân naém ñöôïc kieán truùc toång quaùt veà moâ hình quan heä vaø  
aùp duïng noù ñeå laäp moâ hình döõ lieäu quan heä coù hieäu quaû trong löu tröõ vaø khai thaùc.  
MASV HOTENH  
MONHOC  
CO SO DU LIEU  
TENKHOA  
DIEMTHI  
99001  
99002  
99001  
99005  
TRAN DAN THU  
COÂNG NGHEÄ THOÄNG TIN  
COÂNG NGHEÄ THOÄNG TIN  
3.0  
8.0  
6.0  
5.0  
NGUYEN HA DA THAO CO SO DU LIEU  
TRAN DAN THU  
LE THANH TRUNG  
TIN HOC VAN PHONG COÂNG NGHEÄ THOÄNG TIN  
TIN HOC VAN PHONG ANH VAN  
Chaúng haïn vôùi baøi toaùn quaûn lyù ñieåm thi cuûa sinh vieân; neáu löu tröõ döõ lieäu theo daïng baûng vôùi caùc  
coät MASV, HOTEN, MONHOC,TENKHOA, DIEMTHI thì caùc gía trò cuûa caùc coät HOTEN, MONHOC,  
TENKHOAseõ bò truøng laép. Söï truøng laép naøy gaây neân moät soá vaán ñeà:  
-
-
Ta khoâng theå löu tröõ moät sinh vieân môùi khi sinh vieân naøy chöa coù ñieåm thi  
Khi caàn söûa ñoåi hoï teân sinh vieân thì ta phaûi söûa taát caû caùc doøng coù lieân quan ñeán sinh vieân  
naøy. Ñieàu naøy deã gaây ra tình traïng döõ lieäu thieáu nhaát quaùn.  
Khi coù nhu caàu xoùa ñieåm thi cuûa moät sinh vieân keùo theo khaû naêng xoùa luoân hoï teân sinh vieân  
ñoù.  
-
Vieäc löu tröõ döõ lieäu nhö treân khoâng ñuùng vôùi moâ hình quan heä. Ñeå löu tröõ ñuùng vôùi moâ hình quan heä  
ta phaûi thay MONHOCbaèng MAMH, thay TENKHOAbaèng MAKHOA,taùch moät baûng döõ lieäu lôùn ñoù ra  
thaønh nhieàu baûng con, nhö moâ hình döôùi.  
MASV MAMH MAKHOA DIEMTHI  
MASV HOTEN  
99001 CSDL  
99002 CSDL  
99001 THVP  
99005 THVP  
CNTT  
CNTT  
CNTT  
AV  
3.0  
8.0  
6.0  
5.0  
99001 TRAN DAN THU  
99002 NGUYEN HA DA THAO  
99005 LE THANH TRUNG  
MAMH TENMH  
SOTIET  
MAKHOA TENKHOA  
CSDL  
CO SO DU LIEU  
90  
CNTT  
CONG NGHE THONG TIN  
THVP  
TIN HOC VAN PHONG  
90  
AV  
ANH VAN  
2 Caùc khaùi nieäm cô baûn cuûa moâ hình quan heä  
i
Thuoäc tính (Attribute, Arity)  
Chaúng haïn vôùi baøi toaùn quaûn lyù ñieåm thi cuûa sinh vieân; vôùi ñoâái töôïng sinh vieân ta caàn phaûi chuù yù  
ñeán caùc ñaëc tröng rieâng nhö hoï teân, ngaøy sinh, nöõ (giôùi tính), tænh thöôøng truù, hoïc boång, lôùp maø sinh  
vieân theo hoïc,. . . caùc ñaëc tröng naøy goïi laø thuoäc tính.  
Caùc thuoäc tính ñöôïc phaân bieät qua teân goïi vaø phaûi thuoäc vaøo moät kieåu döõ lieäu nhaát ñònh (soá, chuoãi,  
ngaøy thaùng, logic, hình aûnh,…). Kieåu döõ lieäu ôû ñaây laø kieåu ñôn. Trong cuøng moät ñoái töôïng khoâng  
ñöôïc coù hai thuoäc tính cuøng teân.  
Thoâng thöôøng moãi thuoäc tính chæ choïn laáy giaù trò trong moät taäp con cuûa kieåu döõ lieäu vaø taäp hôïp con  
ñoù goïi laø mieàn giaù trò cuûa thuoäc tính ñoù. Thuoäc tính ngaøy trong thaùng thì coù kieåu döõ lieäu laø soá  
nguyeân, mieàn giaù trò cuûa noù laø 1 ñeán (toái ña laø) 31. Hoaëc ñieåm thi cuûa sinh vieân chæ laø caùc soá  
nguyeân töø 0 ñeán 10.  
Thöôøng ngöôøi ta duøng caùc chöõ caùi hoa A,B,C,… ñeå bieåu dieãn caùc thuoäc tính, hoaëc A1,A2,…., An ñeå  
bieåu dieãn moät soá löôïng lôùn caùc thuoäc tính.  
Bmôn CSDL Trường CĐCN 4  
 
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
7
ii Löôïc Ñoà Quan Heä (Relation Schema)  
Taäp taát caû caùc thuoäc tính caàn quaûn lyù cuûa moät ñoái töôïng cuøng vôùi moái lieân heä giöõa chuùng ñöôïc goïi  
laø löôïc ñoà quan heä. Löôïc ñoà quan heä Q vôùi taäp thuoäc tính {A1,A2,...,An} ñöôïc vieát laø  
Q(A1,A2,...,An). Taäp caùc thuoäc tính cuûa Q ñöôïc kyù hieäu laø Q+. Chaúng haïn löôïc ñoà quan heä sinh  
vieân (Ñaët teân laø Sv) vôùi caùc thuoäc tính nhö treân laø:  
Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP, HOCBONG, TINH)  
Thöôøng khi thaønh laäp moät löôïc ñoà, ngöôøi thieát keá luoân gaén cho noù moät yù nghóa nhaát ñònh, yù nghóa ñoù  
goïi laø taân töø cuûa löôïc ñoà quan heä ñoù. Döïa vaøo taân töø ngöôøi ta xaùc ñònh ñöôïc taäp thuoäc tính khoùa cuûa  
löôïc ñoà quan heä (khaùi nieäm khoaù seõ ñöôïc trình baøy ôû phaàn sau).  
Khi phaùt bieåu taân töø cho moät löôïc ñoà quan heä, ngöôøi thieát keá caàn phaûi moâ taû ñaày ñuû yù nghóa ñeå  
ngöôøi khaùc traùnh hieåu nhaàm. Chaúng haïn taân töø cuûa löôïc ñoà quan heä treân laø:”moãi sinh vieân coù moät  
maõ sinh vieân (MASV)duy nhaát, moãi maõ sinh vieân xaùc ñònh taát caû caùc thuoäc tính cuûa sinh vieân ñoù  
nhö hoï teân (HOTEN), nöõ (NU) ,ngaøy sinh (NGAYSINH), lôùp theo hoïc (MALOP), hoïc boång  
(HOCBONG), tænh cö truù (TINH).  
Nhieàu löôïc ñoà quan heä cuøng naèm trong moät heä thoáng quaûn lyù ñöôïc goïi laø moät löôïc ñoà cô sôû döõ lieäu.  
Ví duï löôïc ñoà cô sôû döõ lieäu ñeå quaûn lyù ñieåm sinh vieân coù theå goàm caùc löôïc ñoà quan heä sau:  
Sv(MASV, HOSV,TENSV, NU, NGAYSINH, MALOP, TINH, HOCBONG)  
Lop(MALOP,TENLOP,SISO,MAKHOA)  
Kh(MAKHOA,TENKHOA, SOCBGD)  
Mh(MAMH, TENMH, SOTIET)  
Kq(MASV, MAMH, DIEMTHI)  
Phaàn giaûi thích caùc thuoäc tính:  
MASV  
HOTEN  
NU  
Maõ sinh vieân  
Teân sinh vieân  
Nöõ  
NGAYSINH  
LOP  
ngaøy sinh  
lôùp  
TENLOP  
SISO  
teân lôùp  
sæ soá lôùp  
MAKHOA  
HOCBONG  
TINH  
maõ khoa  
hoïc boång  
tænh  
TENKHOA  
SOCBGD  
MAMH  
TENMH  
SOTIET  
DIEMTHI  
teân khoa  
soá caùn boä giaûng daïy  
maõ moân hoïc  
teân moân hoïc  
soá tieát  
ñieåm thi  
iii Quan Heä (Relation)  
Söï theå hieän cuûa löôïc ñoà quan heä Q ôû moät thôøi ñieåm naøo ñoù ñöôïc goïi laø quan heä, roõ raøng laø treân moät  
löôïc ñoà quan heä coù theå ñònh nghóa raát nhieàu quan heä. Thöôøng ta duøng caùc kyù hieäu nhö R, S, Qñeå chæ  
caùc löôïc ñoà quan heä, coøn quan heä ñöôïc ñònh nghóa treân noù töông öùng ñöôïc kyù hieäu laø laø r, s, q.  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
8
iv Boä (Tuple)  
Boä laø taäp moãi giaù trò lieân quan cuûa taát caû caùc thuoäc tính cuûa moät löôïc ñoà quan heä.  
Chaúng haïn quan heä sau coù 2 boä.  
MASV HOTEN  
99001 TRAN DAN THU  
NU NGAYSINH MALOP TINH  
TRUE 15-03-1977 CÑTH2B TIEN GIANG 120000  
HOCBONG  
99002 NGUYEN HA DA THAO TRUE 25-04-1986 TCTH29C TPHCM  
120000  
Thöôøng ngöôøi ta duøng caùc chöõ caùi thöôøng (nhö t,p,q,…) ñeå bieåu dieãn caùc boä. Chaúng haïn ñeå noùi boä  
t thuoäc quan heä r ta vieát: t r.  
Veà tröïc quan thì moãi quan heä xem nhö moät baûng, trong ñoù moãi coät laø thoâng tin veà moät thuoäc tính,  
moãi doøng laø thoâng tin veà moät boä. Chaúng haïn sau ñaây laø caùc theå hieän cuûa caùc quan heä ñònh nghóa  
treân löôïc ñoà cô sôû döõ lieäu quaûn lyù sinh vieân ôû treân:  
rSv  
MASV HOTEN  
99001 TRAN DAN  
NU  
NGAYSINH MALOP TINH  
HOCBONG  
120000  
THU  
TRUE 15-03-1977 CÑTH2B TIEN GIANG  
99002 NGUYEN HA DA THAO TRUE 25-04-1986 CÑTH2B TPHCM  
99003 PHAM ANH HUY FALSE16-08-1977 CÑTH2B BAC LIEU  
99004 NGUYEN NGOC THUAN FALSE24-12-1980 CÑTH2B CA MAU  
99005 LE THANH TRUNG FALSE20-11-1978 CÑAV1 CA MAU  
99006 NGUYEN HONG VAN FALSE19-09-1979 CÑAV1 SOC TRANG  
120000  
120000  
60000  
99007 VU THI  
LOAN TRUE 15-03-1975 CÑAV1 CA MAU  
QUANG FALSE15-05-1975 CÑTH2B HA NOI  
QUYEN FALSE26-06-1976 CÑTH2B VUNG TAU  
LONG FALSE14-04-1973 CÑAV1 BAC LIEU  
99008 TRUONG KIM  
99009 TON THAT  
99010 HA VAN  
99011 BUI VAN  
99012 LE HUU  
99013 VU THANH  
99014 TRAN QUANG  
99015 PHAM VAN  
ANH  
CHI  
FALSE22-12-1972 CÑAV1 AN GIANG  
FALSE28-08-1977 CÑÑT2 CAN THO  
60000  
60000  
120000  
CONG FALSE29-03-1979 CÑTH2B KIEN GIANG  
CUONG FALSE30-05-1981 CÑÑT2 DONG THAP  
HAI  
FALSE30-06-1976 CÑÑT2 CA MAU  
99016 HUYNH THANH HOANG FALSE29-07-1982 CÑÑT2 TPHCM  
80000  
99017 TRAN MINH  
99018 PHAN VAN  
99019 PHAM THI  
99020 NGUYEN THI  
99021 PHAM TAN  
99022 TRAN PHUOC  
LAM  
SANG  
FALSE21-08-1977 CÑTH2B TRA VINH  
FALSE19-05-1979 CÑDL1 DONG THAP  
120000  
120000  
120000  
HUYEN FALSE16-06-1982 CÑDL1 CAN THO  
NGAN TRUE 11-11-1981 CÑTH2B CA MAU  
QUANG FALSE01-01-1980 CÑDL1 CA MAU  
QUYEN FALSE12-12-1979 CÑTH2B BAC LIEU  
60000  
99023 LE THI THANH VAN  
TRUE 11-11-1980 CÑDL1 TPHCM  
120000  
rKh  
MAKHOA TENKHOA  
rMh  
MAMHTENMH  
CSDL  
FOX  
THVP  
AVTH  
KTS  
SOCBGD  
SOTIET  
90  
CNTT  
60  
60  
20  
10  
10  
5
CONG NGHE THONG TIN  
CO SO DU LIEU  
AV  
120  
90  
60  
60  
60  
ANH VAN  
FOXPRO  
HOA  
MAÙY TÍNH  
XD  
HOA CHAT  
TIN HOC VAN PHONG  
ANH VAN TIN HOC  
KY THUAT SO  
MOI TRUONG  
XAY DUNG  
DL  
CTDL  
DU LICH  
CAU TRUC DU LIEU  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
45  
9
TTIN  
SINH  
VL  
30  
30  
20  
20  
TTNT  
MANG  
VB  
AC  
LR  
INTER  
HDH  
KTLT  
VIFOX  
TOAN -TIN HOC  
CONG NGHE SINH HOC  
VAT LY  
TRI TUE NHAN TAO  
MANG MAY TINH CB  
VI SUAL BASIC  
45  
90  
180  
60  
45  
60  
ÑT  
ÑIEÄN TÖÛ  
ACCESS  
LAP RAP MAY TINH  
CAC DICH VU INTERNET  
HE DIEU HANH  
45  
60  
KY THUAT LAP TRINH  
VISUAL FOXPRO  
rKq  
MASV MAMH DIEMTHI  
99001 CSDL  
99002 CSDL  
99003 CSDL  
99004 CSDL  
99005 CSDL  
99001 THVP  
99002 THVP  
99003 THVP  
99004 THVP  
99005 THVP  
3.0  
8.0  
8.0  
3.0  
2.0  
6.0  
3.0  
8.0  
9.0  
5.0  
99006 MANG 6.0  
99007 MANG 2.0  
99008 MANG 7.0  
99009 MANG 3.0  
99016 KTS  
99017 KTS  
99017 FOX  
99017 MANG 8.0  
99017 CSDL 8.0  
99017 TTNT 6.0  
99002 MANG 8.0  
99004 MANG 4.0  
99018 TTNT 7.0  
99019 CSDL 8.0  
7.0  
7.0  
4.0  
99010 TTNT  
99011 FOX  
99012 FOX  
99013 FOX  
99014 VB  
5.0  
4.0  
5.0  
7.0  
7.0  
3.0  
99015 VB  
99020 THVP  
99021 MANG  
99022 MANG  
99023 CSDL  
99023 MANG  
7.0  
7.0  
6.0  
8.0  
6.0  
99023 TTNT  
99023 THVP  
99023 FOX  
99023 VB  
3.0  
6.0  
8.0  
9.0  
6.0  
99021 CSDL 8.0  
99021 THVP 9.0  
99022 FOX  
5.0  
99022 TTNT 6.0  
99023 KTS  
rLop  
MALOP  
CÑTH2B  
TCTH29C  
CÑAV1  
CÑÑT2  
CÑDL1  
TENLOP  
SISO  
MAKHOA  
CAO ÑAÚNG TIN HOÏC KHOAÙ 2000B  
TRUNG CAÁP TIN HOÏC KHOAÙ 29 C  
CAO ÑAÚNG ANH VAÊN 1  
CAO ÑAÚNG ÑIEÄN TÖÛ 2  
CAO ÑAÚNG DU LÒCH 1  
60 cntt  
121 cntt  
120 av  
80 ñt  
42 dl  
v
Khoùa (Key, Candidate Key):  
Cho löôïc ñoà quan heä R, SR+. S ñöôïc goïi laø moät sieâu khoùa (superkey) cuûa löôïc ñoà quan heä R neáu  
vôùi hai boä tuøy yù trong quan heä R thì giaù trò cuûa caùc thuoäc tính trong S laø khaùc nhau.  
Moät löôïc ñoà quan heä coù theå coù nhieàu sieâu khoaù. Sieâu khoaù chöùa ít thuoäc tính nhaát ñöôïc goïi laø khoùa  
chæ ñònh, trong tröôøng hôïp löôïc ñoà quan heä coù nhieàu khoùa chæ ñònh, thì khoùa ñöôïc choïn ñeå caøi ñaët  
goïi laø khoùa chính (Primary key) (trong caùc phaàn sau khoùa chính ñöôïc goïi taét laø khoùa)  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
10  
Caùc thuoäc tính tham gia vaøo moät khoùa ñöôïc goïi laø thuoäc tính khoùa (prime key), ngöôïc laïi  
ñöôïc goïi laø thuoäc tính khoâng khoùa (non prime key).  
Moät thuoäc tính ñöôïc goïi laø khoùa ngoaïi neáu noù laø thuoäc tính cuûa moät löôïc ñoà quan heä naøy nhöng laïi  
laø khoùa chính cuûa löôïc ñoà quan heä khaùc.  
Ví duï: Ta haõy xem löôïc ñoà quan heä sau:  
Xe(SODANGBO,QUICACH, INHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)  
Sieâu khoùa: (SOSUON,QUICACH),...  
Khoùa chæ ñònh: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE)  
Khoùa chính: MAXE  
Thuoäc tính khoùa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE  
Thuoäc tính khoâng khoùa: QUICACH, HINHDANG, MAUSAC  
Khoùa cuûa Sv laø (MASV), Khoaù cuûa Mh laø (MAMH), khoaù cuûa Kh laø (MAKHOA), khoùa cuûa Kq laø  
(MASV,MAMH)khoùa cuûa Lop laø MALOP, trong Lop thuoäc tính MAKHOA laø khoùa ngoaïi  
3 Caùc pheùp toaùn taäp hôïp (set operation)  
i
Pheùp hôïp (Union operation)  
Cho hai löôïc ñoà quan heä Q1 vaø Q2 coù cuøng taäp thuoäc tính {A1,A2,..,An}. r1 vaø r2 laàn löôït laø hai  
quan heä treân Q1 vaø Q2. Pheùp hôïp cuûa hai löôïc ñoà quan heä Q1 vaø Q2 seõ taïo thaønh moät löôïc ñoà quan  
heä Q3. Q3 ñöôïc xaùc ñònh nhö sau:  
Q3+= {A1,A2,..,An}  
r3= r1+r2 = {t | t r1 hoaëc t r2}  
Ví duï:  
r1  
r3 = r1 + r2  
r2  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
99002 CTDL  
99001 TTNT  
99003 CSDL  
2.0  
5.0  
6.0  
99001 CSDL  
99002 CTDL  
99003 MANG  
99001 TTNT  
99003 CSDL  
5.0  
2.0  
8.0  
5.0  
6.0  
ii Pheùp Giao (Intersection):  
Cho hai löôïc ñoà quan heä Q1 vaø Q2 coù cuøng taäp thuoäc tính {A1,A2,..,An}. r1 vaø r2 laàn löôït laø hai  
quan heä treân Q1 vaø Q2. Pheùp giao cuûa hai löôïc ñoà quan heä Q1 vaø Q2 seõ taïo thaønh moät löôïc ñoà quan  
heä Q3 nhö sau:  
Q3+={A1,A2,..,An}  
r3 = r1*r2= {t | t r1 vaø t r2}  
Ví duï:  
r1  
r2  
r3 = r1* r2  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
99002 CTDL  
99001 TTNT  
99003 CSDL  
2.0  
5.0  
6.0  
99002 CTDL  
2.0  
Bmôn CSDL Trường CĐCN 4  
 
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
11  
iii Pheùp Tröø (Minus, difference)  
Cho hai löôïc ñoà quan heä Q1 vaø Q2 coù cuøng taäp thuoäc tính {A1,A2,..,An}. r1 vaø r2 laàn löôït laø hai  
quan heä treân Q1 vaø Q2. Pheùp tröø löôïc ñoà quan heä Q1 cho Q2 seõ taïo thaønh moät löôïc ñoà quan heä Q3 nhö  
sau:  
Q3+={A1,A2,..,An}  
r3 = r1 - r2= {t | t r1 vaø t r2}  
Ví duï:  
r1  
r2  
r3 = r1 - r2  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
99002 CTDL  
99001 TTNT  
99003 CSDL  
2.0  
5.0  
6.0  
99001 CSDL  
99003 MANG  
5.0  
8.0  
iv Tích Descartes (Cartesian Product, product)  
Cho hai löôïc ñoà quan heä Q1(A1,A2,..,An), Q2(B1,B2,..,Bm). r1 vaø r2 laàn löôït laø hai quan heä treân Q1 vaø  
Q2. Tích Descartes cuûa hai löôïc ñoà quan heä Q1 vaø Q2 seõ taïo thaønh moät löôïc ñoà quan heä Q3 nhö sau:  
Q3+ = Q1+ Q2+= {A1,..., B1,...}  
r3 = r1 x r2 = {(t1,t2)| t1 r1 vaø t2 r2}  
Ví duï:  
r1  
r3 = r1 x r2  
MASV  
99001  
99002  
99003  
MAMH DIEMTHI  
MASV MAMH  
99001 CSDL  
99001 CSDL  
99002 CTDL  
99002 CTDL  
99003 MANG  
99003 MANG  
DIEMTHI MAMH TENMH  
CSDL  
CTDL  
MANG  
r2  
5.0  
2.0  
8.0  
5.0 CSDL  
5.0 FOX  
CO SO DU LIEU  
FOXPRO  
CO SO DU LIEU  
FOXPRO  
CO SO DU LIEU  
FOXPRO  
CSDL  
FOX  
2.0  
2.0  
8.0 CSDL  
8.0 FOX  
MAMH TENMH  
CSDL  
CO SO DU LIEU  
FOX  
FOXPRO  
4 Caùc pheùp toaùn quan heä  
Pheùp Chieáu (Projection)  
i
Cho moät löôïc ñoà quan heä Q(A1,A2,..,An). rlaø quan heä treân Q. X Q+.  
Pheùp chieáu cuûa Q leân taäp thuoäc tính X seõ taïo thaønh löôïc ñoà quan heä Q’= Q[X], trong ñoù Q’+ chính  
laø X vaø r’ chính laø r nhöng chæ laáy caùc thuoäc tính cuûa X.  
Q’+ = X  
r’ = r[X] = r.X = {t’|tr vaø t.X = t[X] = t’}  
pheùp chieáu chính laø pheùp ruùt trích döõ lieäu theo coät (chieàu doïc)  
Ví duï:  
r
r’ = r.{MAMH}  
MASV MAMH DIEMTHI  
MAMH  
CSDL  
CTDL  
MANG  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
ii Pheùp Choïn (Selection)  
Cho löôïc ñoà quan heä Q(A1,A2,..,An), r laø moät quan heä treân Q. XQ+ vaø E laø moät meänh ñeà logic ñöôïc  
phaùt bieåu treân taäp X. Phaàn töû tr thoûa maõn ñieàu kieän E kyù hieäu laø t(E).  
Bmôn CSDL Trường CĐCN 4  
 
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
12  
Pheùp choïn töø r theo ñieàu kieän E seõ taïo thaønh moät löôïc ñoà quan heä Q’ nhö sau:  
Q’+ = Q+  
r’= r(E)= r:E ={t | t r vaø t(E)}  
pheùp choïn chính laø pheùp ruùt trích döõ lieäu theo doøng (chieàu ngang)  
Ví duï:  
r’= r:DIEMTHI >= 5  
r
MASV MAMH DIEMTHI  
MASV MAMH DIEMTHI  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
99001 CSDL  
5.0  
99003 MANG  
8.0  
iii Pheùp keát, Pheùp Keát Töï Nhieân (join, natural join):  
Cho hai löôïc ñoà quan heä Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).  
r1 vaø r2 laàn löôït laø hai quan heä treân Q1 vaø Q2.  
Ai vaø Bj laàn löôït laø caùc thuoäc tính cuûa Q1 vaø Q2 sao cho MGT(AI) = MGT(BJ) (MGT: mieàn giaù trò).  
θ laø moät pheùp so saùnh treân MGT(AI).  
Pheùp keát giöõa Q1 vaø Q2 seõ taïo thaønh moät löôïc ñoà quan heä Q3 nhö sau:  
Q3+ = Q1+ Q2+  
AiθBj  
r3=r1|><| r2 = {t12|t1r1,t2r2 sao cho  
t12.Q1+ = t1  
t12.Q2+ = t2  
t1.Ai θ t2.Bj}  
Ta ruùt ra caùc böôùc cuï theå ñeå thöïc hieän pheùp keát nhö sau:  
-
Taïo tích descartes  
-
Thöïc hieän pheùp choïn theo ñieàu kieän E=Ai θ Bj  
Ví duï:  
Ai laø thuoäc tính B, Bj laø thuoäc tính F vaø θ laø pheùp so saùnh “>=”. Ta ñöôïc keát quaû laø quan heä sau:  
BF  
r3 = r1|><|r2  
r1  
A B  
r2  
E F  
C
4
5
H
9
8
A B  
C
4
4
5
5
E
1
7
1
7
F
5
5
5
5
H
9
3
9
3
6
7
4
1
4
7
6
6
7
7
5
5
5
5
5
5
2
5
6
5
6
3
Neáu θ ñöôïc söû duïng trong pheùp keát laø pheùp so saùnh baèng (=) thì ta goïi laø pheùp keát baèng. Hôn nöõa  
neáu AI Bj thì pheùp keát baèng naøy ñöôïc goïi laø pheùp keát töï nhieân. Pheùp keát töï nhieân laø moät pheùp keát  
thöôøng duøng nhaát trong thöïc teá.  
Ví duï: Vôùi Ai Bj = MAMH  
MAMH  
r3 = r1 |><| r2  
MASV MAMH DIEMTHI  
r1  
r2  
MAMH TENMH  
CSDL  
MASV MAMH DIEMTHI  
TENMH  
99001 CSDL  
99002 CTDL  
99003 MANG  
5.0  
2.0  
8.0  
99001 CSDL  
99002 CTDL  
5.0  
2.0  
CO SO DU LIEU  
CAU TRUC DU LIEU  
CO SO DU LIEU  
CTDL  
CAU TRUC DU LIEU  
iv Pheùp chia (division):  
Cho hai löôïc ñoà quan heä Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
13  
r1 vaø r2 laàn löôït laø hai quan heä treân Q1 vaø Q2.  
Ai vaø Bj laàn löôït laø caùc thuoäc tính cuûa Q1 vaø Q2 sao cho n>m.  
Pheùp chia Q1 vaø Q2 seõ taïo thaønh moät löôïc ñoà quan heä Q3 nhö sau:  
Q3+ = {A1,...,An-m}  
r3 = r1÷r2 = {t3|t2r2, t1r1 t3=t1.{A1,...,An-m}  
t2=t1.{An-m+1,...,An}}  
Ví duï:  
r1  
r2  
r3 = r1 ÷ r2  
A1 A2 A3 A4 A5  
B1 B2  
A1 A2 A3  
a
a
b
e
e
a
b
b
c
g
g
b
d
d
e
c
c
e
c
e
e
c
e
g
g
f
f
g
f
e
c
g
f
a
e
b
g
d
c
e
5 Caùc tính chaát cuûa ñaïi soá quan heä  
Q laø löôïc ñoà quan heä  
q,r,s laø quan heä treân Q,  
E,E1,E2 laø meänh ñeà logic treân Q+  
X1 X2 Q+  
Haõy chöùng minh caùc tính chaát sau:  
(r:E1):E2 = (r:E2):E1  
Chöùng minh:  
(r:E1):E2 = {t’|t’(r:E1)vaø t’(E2)}  
= {t’|t’{t|tr vaø t(E1)}vaø t’(E2)}  
= {t’r|t’(E1)vaø t’(E2)}  
= {t’|t’{t|tr vaø t(E2)} vaø t’(E1)}  
= {t’|t’(r:E2) vaø t’(E1)}  
= (r:E2):E1  
(r+s):E = (r:E)+(s:E)  
Chöùng minh:  
(r+s):E = {t|t(r+s) vaø t(E)}  
= {t|t{t’|t’r hoaëc t’s} vaø t(E)}  
= {t|(tr hoaëc ts) vaø t(E)}  
= {t|(tr vaø t(E)) hoaëc (ts vaø t(E))}  
= {t|t{t’|t’r vaø t’(E)}hoaëc t{t’|t’s vaø t’(E)}}  
= {t|t(r:E)hoaëc t(s:E)}  
= (r:E)+(s:E)  
(r*s):E = (r:E)*(s:E)  
Chöùng minh:  
(r*s):E = {t|t(r*s) vaø t(E)}  
Bmôn CSDL Trường CĐCN 4  
 
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
= {t|t{t’|t’r vaø t’s} vaø t(E)}  
Trang  
14  
= {t|tr vaø ts vaø t(E)}  
= {t|(tr vaø t(E)) vaø (ts vaø t(E))}  
= {t|t{t’|t’r vaø t’(E)}vaø t{t’|t’s vaø t’(E)}}  
= {t|t(r:E)vaø t(s:E)}  
= (r:E)*(s:E)  
(r-s):E = (r:E)-(s:E)  
Chöùng minh:  
(r-s):E = {t|t(r-s) vaø t(E)}  
= {t|t{t’|t’r vaø t’s} vaø t(E)}  
= {t|tr vaø ts vaø t(E)}  
= {t|(tr vaø t(E)) vaø (ts vaø t(E))}  
= {t|t{t’|t’r vaø t’(E)}vaø t{t’|t’s vaø t’(E)}}  
= {t|t(r:E)vaø t(s:E)}  
= (r:E)*(s:E)  
Vôùi X2 X1 (r.X2).X1 = r.X1  
Chöùng minh:  
(r.X2).X1 = {t.X1|t(r.X2)}  
= {t.X1|t{t’.X2|t’r}}  
= {(t’.X2).X1|t’r}  
= {t’.X1|t’r} vì X1 X2  
= r.X1  
E phaùt bieåu treân X (r:E).X = (r.X):E  
Chöùng minh:  
(r:E).X = {t.X|t(r:E)}  
= {t.X|t{t’|t’r vaø t’(E)}}  
= {t.X|tr vt(E)}  
= {t’|t’{t.X|tr} vt’(E)}  
= {t’|t’(r.X) vt(E)}  
= (r.X):E  
q|><|r = r|><|q  
Chöùng minh:  
(q|><|r) ={t12|t1q,t2r t12.Q+ = t1, t12.R+ = t2 t12.Aiθt12.Bj}  
= r|><|q  
AiQ,BjS,CkQ,DlR (q|><|r)|><|s = q|><|(r|><|s)  
Chöùng minh:  
(q|><|r)|><|s ={t12|t1(q|><|r),t2s t12.Q+R+ = t1  
t12.S+ = t2 t12.Aiθ1t12.Bj}  
={t12|t1{u12|u1q,u2r u12.Q+=u1 u12.R+=u2 u1.Ckθ2u2.Dl},  
t2s t12.Q+R+ = t1,t12.S+=t2 t1.Aiθ1t2.Bj}  
={t123|t1q,t2r,t3s t123.Q+=t1,t123.R+=t2 t123.S+=t3  
t123.Aiθ1t123.Bj t123.Ckθ2t123.Dl}  
={t12|t1q,t2{u12|u1r,u2s u12.R+=u1  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
15  
u12.S+=u2 u1.Ckθ2u2.Dl},t12.Q+=t1 t12.R+S+=t2 t12.Aiθ1t12.Bj}  
={t12|t1q,t2(r|><|s),t12.Q+=t1  
t12.R+S+=t2 t12.Aiθ1t12.Bj}  
=q|><|(r|><|s)  
IV MO HÌNH THÖÏC THEÅ KEÁT HÔÏP  
1 Giôùi thieäu moâ hình thöïc theå keát hôïp  
Caùc nhaø phaân tích thieát keá heä thoáng thoâng tin thöôøng xaây döïng löôïc ñoà cô sôû döõ lieäu (C1.III.2.ii) töø  
moâ hình thöïc theå keát hôïp vaø moâ hình naøy laïi ñöôïc xaây döïng töø phaàn ñaëc taû vaán ñeà cuûa moät baøi toaùn  
thöïc teá.  
Löôïc ñoà cô sôû döõ lieäu xaây döïng theo höôùng naøy thoâng thöôøng ñaït toái thieåu daïng chuaån 3 (3NF: third  
normal form) nghóa laø ôû daïng coù söï dö thöøa döõ lieäu ôû möùc toái thieåu, coøn moân CSDL xaây döïng löôïc  
ñoà CSDL ñaït daïng chuaån 3 töø löôïc ñoà cô sôû döõ lieäu chöa ñaït daïng chuaån coù keøm caùc taân töø  
(C1.III.2.ii). Ta haõy xem ví duï sau:  
i
Ví duï – Moái quan heä moät-nhieàu  
(a)Ñaëc taû vaán ñeà  
Nhöõng ngöôøi phuï traùch ñaøo taïo cuûa Tröôøng cao ñaúng coäng ñoàng nuùi Ayers mong muoán taïo laäp moät  
CSDL veà caùc moân ñaøo taïo cuûa tröôøng (nhö: chöùng chæ leo nuùi, coâng ngheä bay) vaø hoïc vieân ghi danh  
vaøo nhöõng moân hoïc naøy. Tröôøng cuõng coù qui ñònh laø cuøng moät luùc, hoïc vieân chæ coù theå ghi danh vaøo  
moät moân hoïc. Hoï chæ quan taâm veà döõ lieäu cuûa ñôït ghi danh hieän taïi. Moät khi hoïc vieân keát thuùc moân  
hoïc thì nhaø tröôøng seõ khoâng coøn quan taâm ñeán hoï vaø nhöõng hoïc vieân naøy phaûi ñöôïc xoùa khoûi CSDL.  
Thoâng tin caàn löu tröõ veà moät hoïc vieân bao goàm: maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh, soá  
ñieän thoaïi, ngaøy nhaäp hoïc  
Thoâng tin veà moân hoïc goàm maõ moân hoïc, teân moân hoïc, thôøi löôïng  
Phaân tích:  
-
-
phaàn ñaëc taû vaán ñeà chöùa ñöïng caùc qui taéc quaûn lyù vaø döõ lieäu yeâu caàu cuûa vaán ñeà.  
döõ lieäu cuûa vaán ñeà laø: chi tieát veà hoïc vieân coù maõ hoïc vieân, teân hoïc vieân, ñòa chæ, ngaøy sinh,  
soá ñieän thoaïi vaø ngaøy nhaäp hoïc chi tieát veà moân hoïc coù maõ moân hoïc, teân moân hoïc vaø thôøi  
löôïng.  
-
qui taéc quaûn lyù goàm:  
+ Cuøng moät luùc, moät hoïc vieân chæ coù theå ghi danh vaøo moät moân hoïc.  
+ Nhieàu hoïc vieân coù theå ghi danh vaøo moät moân hoïc.  
+ Nhaø tröôøng chæ quan taâm ñeán nhöõng hoïc vieân cuûa moân hoïc hieän taïi.  
Bmôn CSDL Trường CĐCN 4  
   
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
16  
(b)Moâ hình thöïc theå keát hôïp (Moâ hình ER)  
Caùc tính chaát trong moâ hình thöïc theå keát hôïp:  
-
Hình chöõ nhaät ñöôïc goïi laø taäp thöïc theå. Teân cuûa taäp thöïc theå ñöôïc ghi beân trong hình chöõ  
nhaät vaø duøng danh töø ñeå ñaët teân cho taäp thöïc theå.  
-
Ñöôøng noái giöõa hai taäp thöïc theå ñöôïc goïi laø moái quan heä (moái keát hôïp). Moái quan heä trong  
vaán ñeà treân laø moái quan heä moät-nhieàu (1:M). Noäi dung cuûa moái quan heä ñöôïc dieãn taû theo  
hai chieàu: “ghi danh vaøo”, “ñöôïc ghi danh bôûi” vaø chuùng dieãn taû hai noäi dung sau:  
+ Moãi HOÏC VIEÂN coù theå ghi danh vaøo moät MOÂN HOÏC  
+ Moãi MOÂN HOÏC phaûi ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN  
Caùc döõ lieäu ghi beân caïnh taäp thöïc theå ñöôïc goïi laø thuoäc tính. Chuùng cung caáp thoâng tin chi  
tieát veà taäp thöïc theå. Coù hai loaïi thuoäc tính:  
Thuoäc tính nhaän dieän laø thuoäc tính ñeå phaân bieät thöïc theå naøy vôùi thöïc theå kia trong taäp thöïc  
theå.  
-
-
-
-
Thuoäc tính moâ taû laø thuoäc tính cung caáp thoâng tin chi tieát hôn veà thöïc theå trong taäp thöïc theå.  
Moái quan heä cuûa vaán ñeà treân laø moái quan heä moät-nhieàu. Tính chaát naøy cuûa moái quan heä goïi  
laø tính keát noái cuûa moái quan heä. Tính keát noái moät-nhieàu raát phoå bieán trong moâ hình thöïc theå  
keát hôïp. Hai loaïi keát noái coøn laïi ít phoå bieán hôn nhöng khoâng keùm phaàn quan troïng laø moái  
quan heä moät-moät vaø moái quan heä nhieàu-nhieàu.  
ii Ví duï – moái quan heä moät-moät  
(a)Ñaëc taû vaán ñeà  
Phoøng caûnh saùt mong muoán quaûn lyù lyù lòch caù nhaân nhöõng ngöôøi laùi xe vaø baèng laùi cuûa hoï. Moät  
ngöôøi chæ laáy ñöôïc moät baèng laùi vaø moät baèng laùi chæ thuoäc veà moät ngöôøi. Thoâng tin veà laùi xe maø  
phoøng caûnh saùt quan taâm laø: maõ ngöôøi laùi xe, teân, ñòa chæ, ngaøy sinh  
Thoâng tin veà baèng laùi caàn löu tröõ laø: maõ baèng laùi, loaïi baèng laùi, ngaøy heát haïn  
(b)Moâ hình thöïc theå keát hôïp  
-
-
moãi NGÖÔØI LAÙI XE phaûi sôû höõu moät BAÈNG LAÙI  
moãi BAÈNG LAÙI phaûi ñöôïc sôû höõu bôûi moät NGÖÔØI LAÙI XE  
iii Ví duï – moái quan heä nhieàu-nhieàu  
(a)Ñaëc taû vaán ñeà  
Ngöôøi phuï traùch ñaøo taïo Tröôøng cao ñaúng coäng ñoàng nuùi xanh mong muoán thieát laäp moät csdl veà caùc  
moân hoïc maø hoï cung caáp (nhö chöùng chæ leo nuùi, cöû nhaân coâng ngheä bay) vaø caùc hoïc vieân ghi danh  
vaøo caùc moân hoïc naøy. Nhaø tröôøng qui ñònh laø moät hoïc vieân ñöôïc ghi danh hoïc toái ña ba moân hoïc  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
17  
trong cuøng moät luùc. Hoï chæ quan taâm ñeán döõ lieäu cuûa moân hoïc hieän taïi. Moät khi hoïc vieân keát thuùc  
moân hoïc, hoï seõ khoâng coøn thuoäc dieän quaûn lyù cuûa nhaø tröôøng vaø phaûi ñöôïc xoùa khoûi csdl tröø khi hoïc  
vieân naøy ghi danh hoïc tieáp moân môùi. Thoâng tin veà moät hoïc vieân goàm: maõ hoïc vieân, teân hoïc vieân,  
ñòa chæ, ngaøy sinh, soá ñieän thoaïi, ngaøy nhaäp hoïc  
Thoâng tin veà moân hoïc goàm: maõ moân hoïc, teân moân hoïc, thôøi löôïng  
(b)Moâ hình ER  
+ Moãi HOÏC VIEÂN coù theå ghi danh vaøo moät hay nhieàu MOÂN HOÏC  
+ Moãi MOÂN HOÏC phaûi ñöôïc ghi danh bôûi moät hay nhieàu HOÏC VIEÂN  
Moâ hình ER treân coù moái quan heä nhieàu nhieàu.  
(c)Loaïi boû tính keát noái nhieàu nhieàu (neáu ñöôïc)  
Moâ hình treân gaëp phaûi khuyeát ñieåm sau:  
-
Ngaøy nhaäp hoïc laø thuoäc tính gaén lieàn vôùi taäp thöïc theå HOÏC VIEÂN seõ khoâng hôïp lyù vì khoâng  
dieãn taû ñöôïc tröôøng hôïp hoïc vieân hoïc cuøng luùc nhieàu moân hoïc.  
-
Coøn neáu ngaøy nhaäp hoïc laø thuoäc tính cuûa MOÂN HOÏC thì khoâng dieãn taû ñöôïc tình traïng cuøng  
moân hoïc nhöng coù caùc ngaøy nhaäp hoïc khaùc nhau.  
Ñeå giaûi quyeát vaán ñeà naøy ta phaûi ñöa vaøo:  
-
moät taäp thöïc theå laøm trung gian giöõa HOÏC VIEÂN vaø MOÂN HOÏC goïi laø taäp keát hôïp PHIEÁU  
GHI DANH.  
-
Thuoäc tính nhaän dieän cuûa taäp keát hôïp laø söï keát hôïp giöõa thuoäc tính nhaän dieän cuûa taäp thöïc  
theå HOÏC VIEÂN vaø MOÂN HOÏC  
-
-
thuoäc tính moâ taû cuûa taäp keát hôïp PHIEÁU GHI DANH laø ngaøy nhaäp hoïc  
tính keát noái cuûa taäp keát hôïp vôùi taäp thöïc theå laø moät-nhieàu  
Noäi dung cuûa moái quan heä giöõa caùc taäp thöïc theå laø:  
-
-
-
-
moãi HOÏC VIEÂN coù theå coù moät hay nhieàu PHIEÁU GHI DANH  
moãi PHIEÁU GHI DANH phaûi thuoäc veà moät HOÏC VIEÂN  
moãi PHIEÁU GHI DANH phaûi ghi nhaän ñaøo taïo veà moät MOÂN HOÏC  
moãi MOÂN HOÏC coù theå ñöôïc ghi nhaän ñaøo taïo bôûi moät hay nhieàu PHIEÁU GHI DANH  
Caùc qui taéc phaûi tuaân thuû khi theâm taäp keát hôïp laøm trung gian ñeå loaïi boû tính keát noái nhieàu nhieàu:  
-
-
-
Phaûi nhaän dieän ñöôïc thuoäc tính moâ taû cuûa taäp keát hôïp.  
Neáu coù thuoäc tính moâ taû thì taïo taäp keát hôïp laøm trung gian giöõa hai taäp thöïc theå.  
Neáu khoâng coù thuoäc tính moâ taû thì vaãn giöõ nguyeân moâ hình nhö hình 1.4.4  
2 Chuyeån töø moâ hình thöïc theå keát hôïp sang löôïc ñoà CSDL.  
i
Qui taéc chung  
Khi bieán ñoåi moâ hình ER thaønh caùc moâ hình quan heä ta aùp duïng caùc qui taéc sau:  
Bmôn CSDL Trường CĐCN 4  
 
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
18  
-
-
Moãi taäp thöïc theå trong moâ hình ER ñöôïc chuyeån thaønh moät löôïc ñoà quan heä.  
Moãi thuoäc tính trong moâ hình ER ñöôïc chuyeån thaønh thuoäc tính trong löôïc ñoà quan heä töông  
öùng  
-
-
Moãi thuoäc tính nhaän dieän trong moâ hình ER ñöôïc chuyeån thaønh khoùa chính trong löôïc ñoà  
quan heä töông öùng.  
Moãi moái quan heä trong ER ñöôïc chuyeån thaønh khoùa ngoaïi theo qui taéc sau  
ii Qui taéc chuyeån moái quan heä thaønh khoùa ngoaïi  
(a)Moái quan heä moät-moät  
Chuyeån khoùa chính töø quan heä 1 sang quan heä 2 hay ngöôïc laïi. Ví duï vaán ñeà ngöôøi laùi xe vaø baèng  
laùi seõ coù moâ hình quan heä laø moät trong hai moâ hình quan heä sau  
(b)Moái quan heä moät-nhieàu  
Chuyeån khoùa chính töø beân moät sang beân nhieàu.  
(c)Moái quan heä nhieàu nhieàu ñeán taäp keát hôïp  
Trong quan heä PHIEÁU GHI DANH coù caùc khoùa chính khoùa ngoaïi nhö sau:  
+ maõ hoïc vieân laø khoùa ngoaïi  
Bmôn CSDL Trường CĐCN 4  
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
19  
+ maõ moân hoïc laø khoùa ngoaïi  
+ maõ hoïc vieân vaø maõ moân hoïc laø khoùa chính  
(d)Moái quan heä nhieàu-nhieàu  
Taïo moät quan heä môùi coù khoùa chính laø söï keát hôïp caùc khoùa chính cuûa hai quan heä coù tính keát noái  
nhieàu nhieàu.  
Ví duï giaû söû Tröôøng Cao Ñaúng Coäng Ñoàng Nuùi Xanh khoâng quan taâm ñeán ngaøy nhaäp hoïc cuûa hoïc  
vieân thì moâ hình ER seõ coù moái quan heä nhieàu nhieàu nhö sau:  
V
BAØI TAÄP  
1 Pheùp toaùn taäp hôïp vaø pheùp toaùn quan heä  
Cho löôïc ñoà cô sôû döõ lieäu duøng ñeå quaûn lyù hoà sô sinh vieân bao goàm caùc quan heä Sv(sinh vieân),  
Lop(Lôùp), kh(khoa), Mh(moân hoïc), Kq(keát quaû) ñöôïc moâ taû bôûi caùc löôïc ñoà quan heä nhö sau:  
Sv(MASV,HOTEN,NU,NGAYSINH,MALOP,TINH,HOCBONG)  
Taân töø:  
Moãi sinh vieân coù moãi MASV duy nhaát. Moãi MASV xaùc ñònh taát caû caùc thuoäc  
tính coøn laïi cuûa sinh vieân ñoù.  
Lop(MALOP,TENLOP,SISO,MAKHOA)  
Taân töø:  
Moãi lôùp coù moät maõ lôùp duy nhaát, moãi lôùp chæ thuoäc veà moät khoa naøo ñoù.  
Kh(MAKHOA,TENKHOA,SOCBGD)  
Taân töø:  
Moãi khoa coù moãi MAKHOA duy nhaát. Moãi MAKHOA xaùc ñònh taát caû caùc  
thuoäc tính coøn laïi cuûa khoa ñoù.  
Mh(MAMH,TENMH,SOTIET)  
Taân töø: Moâi Moân hoïc coù moät MAMH duy nhaát. Moãi MAMH xaùc ñònh taát caû caùc thuoäc  
tính coøn laïi cuûa moân hoïc ñoù.  
Kq(MASV,MAMH,DIEMTHI)  
Taân töø: Moãi sinh vieân cuøng vôùi moät moân hoïc xaùc dònh duy nhaát moät ñieåm thi  
YEÂU CAÀU:  
1. Tìm khoùa cho moãi löôïc ñoà quan heä treân.  
2. Haõy thöïc hieän caùc caâu hoûi sau baèng ngoân ngöõ ñaïi soá quan heä  
a. Laäp danh saùch sinh vieân goàm MASV, HOTEN, HOCBONG  
b. Laäp danh saùch sinh vieân nöõ khoa ‘CNTT’,danh saùch caàn MASV, HOTEN, HOCBONG  
c. Laäp baûng ñieåm cho taát caû sinh vieân khoa ‘CNTT’, baûng ñieåm goàm caùc coät MASV,  
HOTEN, TENMH, DIEMTHI  
d. Laäp phieáu ñieåm cho sinh vieân coù MASV=”99001”  
e. Laäp danh saùch sinh vieân goàm MASV,HOTEN,TENLOP, TENKHOA  
Bmôn CSDL Trường CĐCN 4  
   
Giaùo trình CÔ SÔÛ DÖÕ LIEÄU  
Trang  
20  
f. Laäp baûng ñieåm moân hoïc coù maõ moân hoïc laø CSDL cho taát caû sinh vieân coù maõ lôùp laø  
“CÑTH2B”  
g. Laäp danh saùch sinh vieân cuûa lôùp coù maõ lôùp laø “CÑTH2B” vaø coù ñieåm thi moân hoïc lôùn  
hôn hay baèng 8.  
2 Moâ hình thöïc theå keát hôïp  
Döïa vaøo caùc phaân tích sô boä döôùi ñaây, haõy laäp moâ hình thöïc theå keát hôïp cho moãi baøi toaùn quaûn lyù  
sau:  
i
QUAÛN LYÙ LAO ÑOÄNG  
Ñeå quaûn lyù vieäc phaân coâng caùc nhaân vieân tham gia vaøo xaây döïng caùc coâng trình. Coâng ty xaây döïng  
ABC toå chöùc quaûn lyù nhö sau:  
Cuøng luùc coâng ty coù theå tham gia xaây döïng nhieàu coâng trình, moãi coâng trình coù moät maõ soá coâng  
trình duy nhaát (MACT), moãi maõ soá coâng trình xaùc ñònh caùc thoâng tin nhö: teân goïi coâng trình  
(TENCT), ñòa ñieåm(ÑIAÑIEM), ngaøy coâng trình ñöôïc caáp giaáy pheùp xaây döïng (NGAYCAPGP),  
ngaøy khôûi coâng (NGAYKC), ngaøy hoaøn thaønh (NGAYHT).  
Moãi nhaân vieân cuûa coâng ty ABC coù moät maõ soá nhaân vieân(MANV) duy nhaát, moät maõ soá nhaân vieân  
xaùc ñònh caùc thoâng tin nhö: Hoï teân (HOTEN), ngaøy sinh (NGAYSINH), phaùi (PHAI), ñòa chæ  
(ÑIACHI). Moãi nhaân vieân phaûi chòu söï quaûn lyù haønh chaùnh bôûi moät phoøng ban. Taát nhieân moät  
phoøng ban quaûn lyù haønh chaùnh nhieàu nhaân vieân. Coâng ty coù nhieàu phoøng ban (Phoøng keá toaùn, phoøng  
kinh doanh, phoøng kyõ thuaät, phoøng toå chöùc, phoøng chuyeân moân, Phoøng phuïc vuï,…). Moãi phoøng ban  
coù moät maõ soá phoøng ban(MAPB) duy nhaát, maõ phoøng ban xaùc ñònh teân phoøng ban (TENPB).  
Coâng ty phaân coâng caùc nhaân vieân tham gia vaøo caùc coâng trình, moãi coâng trình coù theå ñöôïc phaân cho  
nhieàu nhaân vieân vaø moãi nhaân vieân cuøng luùc cuõng coù theå tham gia vaøo nhieàu coâng trình. Vôùi moãi  
coâng trình moät nhaân vieân coù moät soá löôïng ngaøy coâng (SLNGAYCONG) ñaõ tham gia vaøo coâng trình  
ñoù.  
ii QUAÛN LYÙ THÖ VIEÄN  
Moät thö vieän toå chöùc vieäc cho möôïn saùch nhö sau:  
Moãi quyeån saùch ñöôïc ñaùnh moät maõ saùch (MASH) duøng ñeå phaân bieät vôùi caùc quyeån saùch khaùc (giaû  
söû neáu moät taùc phaåm coù nhieàu baûn gioáng nhau hoaëc coù nhieàu taäp thì cuõng xem laø coù maõ saùch khaùc  
nhau), moãi maõ saùch xaùc ñònh caùc thoâng tin khaùc nhö : teân saùch (TENSACH), teân taùc giaû (TACGIA),  
nhaø xuaát baûn (NHAXB), naêm xuaát baûn (NAMXB).  
Moãi ñoïc giaû ñöôïc thö vieân caáp cho moät theû thö vieän, trong ñoù coù ghi roõ maõ ñoïc giaû (MAÑG), cuøng  
vôùi caùc thoâng tin khaùc nhö : hoï teân (HOTEN), ngaøy sinh (NGAYSINH), ñòa chæ (ÑIACHI), ngheà  
nghieäp(NGHENGHIEP).  
Cöù moãi löôït möôïn saùch, ñoïc giaû phaûi ghi caùc quyeån saùch caàn möôïn vaøo moät phieáu möôïn, moãi phieáu  
möôïn coù moät soá phieáu möôïn (SOPM) duy nhaát, moãi phieáu möôïn xaùc ñònh caùc thoâng tin nhö: ngaøy  
möôïn (NGAYMUON), ñoïc giaû möôïn, caùc quyeån saùch möôïn vaø ngaøy traû (NGAYTRA). Caùc caùc  
quyeån saùch trong cuøng moät phieáu möôïn khoâng nhaát thieát phaûi traû trong trong cuøng moät ngaøy.  
iii QUAÛN LYÙ BAÙN HAØNG  
Moãi khaùch haøng coù moät maõ khaùch haøng (MAKH) duy nhaát, moãi MAKH xaùc ñònh ñöôïc caùc thoâng tin  
veà khaùch haøng nhö : hoï teân khaùch haøng (HOTEN), ñòa chæ (ÑIACHI), soá ñieän thoaïi (ÑIENTHOAI).  
Caùc maët haøng ñöôïc phaân loaïi theo töøng nhoùm haøng, moãi nhoùm haøng coù moät maõ nhoùm (MANHOM)  
duy nhaát, moãi maõ nhoùm haøng xaùc ñònh teân nhoùm haøng (TENNHOM), taát nhieân moät nhoùm haøng coù  
theå coù nhieàu maët haøng. Moãi maët haøng ñöôïc ñaùnh moät maõ soá (MAHANG) duy nhaát, moãi maõ soá naøy  
Bmôn CSDL Trường CĐCN 4  
 
Tải về để xem bản đầy đủ
pdf 95 trang Thùy Anh 04/05/2022 7420
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình môn Cơ sở dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_mon_co_so_du_lieu.pdf