More Related Content Similar to Giao trinh csdl[bookbooming.com]
Similar to Giao trinh csdl[bookbooming.com] (20) More from bookbooming1 (20) Giao trinh csdl[bookbooming.com]2. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 1
Mį»¤C Lį»¤C
ChƶƓng 1 ..............................................................................................................................................3
MOĆ HĆNH QUAN HEĆ ..........................................................................................................................3
I NGUYEĆN NHAĆN RA ĆĆĆI CUĆA MOĆ HĆNH QUAN HEĆ .........................................................3
II CĆ SĆĆ DĆĆ LIEĆU VAĆ HEĆ QUAĆN TRĆ CĆ SĆĆ DĆĆ LIEĆU.........................................................3
1 CSDL laĆø gƬ? ...........................................................................................................................4
2 HeƤ quaĆ»n trĆ² CSDL .................................................................................................................4
3 NgƶƓĆøi duĆøng (User).................................................................................................................4
4 CSDLQH vaĆø HeƤ taƤp tin theo loĆ”i cuƵ .......................................................................................5
III MOĆ HĆNH QUAN HEĆ ...........................................................................................................5
1 MoĆ¢ hƬnh quan heƤ laĆø gƬ ?.........................................................................................................5
2 CaĆ¹c khaĆ¹i nieƤm cĆ“ baĆ»n cuĆ»a moĆ¢ hƬnh quan heƤ .........................................................................6
3 CaĆ¹c pheĆ¹p toaĆ¹n taƤp hĆ“ĆÆp ........................................................................................................10
4 CaĆ¹c pheĆ¹p toaĆ¹n quan heƤ........................................................................................................11
5 CaĆ¹c tĆnh chaĆ”t cuĆ»a ƱaĆÆi soĆ” quan heƤ ........................................................................................12
IV MOĆ HĆNH THĆĆC THEĆ
KEĆT HĆĆP......................................................................................15
1 GiĆ“Ć¹i thieƤu moĆ¢ hƬnh thƶĆÆc theĆ„ keĆ”t hĆ“ĆÆp ...................................................................................15
2 ChuyeĆ„n tƶĆø moĆ¢ hƬnh thƶĆÆc theĆ„ keĆ”t hĆ“ĆÆp sang lƶƓĆÆc ƱoĆ CSDL...................................................17
V BAĆI TAĆP .................................................................................................................................19
1 PheĆ¹p toaĆ¹n taƤp hĆ“ĆÆp vaĆø pheĆ¹p toaĆ¹n quan heƤ............................................................................19
2 MoĆ¢ hƬnh thƶĆÆc theĆ„ keĆ”t hĆ“ĆÆp ....................................................................................................20
ChƶƓng 2 ............................................................................................................................................22
NGOĆN NGĆĆ TRUY VAĆN SQL..........................................................................................................22
I CAĆCH TAĆO QUAN HEĆ BAĆNG ACCESS ..............................................................................22
II CAĆU LEĆNH TRUY VAĆN ........................................................................................................22
1 BIEĆ
U THĆĆC (EXPRESSION) ............................................................................................22
2 CAĆU LEĆNH SQL................................................................................................................25
III BAĆI TAĆP .............................................................................................................................28
ChƶƓng 3 ............................................................................................................................................32
RAĆNG BUOĆC TOAĆN VEĆN QUAN HEĆ..............................................................................................32
I RAĆNG BUOĆC TOAĆN VEĆN - CAĆC YEĆU TOĆ CUĆA RAĆNG BUOĆC TOAĆN VEĆN ...................32
1 RaĆøng BuoƤc ToaĆøn VeĆÆn..........................................................................................................32
2 CaĆ¹c YeĆ”u ToĆ” CuĆ»a RaĆøng BuoƤc ToaĆøn VeĆÆn .............................................................................32
II PHAĆN LOAĆI RAĆNG BUOĆC TOAĆN VEĆN ..............................................................................33
1 RaĆøng buoƤc toaĆøn veĆÆn lieĆ¢n boƤ ................................................................................................34
2 RaĆøng buoƤc toaĆøn veĆÆn veĆ phuĆÆ thuoƤc toĆ n taĆÆi: ..........................................................................34
3 RaĆøng buoƤc toaĆøn veĆÆn veĆ mieĆ n giaĆ¹ trĆ²....................................................................................34
4 RaĆøng buoƤc toaĆøn veĆÆn lieĆ¢n thuoƤc tĆnh ....................................................................................35
5 RaĆøng buoƤc toaĆøn veĆÆn lieĆ¢n thuoƤc tĆnh lieĆ¢n quan heƤ ...............................................................35
6 RaĆøng buoƤc toaĆøn veĆÆn veĆ thuoƤc tĆnh toĆ„ng hĆ“ĆÆp .......................................................................35
III BAĆI TAĆP .............................................................................................................................35
ChƶƓng 4 ............................................................................................................................................37
PHUĆ THUOĆC HAĆM ...........................................................................................................................37
I KHAĆI NIEĆM PHUĆ THUOĆC HAĆM ..........................................................................................37
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
3. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 2
1ĆĆ²nh nghĆ³a phuĆÆ thuoƤc haĆøm ..................................................................................................38
2PhuĆÆ thuoƤc haĆøm hieĆ„n nhieĆ¢n...................................................................................................38
3ThuaƤt toaĆ¹n Satifies ..............................................................................................................38
4CaĆ¹c phuĆÆ thuoƤc haĆøm coĆ¹ theĆ„ coĆ¹..............................................................................................39
II HEĆ LUAĆT DAĆN ARMSTRONG.............................................................................................42
1 PhuĆÆ thuoƤc haĆøm ƱƶƓĆÆc suy dieĆ£n logic tƶĆø F .............................................................................42
2 HeƤ luaƤt daĆ£n Amstrong .........................................................................................................43
3 HeƤ luaƤt daĆ£n Armstrong laĆø ƱaĆ y ƱuĆ»........................................................................................47
III THUAĆT TOAĆN TĆM F+ .......................................................................................................48
1 ThuaƤt toaĆ¹n cĆ“ baĆ»n ................................................................................................................48
2 ThuaƤt toaĆ¹n caĆ»i tieĆ”n ..............................................................................................................48
IV BAĆI TAĆP .............................................................................................................................49
ChƶƓng 5 ............................................................................................................................................50
PHUĆ CUĆA TAĆP PHUĆ THUOĆC HAĆM .................................................................................................50
I ĆĆNH NGHĆA .........................................................................................................................50
II PHUĆ TOĆI THIEĆ
U CUĆA MOĆT TAĆP PHUĆ THUOĆC HAĆM .......................................................50
1 PhuĆÆ thuoƤc haĆøm coĆ¹ veĆ” traĆ¹i dƶ thƶĆøa .......................................................................................50
2 TaƤp phuĆÆ thuoƤc haĆøm coĆ¹ veĆ” phaĆ»i moƤt thuoƤc tĆnh....................................................................51
3 TaƤp phuĆÆ thuoƤc haĆøm khoĆ¢ng dƶ thƶĆøa ......................................................................................51
4 TaƤp phuĆÆ thuoƤc haĆøm toĆ”i thieĆ„u ...............................................................................................51
III KHOĆA CUĆA LĆĆĆC ĆOĆ QUAN HEĆ ...................................................................................52
1 ĆĆ²nh NghĆ³a ..........................................................................................................................52
2 ThuaƤt toaĆ¹n tƬm taĆ”t caĆ» khoĆ¹a ..................................................................................................53
IV BAĆI TAĆP .............................................................................................................................55
ChƶƓng 6 ............................................................................................................................................57
CHUAĆ
N HOĆA CĆ SĆĆ DĆĆ LIEĆU .......................................................................................................57
I DAĆNG CHUAĆ
N CUĆA LĆĆĆC ĆOĆ QUAN HEĆ ........................................................................57
1 ĆĆ²nh nghĆ³a caĆ¹c daĆÆng chuaĆ„n .................................................................................................57
II PHEĆP TAĆCH KEĆT NOĆI BAĆO TOAĆN .....................................................................................62
1 PheĆ¹p taĆ¹ch keĆ”t noĆ”i baĆ»o toaĆøn thoĆ¢ng tin ..................................................................................62
2 PheĆ¹p taĆ¹ch baĆ»o toaĆøn phuĆÆ thuoƤc haĆøm .....................................................................................67
III THIEĆT KEĆ CSDL BAĆNG CAĆCH PHAĆN RAĆ......................................................................70
1 PhaĆ¢n raƵ thaĆønh daĆÆng chuaĆ„n BC (hay chuaĆ„n 3) baĆ»o toaĆøn thoĆ¢ng tin ........................................70
2 PhaĆ¢n raƵ thaĆønh daĆÆng chuaĆ„n 3 vƶĆøa baĆ»o toaĆøn thoĆ¢ng tin vƶĆøa baĆ»o toaĆøn phuĆÆ thuoƤc haĆøm ............76
IV BAĆI TAĆP .............................................................................................................................79
----oOo----
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
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, PASCAL vaĆø 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.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
5. 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
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
6. 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Ƥ.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
7. 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 TENKHOA DIEMTHI
99001 TRAN DAN THU CO SO DU LIEU COĆNG NGHEĆ THOĆNG TIN 3.0
99002 NGUYEN HA DA THAO CO SO DU LIEU COĆNG NGHEĆ THOĆNG TIN 8.0
99001 TRAN DAN THU TIN HOC VAN PHONG COĆNG NGHEĆ THOĆNG TIN 6.0
99005 LE THANH TRUNG TIN HOC VAN PHONG ANH VAN 5.0
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,
TENKHOA seƵ 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 MONHOC baĆØng MAMH, thay TENKHOA baĆØ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 CNTT 3.0 99001 TRAN DAN THU
99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO
99001 THVP CNTT 6.0 99005 LE THANH TRUNG
99005 THVP AV 5.0
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.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
8. 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 MaƵ sinh vieĆ¢n
HOTEN TeĆ¢n sinh vieĆ¢n
NU NƶƵ
NGAYSINH ngaĆøy sinh
LOP lĆ“Ć¹p
TENLOP teĆ¢n lĆ“Ć¹p
SISO sƦ soĆ” lĆ“Ć¹p
MAKHOA maƵ khoa
HOCBONG hoĆÆc boĆ„ng
TINH tƦnh
TENKHOA teĆ¢n khoa
SOCBGD soĆ” caĆ¹n boƤ giaĆ»ng daĆÆy
MAMH maƵ moĆ¢n hoĆÆc
TENMH teĆ¢n moĆ¢n hoĆÆc
SOTIET soƔ tieƔt
DIEMTHI Ʊ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.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
9. 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 NU NGAYSINH MALOP TINH HOCBONG
99001 TRAN DAN THU TRUE 15-03-1977 CĆTH2B TIEN GIANG 120000
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 NU NGAYSINH MALOP TINH HOCBONG
99001 TRAN DAN THU TRUE 15-03-1977 CĆTH2B TIEN GIANG 120000
99002 NGUYEN HA DA THAO TRUE 25-04-1986 CĆTH2B TPHCM 120000
99003 PHAM ANH HUY FALSE 16-08-1977 CĆTH2B BAC LIEU
99004 NGUYEN NGOC THUAN FALSE 24-12-1980 CĆTH2B CA MAU
99005 LE THANH TRUNG FALSE 20-11-1978 CĆAV1 CA MAU 120000
99006 NGUYEN HONG VAN FALSE 19-09-1979 CĆAV1 SOC TRANG
99007 VU THI LOAN TRUE 15-03-1975 CĆAV1 CA MAU
99008 TRUONG KIM QUANG FALSE 15-05-1975 CĆTH2B HA NOI
99009 TON THAT QUYEN FALSE 26-06-1976 CĆTH2B VUNG TAU 60000
99010 HA VAN LONG FALSE 14-04-1973 CĆAV1 BAC LIEU
99011 BUI VAN ANH FALSE 22-12-1972 CĆAV1 AN GIANG
99012 LE HUU CHI FALSE 28-08-1977 CĆĆT2 CAN THO 60000
99013 VU THANH CONG FALSE 29-03-1979 CĆTH2B KIEN GIANG 60000
99014 TRAN QUANG CUONG FALSE 30-05-1981 CĆĆT2 DONG THAP 120000
99015 PHAM VAN HAI FALSE 30-06-1976 CĆĆT2 CA MAU
99016 HUYNH THANH HOANG FALSE 29-07-1982 CĆĆT2 TPHCM 80000
99017 TRAN MINH LAM FALSE 21-08-1977 CĆTH2B TRA VINH
99018 PHAN VAN SANG FALSE 19-05-1979 CĆDL1 DONG THAP 120000
99019 PHAM THI HUYEN FALSE 16-06-1982 CĆDL1 CAN THO 120000
99020 NGUYEN THI NGAN TRUE 11-11-1981 CĆTH2B CA MAU 120000
99021 PHAM TAN QUANG FALSE 01-01-1980 CĆDL1 CA MAU
99022 TRAN PHUOC QUYEN FALSE 12-12-1979 CĆTH2B BAC LIEU 60000
99023 LE THI THANH VAN TRUE 11-11-1980 CĆDL1 TPHCM 120000
rKh rMh
MAKHOA TENKHOA SOCBGD MAMHTENMH SOTIET
CNTT CONG NGHE THONG TIN 60 CSDL CO SO DU LIEU 90
AV ANH VAN 60 FOX FOXPRO 120
HOA HOA CHAT 20 THVP TIN HOC VAN PHONG 90
MAĆY TĆNH MOI TRUONG 10 AVTH ANH VAN TIN HOC 60
XD XAY DUNG 10 KTS KY THUAT SO 60
DL DU LICH 5 CTDL CAU TRUC DU LIEU 60
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
10. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 9
TTIN TOAN -TIN HOC 30 TTNT TRI TUE NHAN TAO 45
SINH CONG NGHE SINH HOC 30 MANG MANG MAY TINH CB 45
VL VAT LY 20 VB VI SUAL BASIC 90
ĆT ĆIEĆN TĆĆ 20 AC ACCESS 180
LR LAP RAP MAY TINH 60
INTER CAC DICH VU INTERNET 45
HDH HE DIEU HANH 60
KTLT KY THUAT LAP TRINH 45
VIFOX VISUAL FOXPRO 60
rKq
MASV MAMH DIEMTHI
99001 CSDL 3.0 99006 MANG 6.0 99016 KTS 7.0
99002 CSDL 8.0 99007 MANG 2.0 99017 KTS 7.0
99003 CSDL 8.0 99008 MANG 7.0 99017 FOX 4.0
99004 CSDL 3.0 99009 MANG 3.0 99017 MANG 8.0
99005 CSDL 2.0 99010 TTNT 5.0 99017 CSDL 8.0
99001 THVP 6.0 99011 FOX 4.0 99017 TTNT 6.0
99002 THVP 3.0 99012 FOX 5.0 99002 MANG 8.0
99003 THVP 8.0 99013 FOX 7.0 99004 MANG 4.0
99004 THVP 9.0 99014 VB 7.0 99018 TTNT 7.0
99005 THVP 5.0 99015 VB 3.0 99019 CSDL 8.0
99020 THVP 7.0 99023 TTNT 3.0 99021 CSDL 8.0
99021 MANG 7.0 99023 THVP 6.0 99021 THVP 9.0
99022 MANG 6.0 99023 FOX 8.0 99022 FOX 5.0
99023 CSDL 8.0 99023 VB 9.0 99022 TTNT 6.0
99023 MANG 6.0 99023 KTS 6.0
rLop
MALOP TENLOP SISO MAKHOA
CĆTH2B CAO ĆAĆNG TIN HOĆC KHOAĆ 2000B 60 cntt
TCTH29C TRUNG CAĆP TIN HOĆC KHOAĆ 29 C 121 cntt
CĆAV1 CAO ĆAĆNG ANH VAĆN 1 120 av
CĆĆT2 CAO ĆAĆNG ĆIEĆN TĆĆ 2 80 Ʊt
CĆDL1 CAO ĆAĆNG DU LĆCH 1 42 dl
v KhoĆ¹a (Key, Candidate Key):
Cho lƶƓĆÆc ƱoĆ quan heƤ R, SāR+. 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)
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
11. 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 r2 r3 = r1 + r2
MASV MAMH DIEMTHI MASV MAMH DIEMTHI MASV MAMH DIEMTHI
99001 CSDL 5.0 99002 CTDL 2.0 99001 CSDL 5.0
99002 CTDL 2.0 99001 TTNT 5.0 99002 CTDL 2.0
99003 MANG 8.0 99003 CSDL 6.0 99003 MANG 8.0
99001 TTNT 5.0
99003 CSDL 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 5.0 99002 CTDL 2.0 99002 CTDL 2.0
99002 CTDL 2.0 99001 TTNT 5.0
99003 MANG 8.0 99003 CSDL 6.0
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
12. 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 5.0 99002 CTDL 2.0 99001 CSDL 5.0
99002 CTDL 2.0 99001 TTNT 5.0 99003 MANG 8.0
99003 MANG 8.0 99003 CSDL 6.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 MAMH DIEMTHI MASV MAMH DIEMTHI MAMH TENMH
99001 CSDL 5.0 99001 CSDL 5.0 CSDL CO SO DU LIEU
99002 CTDL 2.0 99001 CSDL 5.0 FOX FOXPRO
99003 MANG 8.0 99002 CTDL 2.0 CSDL CO SO DU LIEU
r2 99002 CTDL 2.0 FOX FOXPRO
MAMH TENMH 99003 MANG 8.0 CSDL CO SO DU LIEU
CSDL CO SO DU LIEU 99003 MANG 8.0 FOX FOXPRO
FOX FOXPRO
4 CaĆ¹c pheĆ¹p toaĆ¹n quan heƤ
i PheĆ¹p ChieĆ”u (Projection)
Cho moƤt lƶƓĆÆc ƱoĆ quan heƤ Q(A1,A2,..,An). r laĆø 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ā|ā tār 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
99001 CSDL 5.0 CSDL
99002 CTDL 2.0 CTDL
99003 MANG 8.0 MANG
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. Xā Q+ vaĆø E laĆø moƤt meƤnh ƱeĆ logic ƱƶƓĆÆc
phaĆ¹t bieĆ„u treĆ¢n taƤp X. PhaĆ n tƶƻ tār thoĆ»a maƵn ƱieĆ u kieƤn E kyĆ¹ hieƤu laĆø t(E).
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
13. 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ā= r:DIEMTHI >= 5
MASV MAMH DIEMTHI MASV MAMH DIEMTHI
99001 CSDL 5.0 99001 CSDL 5.0
99002 CTDL 2.0 99003 MANG 8.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|āt1ār1,āt2ār2 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:
Bā„ F
r1 r2 r3 = r1 |><| r2
A B C E F H A B C E F H
6 5 4 1 5 9 6 5 4 1 5 9
7 5 5 4 6 8 6 5 4 7 5 3
4 2 6 7 5 3 7 5 5 1 5 9
7 5 5 7 5 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
r1 r2 r3 = r1 |><| r2
MASV MAMH DIEMTHI MAMH TENMH MASV MAMH DIEMTHI TENMH
99001 CSDL 5.0 CSDL CO SO DU LIEU 99001 CSDL 5.0 CO SO DU LIEU
99002 CTDL 2.0 CTDL CAU TRUC DU LIEU 99002 CTDL 2.0 CAU TRUC DU LIEU
99003 MANG 8.0
iv PheĆ¹p chia (division):
Cho hai lƶƓĆÆc ƱoĆ quan heƤ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm).
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
14. 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|āt2ār2, āt1ār1 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 b d c g c g a b d
a b d e f e f e g c
b c e e f
e g c c g
e g c e f
a b e g 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|tār vaĆø t(E1)} vaĆø tā(E2)}
= {tāār|tā(E1) vaĆø tā(E2)}
= {tā|tāā{t|tār 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|(tār hoaĆ«c tās) vaĆø t(E)}
= {t|(tār vaĆø t(E)) hoaĆ«c (tās 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)}
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
15. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 14
= {t|tā{tā|tāār vaĆø tāās} vaĆø t(E)}
= {t|tār vaĆø tās vaĆø t(E)}
= {t|(tār vaĆø t(E)) vaĆø (tās 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|tār vaĆø tās vaĆø t(E)}
= {t|(tār vaĆø t(E)) vaĆø (tās 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|tār vaĆø t(E)}
= {tā|tāā{t.X|tār} vaĆø tā(E)}
= {tā|tāā(r.X) vaĆø t(E)}
= (r.X):E
q|><|r = r|><|q
ChĆ¶Ć¹ng minh:
(q|><|r) ={t12|āt1āq,āt2ār t12.Q+ = t1, t12.R+ = t2 t12.AiĪøt12.Bj}
= r|><|q
AiāQ,BjāS,CkāQ,DlāR ā (q|><|r)|><|s = q|><|(r|><|s)
ChĆ¶Ć¹ng minh:
(q|><|r)|><|s ={t12|āt1ā(q|><|r),āt2ās t12.Q+āŖR+ = t1
t12.S+ = t2 t12.AiĪø1t12.Bj}
={t12|āt1ā{u12|āu1āq,āu2ār u12.Q+=u1 u12.R+=u2 u1.CkĪø2u2.Dl},
āt2ās t12.Q+āŖR+ = t1,t12.S+=t2 t1.AiĪø1t2.Bj}
={t123|āt1āq,āt2ār,āt3ās t123.Q+=t1,t123.R+=t2 t123.S+=t3
t123.AiĪø1t123.Bj t123.CkĪø2t123.Dl}
={t12|āt1āq,āt2ā{u12|āu1ār,āu2ās u12.R+=u1
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
16. 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|āt1āq,ā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.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
17. 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
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
18. 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:
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
19. 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
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
20. 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
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
21. 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
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
22. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 21
xaĆ¹c Ć±Ć²nh caĆ¹c thoĆ¢ng tin veĆ maĆ«t haĆøng ƱoĆ¹ nhƶ : teĆ¢n haĆøng (TENHANG), ƱƓn giaĆ¹ baĆ¹n (ĆONGIA), ƱƓn vĆ²
tĆnh (ĆVT). MoĆ£i hoĆ¹a ƱƓn baĆ¹n haĆøng coĆ¹ moƤt soĆ” hoĆ¹a ƱƓn (SOHĆ) duy nhaĆ”t, moĆ£i hoĆ¹a ƱƓn xaĆ¹c Ć±Ć²nh ƱƶƓĆÆc
khaĆ¹ch haĆøng vaĆø ngaĆøy laƤp hoĆ¹a ƱƓn (NGAYLAPHĆ), ngaĆøy baĆ¹n haĆøng (NGAYBAN). VĆ“Ć¹i moĆ£i maĆ«t haĆøng
trong moƤt hoĆ¹a ƱƓn cho bieĆ”t soĆ” lƶƓĆÆng baĆ¹n (SLBAN) cuĆ»a maĆ«t haĆøng ƱoĆ¹.
iv QUAĆN LYĆ LĆCH DAĆY - HOĆC
ĆeĆ„ quaĆ»n lyĆ¹ lĆ²ch daĆÆy cuĆ»a caĆ¹c giaĆ¹o vieĆ¢n vaĆø lĆ²ch hoĆÆc cuĆ»a caĆ¹c lĆ“Ć¹p, moƤt trƶƓĆøng toĆ„ chĆ¶Ć¹c nhƶ sau:
MoĆ£i giaĆ¹o vieĆ¢n coĆ¹ moƤt maƵ soĆ” giaĆ¹o vieĆ¢n (MAGV) duy nhaĆ”t, moĆ£i MAGV xaĆ¹c Ć±Ć²nh caĆ¹c thoĆ¢ng tin nhƶ: hoĆÆ
vaĆø teĆ¢n giaĆ¹o vieĆ¢n (HOTEN), soĆ” ƱieƤn thoaĆÆi (DTGV). MoĆ£i giaĆ¹o vieĆ¢n coĆ¹ theĆ„ daĆÆy nhieĆ u moĆ¢n cho nhieĆ u
khoa nhƶng chƦ thuoƤc sƶĆÆ quaĆ»n lyĆ¹ haĆønh chaĆ¹nh cuĆ»a moƤt khoa naĆøo ƱoĆ¹.
MoĆ£i moĆ¢n hoĆÆc coĆ¹ moƤt maƵ soĆ” moĆ¢n hoĆÆc (MAMH) duy nhaĆ”t, moĆ£i moĆ¢n hoĆÆc xaĆ¹c Ć±Ć²nh teĆ¢n moĆ¢n hoĆÆc
(TENMH). ĆĆ¹ng vĆ“Ć¹i moĆ£i lĆ“Ć¹p thƬ moĆ£i moĆ¢n hoĆÆc chƦ ƱƶƓĆÆc phaĆ¢n cho moƤt giaĆ¹o vieĆ¢n.
MoĆ£i phoĆøng hoĆÆc coĆ¹ moƤt soĆ” phoĆøng hoĆÆc (SOPHONG) duy nhaĆ”t, moĆ£i phoĆøng coĆ¹ moƤt chĆ¶Ć¹c naĆŖng
(CHUCNANG); chaĆŗng haĆÆn nhƶ phoĆøng lyĆ¹ thuyeĆ”t, phoĆøng thƶĆÆc haĆønh maĆ¹y tĆnh, phoĆøng nghe nhƬn, xƶƓƻng
thƶĆÆc taƤp cĆ“ khĆ,ā¦
MoĆ£i khoa coĆ¹ moƤt maƵ khoa (MAKHOA) duy nhaĆ”t, moĆ£i khoa xaĆ¹c Ć±Ć²nh caĆ¹c thoĆ¢ng tin nhƶ: teĆ¢n khoa
(TENKHOA), ƱieƤn thoaĆÆi khoa(DTKHOA).
MoĆ£i lĆ“Ć¹p coĆ¹ moƤt maƵ lĆ“Ć¹p (MALOP) duy nhaĆ”t, moĆ£i lĆ“Ć¹p coĆ¹ moƤt teĆ¢n lĆ“Ć¹p (TENLOP), sĆ³ soĆ” lĆ“Ć¹p (SISO).
MoĆ£i lĆ“Ć¹p coĆ¹ theĆ„ hoĆÆc nhieĆ u moĆ¢n cuĆ»a nhieĆ u khoa nhƶng chƦ thuoƤc sƶĆÆ quaĆ»n lyĆ¹ haĆønh chĆnh cuĆ»a moƤt khoa
naĆøo ƱoĆ¹.
HaĆøng tuaĆ n, moĆ£i giaĆ¹o vieĆ¢n phaĆ»i laƤp lĆ²ch baĆ¹o giaĆ»ng cho bieĆ”t giaĆ¹o vieĆ¢n ƱoĆ¹ seƵ daĆÆy nhƶƵng lĆ“Ć¹p naĆøo, ngaĆøy
naĆøo (NGAYDAY), moĆ¢n gƬ?, taĆÆi phoĆøng naĆøo, tƶĆø tieĆ”t naĆøo (TUTIET) ƱeĆ”n tieĆ”t naĆøo (DENTIET),tƶĆÆa ƱeĆ
baĆøi daĆÆy (BAIDAY), ghi chuĆ¹ (GHICHU) veĆ caĆ¹c tieĆ”t daĆÆy naĆøy, ƱaĆ¢y laĆø giĆ“Ćø daĆÆy lyĆ¹ thuyeĆ”t (LYTHUYET)
hay thƶĆÆc haĆønh - giaĆ» sƶƻ neĆ”u LYTHUYET=1 thƬ ƱoĆ¹ laĆø giĆ“Ćø daĆÆy thƶĆÆc haĆønh vaĆø neĆ”u LYTHUYET=2 thƬ ƱoĆ¹ laĆø
giĆ“Ćø lyĆ¹ thuyeĆ”t, moƤt ngaĆøy coĆ¹ 16 tieĆ”t, saĆ¹ng tƶĆø tieĆ”t 1 ƱeĆ”n tieĆ”t 6, chieĆ u tƶĆø tieĆ”t 7 ƱeĆ”n tieĆ”t 12, toĆ”i tƶĆø tieĆ”t 13
ƱeƔn 16.
----oOo----
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
23. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 22
ChƶƓng 2 .
NGOĆN NGĆĆ TRUY VAĆN SQL
I CAĆCH TAĆO QUAN HEĆ BAĆNG ACCESS
Microsoft Access laĆø moƤt heƤ quaĆ»n trĆ² cĆ“ sĆ“Ć» dƶƵ lieƤu quan heƤ. Ta coĆ¹ theĆ„ duĆøng HQTCSDL Access hay
goĆÆi taĆ©t laĆø Access ƱeĆ„ thƶĆÆc haĆønh moĆ¢ hƬnh quan heƤ.
Sau ƱaĆ¢y ta seƵ taĆÆo lƶƓĆÆc ƱoĆ csdl quaĆ»n lyĆ¹ sinh vieĆ¢n nhƶ Ć“Ć» trang 6 cuĆ»a taĆøi lieƤu.
+ KhƓƻi ƱoƤng Access: Start-> Programs-> Microsoft Access.
+ TaĆÆo lƶƓĆÆc ƱoĆ csdl roĆ£ng coĆ¹ teĆ¢n laĆø qLSV: Blank Database->OK->qLSV->Create
+ TaĆÆo quan heƤ baĆØng caĆ¹ch:Tables->New->Design View->OK
o Data type laĆø Text (kieĆ„u chuoĆ£i), Yes/No (KieĆ„u luaƤn lyĆ¹), Date/Time (kieĆ„u ngaĆøy thaĆ¹ng),
Currency (kieƄu soƔ)
o Field size laĆø kĆch thĆ¶Ć“Ć¹c kieĆ„u dƶƵ lieƤu
+ Khi taĆÆo xong caĆ¹c thuoƤc tĆnh vaĆø khoĆ¹a chĆnh ta lƶu laĆÆi vaĆø ƱaĆ«t teĆ¢n cho quan heƤ Sv baĆØng caĆ¹ch :
File->Close->Yes->Sv->OK.
+ TaĆÆo caĆ¹c quan heƤ coĆøn laĆÆi theo bĆ¶Ć“Ć¹c 3 vaĆø 4
+ NhaƤp dƶƵ lieƤu cho quan heƤ Sv baĆØng caĆ¹ch: Tables->Sv->Open
II CAĆU LEĆNH TRUY VAĆN
1 BIEĆ
U THĆĆC (EXPRESSION)
CaĆ¹c thaĆønh phaĆ n taĆÆo neĆ¢n bieĆ„u thĆ¶Ć¹c bao goĆ m:
Literal value
LaĆø caĆ¹c dƶƵ lieƤu coĆ¹ giaĆ¹ trĆ² ƱuĆ¹ng nhƶ vaĆŖn baĆ»n theĆ„ hieƤn.
DƶƵ lieƤu chuoĆ£i coĆ¹ daĆÆng: āNew Yorkā
DƶƵ lieƤu soĆ” coĆ¹ daĆÆng: 1056; 1056.25
DƶƵ lieƤu ngaĆøy coĆ¹ daĆÆng: #1-Jan-94#; #12/2/2001#
Constant
LaĆø moƤt teĆ¢n ƱaĆÆi dieƤn cho moƤt giaĆ¹ trĆ² khoĆ¢ng thay ƱoĆ„i nhƶ :
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
24. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 23
Const GiaĆ¹ trĆ² ƱaĆÆi dieƤn
True -1
False 0
Null 0
ToaĆ¹n tƶƻ soĆ” hoĆÆc:
ToaĆ¹n tƶƻ YĆ nghĆ³a VĆ duĆÆ KeĆ”t quaĆ»
+ CoƤng soĆ” hoĆÆc 5+2 7
CoƤng ngaĆøy #28/08/01# + 4 #01/09/01#
- TrƶĆø soĆ” hoĆÆc 5-2 3
NgaĆøy trƶĆø soĆ” #02/09/01# - 3 #30/08/01#
NgaĆøy trƶĆø ngaĆøy #29/9/01#-#24/3/84# 16.597
* PheĆ¹p nhaĆ¢n 5*2 10
/ PheĆ¹p chia 5/2 2.5
Chia nguyeĆ¢n 52 2
^ LuyƵ thƶĆøa 5^2 25
Mod LaĆ”y soĆ” dƶ cuĆ»a pheĆ¹p chia 5 Mod 2 1
ToaĆ¹n tƶƻ luaƤn lyĆ¹
ToaĆ¹n tƶƻ YĆ nghĆ³a VĆ duĆÆ KeĆ”t QuaĆ»
Not LuaƤt phuĆ» Ć±Ć²nh Not True False
Not False True
And LuaƤt vaĆø True And True True
True And False False
False And True False
False And False False
Or LuaƤt hay True Or True True
True Or False True
False Or True True
False Or False False
ToaĆ¹n tƶƻ so saĆ¹nh
ToaĆ¹n tƶƻ YĆ nghĆ³a VĆ duĆÆ KeĆ”t quaĆ»
< Nhoƻ hƓn 2<5 True
<= NhoĆ» hĆ“n hay baĆØng 2 <= 5 True
> LĆ“Ć¹n hĆ“n 2>5 False
>= LĆ“Ć¹n hĆ“n hay baĆØng 2 >= 5 False
= BaĆØng nhau 2=5 False
<> KhaĆ¹c nhau 2 <> 5 True
CaĆ¹c toaĆ¹n tƶƻ khaĆ¹c
ToaĆ¹n tƶƻ YĆ nghĆ³a VĆ duĆÆ KeĆ”t quaĆ»
Between ... And ... GiƶƵa hai giaĆ¹ trĆ². 2 Between 1 And 5 True
DuĆøng trong query
Like GioĆ”ng nhƶ āHungā Like āHu*ā True
& NoĆ”i chuoĆ£i āNguyeĆ£n VaĆŖnā & āHuĆøngā āNguyeĆ£n VaĆŖn HuĆøngā
VĆ“Ć¹i toaĆ¹n tƶƻ like ta coĆ¹ theĆ„ duĆøng caĆ¹c kyĆ¹ tƶĆÆ Ć±aĆÆi dieƤn sau:
Wildcard characters
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
25. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 24
KyĆ¹ tƶĆÆ YĆ nghĆ³a VĆ duĆÆ
? ĆaĆÆi dieƤn cho moƤt kyĆ¹ tƶĆÆ baĆ”t kyĆø A? -> AN, AM, AC
* ĆaĆÆi dieƤn cho moƤt chuoĆ£i kyĆ¹ tƶĆÆ baĆ”t kyĆø. A* -> AI, ANH,
# ĆaĆÆi dieƤn cho moƤt kyĆ¹ soĆ” A## ->A13, A24, A35
[] ĆaĆÆi dieƤn cho caĆ¹c kyĆ¹ tƶĆÆ naĆØm trong A[IN] -> AI, AN
- ĆaĆÆi dieƤn cho caĆ¹c kyĆ¹ tƶĆÆ naĆØm trong khoaĆ»ng A[M-O] -> AM, AN, AO
! ĆaĆÆi dieƤn cho kyĆ¹ tƶĆÆ khoĆ¢ng phaĆ»i kyĆ¹ tƶĆÆ naĆØm sau ! A[!C] -> AA, AB, AD, AE, ...
HaĆøm:
HaĆøm coĆ¹ daĆÆng tenHam(danhSachDoiSo). HaĆøm luoĆ¢n luoĆ¢n ƱaĆÆi dieƤn cho moƤt trĆ² goĆÆi laĆø trĆ² traĆ» veĆ .
IIf(ƱieĆ u kieƤn, trĆ² 1, trĆ² 2)
KieĆ„m tra ƱieĆ u kieƤn, neĆ”u ƱieĆ u kieƤn ƱuĆ¹ng traĆ» trĆ² 1 ngƶƓĆÆc laĆÆi traĆ» trĆ² 2
VĆ duĆÆ: IIf(namNu = 1, āNamā,āNuā)
Date()
TraĆ» veĆ ngaĆøy thaĆ¹ng naĆŖm cuĆ»a heƤ thoĆ”ng.
Now(bieĆ„u thĆ¶Ć¹c ngaĆøy)
TraĆ» veĆ giĆ“Ćø, phuĆ¹t, giaĆ¢y, ngaĆøy thaĆ¹ng naĆŖm cuĆ»a heƤ thoĆ”ng.
Time(bieĆ„u thĆ¶Ć¹c ngaĆøy)
TraĆ» veĆ giĆ“Ćø phuĆ¹t giaĆ¢y cuĆ»a heƤ thoĆ”ng.
Day(bieĆ„u thĆ¶Ć¹c ngaĆøy)
TraĆ» veĆ moƤt soĆ” tƶĆø 1 ƱeĆ”n 31 laĆø ngaĆøy cuĆ»a Date.
Month(bieĆ„u thĆ¶Ć¹c ngaĆøy)
TraĆ» veĆ moƤt soĆ” tƶĆø 1 ƱeĆ”n 12 laĆø thaĆ¹ng cuĆ»a Date
Year(bieĆ„u thĆ¶Ć¹c ngaĆøy)
TraĆ» veĆ naĆŖm cuĆ»a ngaĆøy
Len( bieĆ„u thĆ¶Ć¹c chuoĆ£i)
TraĆ» veĆ chieĆ u daĆøi cuĆ»a chuoĆ£i.
Chr(maƵ Ascii)
TraĆ» veĆ kyĆ¹ tƶĆÆ coĆ¹ maƵ ASCII tƶƓng Ć¶Ć¹ng.
InStr(Start, s1, s2)
TraĆ» veĆ vĆ² trĆ chuoĆ£i s2 naĆØm trong s1
LCase(s), UCase(s)
ĆoĆ„i chuoĆ£i s thaĆønh chuoĆ£i goĆ m caĆ¹c kyĆ¹ tƶĆÆ thƶƓĆøng (hoa)
Left(s, n), Right(s, n)
TraĆ» veĆ chuoĆ£i goĆ m n kyĆ¹ tƶĆÆ beĆ¢n traĆ¹i (phaĆ»i) cuĆ»a chuoĆ£i s
Mid(s, i, n)
TraĆ» veĆ chuoĆ£i con cuĆ»a chuoĆ£i s, goĆ m n kyĆ¹ tƶĆÆ keĆ„ tƶĆø kyĆ¹ tƶĆÆ thĆ¶Ć¹ i
Nz(v1, v2)
NeĆ”u v1 = Null thƬ TraĆ» veĆ v2, ngƶƓĆÆc laĆÆi traĆ» veĆ v1
CaĆ¹c haĆøm tĆnh toaĆ¹n treĆ¢n nhoĆ¹m:
SUM (thuoƤc tĆnh )
TĆnh toĆ„ng giaĆ¹ trĆ² cuĆ»a thuoƤc tĆnh cuĆ»a caĆ¹c boƤ trong baĆ»ng
MAX( thuoƤc tĆnh)
tĆnh giaĆ¹ trĆ² lĆ“Ć¹n nhaĆ”t cuĆ»a thuoƤc tĆnh cuĆ»a caĆ¹c boƤ trong baĆ»ng
MIN(thuoƤc tĆnh)
tĆnh giaĆ¹ trĆ² nhoĆ» nhaĆ”t cuĆ»a thuoƤc tĆnh cuĆ»a caĆ¹c boƤ trong baĆ»ng
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
26. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 25
AVG(thuoƤc tĆnh>)
tĆnh giaĆ¹ trĆ² trung bƬnh cuĆ»a thuoƤc tĆnh cuĆ»a caĆ¹c boƤ trong baĆ»ng
COUNT(thuoƤc tĆnh)
chƦ ƱeĆ”m nhƶƵng boƤ maĆø giaĆ¹ trĆ² cuĆ»a thuoƤc tĆnh laĆø khaĆ¹c NULL
BieĆ„u thĆ¶Ć¹c
BieĆ„u thĆ¶Ć¹c laĆø toĆ„ hĆ“ĆÆp caĆ¹c toaĆ¹n tƶƻ, literal value, haĆØng, teĆ¢n haĆøm, teĆ¢n thuoƤc tĆnh.
BieĆ„u thĆ¶Ć¹c ƱƶƓĆÆc lƶƓĆÆng gĆa thaĆønh moƤt gĆa trĆ².
2 CAĆU LEĆNH SQL
SQL laĆø ngoĆ¢n ngƶƵ truy vaĆ”n dƶĆÆa treĆ¢n ƱaĆÆi soĆ” quan heƤ. CaĆ¢u leƤnh cuĆ»a SQL duĆøng ƱeĆ„ ruĆ¹t trĆch dƶƵ lieƤu cuĆ»a
moƤt moƤt hay nhieĆ u quan heƤ. KeĆ”t quaĆ» cuĆ»a moƤt caĆ¢u leƤnh SQL (truy vaĆ”n) laĆø moƤt quan heƤ. ĆeĆ„ ƱƓn giaĆ»n
trong caĆ¹ch trƬnh baĆøy, ta xem quan heƤ maĆø caĆ¢u truy vaĆ”n sƶƻ duĆÆng ƱeĆ„ taĆÆo ra quan heƤ khaĆ¹c goĆÆi laĆø quan heƤ
nguoĆ n, quan heƤ keĆ”t quaĆ» cuĆ»a truy vaĆ”n laĆø quan heƤ ƱĆch.
i Truy vaĆ”n Ć±Ć²nh nghĆ³a dƶƵ lieƤu (data definition query)
TaĆÆo lƶƓĆÆc ƱoĆ quan heƤ rSV:
+ Create Table rSV (MASV Text (10) CONSTRAINT khoaChinh PRIMARY
KEY,HOTEN Text (30), NU YesNo, NGAYSINH Date, MALOP Text (10),
TINH Text (50), HOCBONG Double )
TaĆÆo lƶƓĆÆc ƱoĆ quan heƤ rKQ:
+ Create Table rKQ (MASV text (10),MAMH Text (10), DIEMTHI
Double,CONSTRAINT khoaChinh PRIMARY KEY (MASV,MAMH) )
ChuĆ¹ yĆ¹: Hai caĆ¹ch taĆÆo treĆ¢n cho ta thaĆ”y hai caĆ¹ch taĆÆo khoĆ¹a: khoĆ¹a chƦ goĆ m moƤt thuoƤc tĆnh vaĆø khoĆ¹a coĆ¹
nhieĆ u thuoƤc tĆnh
TheĆ¢m coƤt DTHOAI coĆ¹ kieĆ„u dƶƵ lieƤu text 20 kyĆ¹ tƶĆÆ vaĆøo lƶƓĆÆc ƱoĆ quan heƤ rSV:
+ Alter Table rSV Add Column DTHOAI Text (20)
Sƶƻa kieƄu kieƄu dƶƵ lieƤu cuƻa moƤt coƤt:
+ Alter Table rSV Alter Column DTHOAI double
XoĆ¹a coƤt cuĆ»a moƤt lƶƓĆÆc ƱoĆ Ć±aƵ coĆ¹:
+ Alter Table rSv Drop Column DTHOAI
XoĆ¹a raĆøng buoƤc khoĆ¹a chĆnh:
+ Alter Table rSv Drop Constraint khoaChinh
TheĆ¢m raĆøng buoƤc khoĆ¹a chĆnh:
+ Alter Table rSv Add Constraint khoaChinh Primary Key (MASV)
TheĆ¢m raĆøng buoƤc mieĆ n giaĆ¹ trĆ²:
+ ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1)
ii Truy vaĆ”n choĆÆn (select query)
Khi coĆ¹ nhu caĆ u theĆ„ hieƤn caĆ¹c doĆøng dƶƵ lieƤu cuĆ»a moƤt quan heƤ hay cuĆ»a nhieĆ u quan heƤ dĆ¶Ć“Ć¹i daĆÆng moƤt
quan heƤ coĆ¹ soĆ” coƤt vaĆø soĆ” doĆøng theo yĆ¹ muoĆ”n nhƶ baĆ»ng ƱieĆ„m cuĆ»a sinh vieĆ¢n, danh saĆ¹ch sinh vieĆ¢n thƬ ta
sƶƻ duĆÆng truy vaĆ”n choĆÆn.
ĆeĆ„ truy vaĆ”n choĆÆn ta sƶƻ duĆÆng caĆ¢u leƤnh SQL sau:
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
From table1 [Inner Join table2 On table1.field1 Īø table2.field2] ...
[Where dieuKien]
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
27. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 26
[Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
Distinct: loaĆÆi boĆ» caĆ¹c boƤ truĆøng trong quan heƤ ƱĆch
Top n[%]: ChoĆÆn n hay n% maĆ£u tin ƱaĆ u tieĆ¢n.
table: TeĆ¢n table hay query chĆ¶Ć¹a dƶƵ lieƤu.
field: TeĆ¢n field hay moƤt bieĆ„u thĆ¶Ć¹c.
Alias: TrƶƓĆøng hĆ“ĆÆp field laĆø moƤt bieĆ„u thĆ¶Ć¹c thƬ <Alias> laĆø moƤt teĆ¢n mĆ“Ć¹i cuĆ»a bieĆ„u thĆ¶Ć¹c.
Inner Join: moĆ£i maĆ£u tin cuĆ»a table1 noĆ”i vĆ“Ć¹i baĆ”t kyĆø maĆ£u tin naĆøo cuĆ»a table2 coĆ¹ dƶƵ lieƤu cuĆ»a field1 thoĆ»a
maƵn ƱieĆ u kieƤn so saĆ¹nh vĆ“Ć¹i dƶƵ lieƤu cuĆ»a field2 taĆÆo thaĆønh maĆ£u tin cuĆ»a query.
ƱieĆ u kieƤn: BieĆ„u thĆ¶Ć¹c maĆø dƶƵ lieƤu maĆ£u tin phaĆ»i thoĆ»a maƵn
ChuĆ¹ yĆ¹:
Khi neĆ¢u roƵ thuoƤc tĆnh ƱoĆ¹ thuoƤc veĆ quan heƤ naĆøo ta vieĆ”t theo cuĆ¹ phaĆ¹p teĆ¢nQuanHeƤ.teĆ¢nThuoƤcTĆnh.
VĆ duĆÆ: LaƤp danh saĆ¹ch sinh vieĆ¢n goĆ m MASV,HOTEN,HOCBONG
SELECT MASV,HOTEN,HOCBONG
FROM Sv;
VĆ duĆÆ: LaƤp danh saĆ¹ch sinh vieĆ¢n nƶƵ , coĆ¹ hoĆÆc boĆ„ng thuoƤc coĆ¹ maƵ lĆ“Ć¹p laĆø āCĆTH2Bā.
SELECT MASV,HOTEN,HOCBONG
FROM Sv
WHERE NU And MALOP='CĆTH2B' And HOCBONG>0;
VĆ duĆÆ: LaƤp danh saĆ¹ch sinh vieĆ¢n goĆ m MASV,HOTEN,HOCBONG trong ƱoĆ¹ hoĆÆc boĆ„ng ƱƶƓĆÆc saĆ©p giaĆ»m
daĆ n
SELECT MASV,HOTEN,HOCBONG
FROM Sv
ORDER BY HOCBONG DESC;
VĆ du : LaƤp danh saĆ¹ch sinh vieĆ¢n goĆ m MASV,HOTEN,TENLOP
SELECT MASV,HOTEN,TENLOP
FROM Sv Inner Join Lop On Sv.MALOP=Kh.LOP;
VĆ duĆÆ: LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ MASV,HOTEN,NU,NGAYSINH,DIEMTHI vĆ“Ć¹i ƱieĆ„m thi moĆ¢n
āCSDLā >= 8
SELECT Kq.MASV,HOTEN,NU,NGAYSINH,DIEMTHI
FROM Kq Inner Sv On Kq.MASV = Sv.MaSV
WHERE MAMH='CSDL' AND DIEMTHI>=8;
VĆ duĆÆ: LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ ho laĆø āNGUYENā
SELECT *
FROM Sv
WHERE HOTEN Like āNGUYEN*ā;
iii Truy vaĆ”n nhoĆ¹m dƶƵ lieƤu (Select query coĆ¹ group by)
Khi coĆ¹ nhu caĆ u chia caĆ¹c boƤ theo tƶĆøng nhoĆ¹m roĆ i tĆnh toaĆ¹n treĆ¢n tƶĆøng nhoĆ¹m naĆøy nhƶ tĆnh ƱieĆ„m trung
bƬnh cuĆ»a taĆ”t caĆ» caĆ¹c moĆ¢n hoĆÆc cuĆ»a tƶĆøng sinh vieĆ¢n, hay laĆø caĆ n tĆnh soĆ” lƶƓĆÆng sinh vieĆ¢n cuĆ»a moĆ£i lĆ“Ć¹p , hay
laĆø caĆ n bieĆ”t toĆ„ng soĆ” moĆ¢n maĆø moƤt sinh vieĆ¢n ƱaƵ ƱaĆŖng kyĆ¹ hoĆÆc thƬ ta sƶƻ duĆÆng truy vaĆ”n theo nhoĆ¹m.
ĆeĆ„ truy vaĆ”n coƤng nhoĆ¹m ta sƶƻ duĆÆng caĆ¢u leƤnh SQL sau:
Select [Distinct|Top n[%]] field1 [As alias1][,field2 [As alias2][,...]]
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
28. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 27
From table1 [Inner Join table2 On table1.field1 Īø table2.field2] ...
[Where dieuKienLocMauTinNguon]
[Group By fieldGroupBy[,fieldGroupBy[,...]]
[Having dieuKienLocMauTinTongHop]
[Order By field1[Asc|Desc][,field2[Asc|Desc]][,...]]];
ƱieĆ uKieƤnLoĆÆcMaĆ£uTinNguoĆ n: ƱieĆ u kieƤn maĆø caĆ¹c maĆ£u tin nguoĆ n phaĆ»i thoĆ»a maƵn (pheĆ¹p choĆÆn)
fieldGroupBy: teĆ¢n field maĆø caĆ¹c maĆ£u tin coĆ¹ dƶƵ lieƤu gioĆ”ng nhau treĆ¢n aĆ”y ƱƶƓĆÆc xeĆ”p vaĆøo cuĆøng nhoĆ¹m.
ƱieĆ uKieƤnLoĆÆcMaĆ£uTinToĆ„ngHĆ“ĆÆp: ƱieĆ u kieƤn maĆø caĆ¹c maĆ£u tin toĆ„ng hĆ“ĆÆp phaĆ»i thoĆ»a maƵn (pheĆ¹p choĆÆn)
VĆ du:ĆÆ LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ ƱaĆŖng kyĆ¹ Ćt nhaĆ”t laĆø ba moĆ¢n hoĆÆc
SELECT Kq.MASV,HOTEN,NU,NGAYSINH,COUNT(MAMH) As SLMH
FROM Sv Inner Join Kq On Sv.MASV = Kq.MASV
GROUP BY Kq.MASV,HOTEN,NU,NGAYSINH
HAVING COUNT(MAMH)>=3;
VĆ du: ĆeĆ”m soĆ” lƶƓĆÆng sinh vieĆ¢n nƶƵ cuĆ»a moĆ£i khoa
SELECT Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHOA) AS SOLUONG
FROM (Sv Inner Join Lop On Sv.MALOP = LOP.MALOP)
INNER JOIN Kh On Lop.MAKHOA=Kh.MAKHOA
WHERE NU
GROUP BY Kh.MAKHOA,TENKHOA;
iv Truy vaĆ”n loĆ ng nhau (nested query, sub query)
LaĆø nhƶƵng caĆ¢u leƤnh truy vaĆ”n maĆø trong thaĆønh phaĆ n WHERE hay HAVING coĆ¹ chĆ¶Ć¹a theĆ¢m moƤt caĆ¢u leƤnh
Select khaĆ¹c. CaĆ¢u leƤnh select khaĆ¹c naĆøy goĆÆi laĆø subquery. Ta loĆ ng caĆ¢u Select vaĆøo phaĆ n Where hay
Having theo cuĆ¹ phaĆ¹p sau:
o bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)
ANY, SOME laĆø baĆ”t kyĆø, ALL laĆø taĆ”t caĆ»
CaĆ¹c maĆ£u tin cuĆ»a query chĆnh thoĆ»a maƵn toaĆ¹n tƶƻ so saĆ¹nh vĆ“Ć¹i baĆ”t kyĆø/ taĆ”t caĆ» maĆ£u tin naĆøo cuĆ»a
subquery
o bieuThuc [NOT] IN (cauLenhSQL)
CaĆ¹c maĆ£u tin cuĆ»a query chĆnh coĆ¹ giaĆ¹ trĆ² baĆØng vĆ“Ć¹i moƤt giaĆ¹ trĆ² trong subquery
o [NOT] EXISTS (cauLenhSQL).
CaĆ¹c maĆ£u tin cuĆ»a query chĆnh thoĆ»a maƵn khi subquery coĆ¹ maĆ£u tin
VĆ du: LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ hoĆÆc boĆ„ng cao nhaĆ”t
SELECT *
FROM Sv
WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV);
VĆ du: LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ ƱieĆ„m thi moĆ¢n CSDL cao nhaĆ”t
SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI
FROM sv Inner Join kq On Sv.MASV = Kq.MASV
WHERE MAMH='CSDL' AND DIEMTHI >= ALL
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
29. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 28
(SELECT DIEMTHI FROM KQ WHERE MAMH='CSDL');
HieĆ„u vaĆø vaƤn duĆÆng toĆ”t leƤnh truy vaĆ”n dƶƵ lieƤu laĆø moƤt vieƤc laĆøm cƶĆÆc kyĆø caĆ n thieĆ”t ƱeĆ„ taĆÆo ra caĆ¹c keĆ”t quaĆ»
cho baĆ¹o caĆ¹o, thoĆ”ng keĆ¢ soĆ” lieƤu.
v Truy vaƔn caƤp nhaƤt dƶƵ lieƤu (action query, data modification query)
CuĆ¹ phaĆ¹p: Update table Set field1 = bieĆ„uThĆ¶Ć¹c1, field2 = bieĆ„uThĆ¶Ć¹c2 Where ƱieĆ uKieƤn
CuĆ¹ phaĆ¹p: Delete From table Where ƱieĆ uKieƤn
vi Truy vaĆ”n hĆ“ĆÆp (union query)
Khi coĆ¹ nhu caĆ u thƶĆÆc hieƤn truy vaĆ”n coĆ¹ keĆ”t quaĆ» nhƶ toaĆ¹n tƶƻ hĆ“ĆÆp, ta sƶƻ duĆÆng caĆ¢u leƤnh SQL sau:
Select .....Union Select ....
VĆ du: LeƤnh sau ƱaĆ¢y gaĆ”p ƱoĆ¢i danh saĆ¹ch sinh vieĆ¢n
SELECT MASV,HOTEN,NGAYSINH UNION SELECT MASV,HOTEN,NGAYSINH
III BAĆI TAĆP
1/ Cho lƶƓĆÆc ƱoĆ CSDL quaĆ»n lyĆ¹ sinh vieĆ¢n. HaƵy thƶĆÆc hieƤn caĆ¹c caĆ¢u truy vaĆ”n sau
a) LaƤp danh saĆ¹ch nhƶƵng sinh vieĆ¢n nam cuĆ»a tƦnh āLONG ANā hoĆÆc khoa āCNTTā, danh saĆ¹ch caĆ n
taĆ”t caĆ» caĆ¹c thuoƤc tĆnh cuĆ»a quan heƤ Sv.
b) LaƤp danh saĆ¹ch nhƶƵng sinh vieĆ¢n coĆ¹ ƱieĆ„m thi < 5 (thi laĆÆi), danh saĆ¹ch caĆ n
MASV,HOTEN,TENMH, DIEMTHI vaĆø ƱƶƓĆÆc saĆ©p taĆŖng daĆ n theo coƤt MASV.
c) LaƤp danh saĆ¹ch caĆ¹c sinh vieĆ¢n coĆ¹ ƱieĆ„m thi trung bƬnh caĆ¹c moĆ¢n < 5, danh saĆ¹ch caĆ n
MASV,HOTEN, DIEMTRUNGBINH vaĆø ƱƶƓĆÆc saĆ©p taĆŖng daĆ n theo coƤt MASV.
d) ToĆ„ng soĆ” tieĆ n hoĆÆc boĆ„ng cuĆ»a moĆ£i khoa
e) NhƶƵng sinh vieĆ¢n naĆøo ƱaĆŖng kyĆ¹ hoĆÆc nhieĆ u hĆ“n 3 moĆ¢n hoĆÆc, danh saĆ¹ch caĆ n
MASV,HOTEN,SOLAN_DANGKY
f) LaƤp danh saĆ¹ch sinh vieĆ¢n coĆ¹ ƱieĆ„m trung bƬnh cao nhaĆ”t, danh saĆ¹ch caĆ n MASV, HOTEN,
NGAYSINH, DIEMTRUNGBINH
2/ Cho lƶƓĆÆc ƱoĆ CSDL duĆøng ƱeĆ„ quaĆ»n lyĆ¹ lao ƱoƤng bao goĆ m caĆ¹c lƶƓĆÆc ƱoĆ quan heƤ sau:
Nhanvien(MANV,HOTEN,NGAYSINH,PHAI,DIACHI,MAPB)
TaĆ¢n tƶĆø: MoĆ£i nhaĆ¢n vieĆ¢n 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Ʀ
(DIACHI) vaĆø phoĆøng ban (MAPB) nĆ“i quaĆ»n lyĆ¹ nhaĆ¢n vieĆ¢n.
Phongban(MAPB,TENPB)
TaĆ¢n tƶĆø: MoĆ£i phoĆøng ban coĆ¹ moƤt maƵ phoĆøng ban (MAPB) duy nhaĆ”t, maƵ phoĆøng ban xaĆ¹c Ć±Ć²nh teĆ¢n
phoĆøng ban (TENPB)
Cong(MACT,MANV,SLNGAYCONG)
TaĆ¢n tƶĆø: LƶƓĆÆc ƱoĆ quan heƤ Cong ghi nhaƤn soĆ” lƶƓĆÆng ngaĆøy coĆ¢ng (SLNGAYCONG) cuĆ»a moƤt nhaĆ¢n
vieĆ¢n (MANV) tham gia vaĆøo coĆ¢ng trƬnh (MACT).
Congtrinh(MACT,TENCT,DIADIEM,NGAYCAPGP,NGAYKC,NGAYHT)
TaĆ¢n tƶĆø: MoĆ£i coĆ¢ng trƬnh coĆ¹ moƤt maƵ soĆ” coĆ¢ng trƬnh (MACT) duy nhaĆ”t. 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 (DIADIEM), 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).
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
30. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 29
HaƵy thƶĆÆc hieƤn caĆ¹c caĆ¢u hoĆ»i sau baĆØng SQL
a) Danh saĆ¹ch nhƶƵng nhaĆ¢n vieĆ¢n coĆ¹ tham gia vaĆøo coĆ¢ng trƬnh coĆ¹ maƵ coĆ¢ng trƬnh (MACT) laĆø X. YeĆ¢u
caĆ u caĆ¹c thoĆ¢ng tin: MANV,HOTEN, SLNGAYCONG, trong ƱoĆ¹ MANV ƱƶƓĆÆc saĆ©p taĆŖng daĆ n.
b) ĆeĆ”m soĆ” lƶƓĆÆng ngaĆøy coĆ¢ng cuĆ»a moĆ£i coĆ¢ng trƬnh. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin: MACT, TENCT,
TONGNGAYCONG (TONGNGAYCONG laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t)
c) Danh saĆ¹ch nhƶƵng nhaĆ¢n vieĆ¢n coĆ¹ sinh nhaƤt trong thaĆ¹ng 8. yeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin: MANV,
TENNV, NGAYSINH, ĆIACHI,TENPB, saĆ©p xeĆ”p quan heƤ keĆ”t quaĆ» theo thĆ¶Ć¹ tƶĆÆ tuoĆ„i giaĆ»m daĆ n.
d) ĆeĆ”m soĆ” lƶƓĆÆng nhaĆ¢n vieĆ¢n cuĆ»a moĆ£i phoĆøng ban. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin: MAPB, TENPB,
SOLUONG. (SOLUONG laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t.)
3/ Cho caĆ¹c quan heƤ sau:
Monhoc(MSMH ,TENMH,SOTINCHI ,TINHCHAT)
MSMH maƵ soĆ” moĆ¢n hoĆÆc,
TENMH teĆ¢n moĆ¢n hoĆÆc
SOTINCHI soĆ” lƶƓĆÆng tĆn chƦ,
TĆNH CHAĆT baĆØng 1 neĆ”u ƱoĆ¹ laĆø moĆ¢n hoĆÆc baĆ©t buoƤc, baĆØng 0 neĆ”u ƱoĆ¹ laĆø moĆ¢n hoĆÆc khoĆ¢ng baĆ©t buoƤc
Sinhvien(MSSV,HOTEN,NGAYSINH,LOP)
MSSV maƵ soĆ” sinh vieĆ¢n,
HOTEN hoĆÆ teĆ¢n sinh vieĆ¢n
NGAYSINH ngaĆøy sinh,
LOP(C,4,0) lĆ“Ć¹p
Diem(MSSV,MSMH,DIEMTHI)
DIEMTHI ƱieƄm thi
HaƵy duĆøng leƤnh SQL ƱeĆ„ thƶĆÆc hieƤn caĆ¹c caĆ¢u leƤnh sau:
a) HaƵy cho bieĆ”t nhƶƵng moĆ¢n hoĆÆc baĆ©t buoƤc coĆ¹ SOTINCHI cao nhaĆ”t.
b) HaƵy lieƤt keĆ¢ danh saĆ¹ch goĆ m MSSV,HOTEN,LOP, DIEMTHI cuĆ»a nhƶƵng sinh vieĆ¢n thi moĆ¢n hoĆÆc
CSDL, theo thĆ¶Ć¹ tƶĆÆ LOP,DIEMTHI
c) HaƵy cho bieĆ”t caĆ¹c sinh vieĆ¢n coĆ¹ ƱieĆ„m thi cao nhaĆ”t veĆ moĆ¢n hoĆÆc coĆ¹ maƵ laĆø CSDL
d) HaƵy cho bieĆ”t phieĆ”u ƱieĆ„m cuĆ»a sinh vieĆ¢n coĆ¹ maƵ soĆ” laĆø 9900277
e) HaƵy lieƤt keĆ¢ danh saĆ¹ch goĆ m MSSV, HOTEN., LOP, ĆIEĆ
M TRUNG BĆNH cuĆ»a nhƶƵng sinh
vieĆ¢n coĆ¹ ƱieĆ„m trung bƬnh caĆ¹c moĆ¢n dĆ¶Ć“Ć¹i 5, theo thĆ¶Ć¹ tƶĆÆ LOP,HOTEN.
f) HaƵy lieƤt keĆ¢ danh saĆ¹ch ƱieĆ„m trung bƬnh cuĆ»a sinh vieĆ¢n theo thĆ¶Ć¹ tƶĆÆ , lĆ“Ć¹p, teĆ¢n.
g) HaƵy cho bieĆ”t ƱieĆ„m cuĆ»a sinh vieĆ¢n theo tƶĆøng moĆ¢n.
4/ DƶĆÆa vaĆøo lƶƓĆÆc ƱoĆ cĆ“ sĆ“Ć» dƶƵ lieƤu
Docgia(MADG,HOTEN,NGAYSINH,DIACHI,NGHENGHIEP)
Phieumuon(SOPM,NGAYMUON,MADG)
Chitietmuon(SOPM,MADAUSACH,NGAYTRA)
Dausach(MADAUSACH,BAN,TAP,MASH)
Sach(MASH,TENSACH,TACGIA,NHAXB,NAMXB)
HaƵy thƶĆÆc hieƤn caĆ¹c caĆ¢u hoĆ»i sau ƱaĆ¢y baĆØng SQL
a) Danh saĆ¹ch caĆ¹c ƱoĆÆc giaĆ» ƱaƵ ƱaĆŖng kyĆ¹ mƶƓĆÆn saĆ¹ch trong ngaĆøy d. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin: MAĆG,
HOTEN, ĆIACHI.
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
31. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 30
b) CaĆ¹c quyeĆ„n saĆ¹ch cuĆ»a phieĆ”u mƶƓĆÆn coĆ¹ SOPM laĆø x. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin MASH, TENSACH,
TACGIA, NGAYMUON, NGAYTRA.
c) ToĆ„ng soĆ” lƶƓĆÆt maĆø moĆ£i ƱoĆÆc giaĆ» ƱeĆ”n mƶƓĆÆn saĆ¹ch trong naĆŖm 2001. YeĆ¢u caĆ u thoĆ¢ng tin
MAĆG,HOTEN,SOLANMUON (SOLANMUON laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t)
d) Danh saĆ¹ch caĆ¹c ƱoĆÆc giaĆ» cao tuoĆ„i nhaĆ”t ƱaƵ mƶƓĆÆn saĆ¹ch trong ngaĆøy d. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin
MAĆG, HOTEN, NGAYSINH, ĆIACHI, NGHENGHIEP.
5/ DƶĆÆa vaĆøo lƶƓĆÆc ƱoĆ cĆ“ sĆ“Ć» dƶƵ lieƤu
Khach(MAKH,HOTEN,DIACHI,DIENTHOAI)
Hoadon(SOHD,NGAYLAPHD,NGAYBAN,MAKH)
DongHoaDon(SOHD,MAHANG,SLBAN)
Hang(MAHANG,TENHANG,DONGIA,DVT,MANHOM)
Nhom(MANHOM,TENNHOM)
HaƵy thƶĆÆc hieƤn caĆ¹c caĆ¢u hoĆ»i sau baĆØng SQL
a) Danh saĆ¹ch caĆ¹c khaĆ¹ch haĆøng ƱaƵ mua haĆøng trong ngaĆøy d. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin MAKH,
HOTEN, ĆIACHI, ĆIENTHOAI.
b) Danh saĆ¹ch caĆ¹c maĆ«t haĆøng trong soĆ” hoĆ¹a ƱƓn (SOHĆ) laĆø x. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin MAHANG,
TENHANG, SLBAN, ĆONGIA, THANHTIEN (THANHTIEN= SLBAN*ĆONGIA;
THANHTIEN laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t).YeĆ¢u caĆ u saĆ©p xeĆ”p taĆŖng daĆ n theo coƤt TENHANG
c) Danh saĆ¹ch caĆ¹c maĆ«t haĆøng thuoƤc maƵ nhoĆ¹m haĆøng laĆø A coĆ¹ ƱƓn giaĆ¹ cao nhaĆ”t. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng
tin : MAHANG, TENHANG,ĆONGIA
d) ĆeĆ”m soĆ” lƶƓĆÆng maĆ«t haĆøng cuĆ»a moĆ£i nhoĆ¹m haĆøng. YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin : MANHOM,
TENNHOM, SOLUONG. (trong ƱoĆ¹ SOLUONG laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t) (0,75Ʊ)
e) Danh saĆ¹ch caĆ¹c khaĆ¹ch haĆøng ƱaƵ mua caĆ¹c maĆ«t haĆøng coĆ¹ maƵ nhoĆ¹m haĆøng laĆø A trong ngaĆøy d. YeĆ¢u
caĆ u caĆ¹c thoĆ¢ng tin MAKH, HOTEN, ĆIACHI, ĆIENTHOAI,TENHANG.
f) ThoĆ”ng keĆ¢ vieƤc mua haĆøng trong naĆŖm 2002 cuĆ»a khaĆ¹ch haĆøng coĆ¹ maƵ khaĆ¹ch haĆøng laĆø Kh01 (theo
tƶĆøng hoĆ¹a ƱƓn). YeĆ¢u caĆ u caĆ¹c thoĆ¢ng tin MAKH,HOTEN,SOHĆ,TRIGIAHĆ trong ƱoĆ¹
TRIGIAHĆ laĆø toĆ„ng soĆ” tieĆ n trong moƤt hoĆ¹a ƱƓn (TRIGIAHĆ laĆø thuoƤc tĆnh tƶĆÆ Ć±aĆ«t)
6/ DƶĆÆa vaĆøo lƶƓĆÆc ƱoĆ cĆ“ sĆ“Ć» dƶƵ lieƤu
Giaovien(MAGV,HOTEN,DTGV,MAKHOA)
Khoa(MAKHOA,TENKHOA,DTKHOA)
Lop(MALOP,TENLOP,SISO,MAKHOA)
Monhoc(MAMH,TENMH)
Phonghoc(SOPHONG,CHUCNANG)
Lichbaogiang(MALICH,NGAYDAY,MAGV)
Dongbaogiang(MALICH,TUTIET,DENTIET,BAIDAY,GHICHU,LYTHUYET,MAMH,MALOP,SOPHONG)
HaƵy thƶĆÆc hieƤn caĆ¹c caĆ¢u hoĆ»i sau baĆØng SQL
a) Xem lĆ²ch baĆ¹o giaĆ»ng tuaĆ n tƶĆø ngaĆøy 16/09/2002 ƱeĆ”n ngaĆøy 23/09/2002 cuĆ»a giaĆ¹o vieĆ¢n coĆ¹ MAGV
(maƵ giaĆ¹o vieĆ¢n) laĆø TH3A040. YeĆ¢u caĆ u: MAGV,HOTEN,TENLOP,TENMH,SOPHONG,
NGAYDAY, TUTIET, DENTIET, BAIDAY, GHICHU
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4
32. GiaĆ¹o trƬnh CĆ SĆĆ DĆĆ LIEĆU Trang 31
b) Xem lĆ²ch baĆ¹o giaĆ»ng ngaĆøy 23/09/2002 cuĆ»a caĆ¹c giaĆ¹o vieĆ¢n coĆ¹ maƵ khoa laĆø CNTT. YeĆ¢u caĆ u:
MAGV,HOTEN,TENLOP,TENMH,PHONG,NGAYDAY,TUTIET,DENTIET,BAIDAY,
GHICHU)
c) Cho bieĆ”t soĆ” lƶƓĆÆng giaĆ¹o vieĆ¢n (SOLUONGGV) cuĆ»a moĆ£i khoa, keĆ”t quaĆ» caĆ n saĆ©p xeĆ”p taĆŖng daĆ n
theo coƤt teĆ¢n khoa. yeĆ¢u caĆ u: TENKHOA ,SOLUONGGV ( SOLUONGGV laĆø thuoƤc tĆnh tƶĆÆ
Ʊaƫt)
----oOo----
Bį» mĆ“n CSDL TrĘ°į»ng CÄCN 4