Mon CSDLTC 75tiet Tuyen

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 49

Trng cao ng Cng Ngh Th c

Mn: C S D Liu Trang 1



MC LC

CHNG 1: TNG QUAN V C S D LIU ........................................... 3
I. H THNG CC TP TIN C IN ..................................................... 3
II. C S D LIU. .............................................................................. 3
III. H QUN TR CSDL ....................................................................... 4
IV. I TNG S DNG CSDL ........................................................... 5
V. CC MC NHN THC ...................................................................... 5
VI. CC M HNH D LIU ................................................................... 6

CHNG 2: M HNH THC TH KT HP .............................................. 9
I KHI NIM .................................................................................... 9
II THC TH , MI QUAN H , THUC TNH ...................................... 9
1 Thc th .................................................................................... 9
2 Mi quan h ............................................................................... 9
3 Thuc tnh ............................................................................... 10
III BC CA MI QUAN H ........................................................... 11
IV BN S CA MI QUAN H ...................................................... 11
V S THC TH KT HP ......................................................... 11

CHNG 3: M HNH QUAN H ............................................................. 13
I.CC KHI NIM C BN.................................................................. 13
II. PH THUC HM .......................................................................... 14
II.1 nh ngha ............................................................................. 14
II.2 He luat dan Armstrong ...................................................... 14
II.3 Bao ng ca tp ph thuc hm F ......................................... 15
II.4 Bao ng ca mt tp thuc tnh ............................................. 15
II.4.2 Thut ton tm bao ng ca tp thuc tnh ......................... 15
II.5 Kha ca mt lc quan h. ............................................... 16
III DNG CHUN CA LC QUAN H ......................................... 17
III.1 Mt s khi nim lin quan n cc dng chun. ................... 17
III.2 Dng chun 1(1NF-First Normal Form) .................................. 17
III.3 Dng chun 2(2NF-Second Normal Form) ............................. 18
III.4 Dng chun 3(3NF- Third Normal Form) ................................ 19
III.5 Dng chun BC(Boyce-Codd Normal Form) ............................ 20
III.6 Thut ton kim tra dng chun ca mt lc quan h. .... 20

CHNG 4: RNG BUC TON VN ....................................................... 22
I NH NGHA ............................................................................... 22
II CC YU T CA RNG BUC TON VN ..................................... 22
1 iu kin. ................................................................................ 22
2 Bi cnh. ................................................................................. 22
3 Bng tm nh hng. .............................................................. 23
III PHN LOI RNG BUC TON VN.......................................... 23
1 Rng buc ton vn c bi cnh trn mt quan h .................. 23
1.1 Rng buc ton vn min gi tr ....................................... 23
1.2 Rng buc ton vn lin thuc tnh ................................... 24
1.3 Rng buc ton vn lin b ............................................... 24
2 Rng buc ton vn c bi cnh trn nhiu quan h ................ 24
2.1 Rng buc ton vn ph thuc tn ti .............................. 24
2.2 Rng buc ton vn lin thuc tnh-lin quan h. ............. 25
2.3 Rng buc ton vn lin b-lin quan h. ......................... 25
2.4 Rng buc ton vn v thuc tnh tng hp ...................... 26
CHNG 5: I S QUAN H ................................................................ 27
I. C S D LIU QUAN H. .............................................................. 27
II. CC PHP TON TP HP. ............................................................ 27
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 2
1 Php hp. ................................................................................. 27
2 Php giao. ................................................................................ 27
3 Php tr. .................................................................................. 28
4 Php b. ................................................................................... 28
5 Php tch Descartes ................................................................. 29
III. CC PHP TON QUAN H. ........................................................... 29
1 Php chiu. .............................................................................. 29
2 Php chn. ............................................................................... 30
3 Php kt. .................................................................................. 31
4 Php chia. ................................................................................ 32

CHNG 6: NGN NG TRUY VN SQL .................................................. 34
I GII THIU SQL .......................................................................... 34
II TRUY VN D LIU ...................................................................... 34
1 Php chiu ............................................................................... 34
2 Php chn ................................................................................ 38
3 Php kt ................................................................................... 42
4 Gom nhm d liu .................................................................... 44
5 Sp xp d liu ........................................................................ 45
6 Cu truy vn lng ..................................................................... 46
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 3
CHNG 1
TNG QUAN V C S D LIU

I. H THNG CC TP TIN C IN (File System)

Cho n nay vn cn mt s n v kinh t, hnh chnh s nghip v.v... s dng
m hnh h thng cc tp tin c in: chng c t chc ring r, phc v cho
mt mc ch ca mt n v hay mt n v con trc thuc c th. Chng hn,
hy xt v d sau:
V d:
Ti mt cng ty ngi ta trang b my vi tnh cho tt c cc phng, ban nghip
v. B phn Vn phng s dng my tnh son tho cc vn bn bo co
bng MicroSoft Word do th trng yu cu v tnh hnh hot ng ca n v
trong c ch tiu v tng s cng nhn vin chc chia theo trnh chuyn
mn c o to. Phng K ton s dng my tnh tnh lng v in danh
sch lng ca tng b phn trong n v da trn danh sch cn b vin chc
cng h s lng v cc h s ph cp ca h do phng T chc cung cp.
Thng tin m phng K ton qun l v khai thc l: H v Tn, H s lng, H
s ph cp, Ph cp khc ca cc cng nhn vin chc (CNVC) xp theo tng
phng ban v s dng cng c vn phng l MicroSoft Excel. Phng T chc
qun l thng tin l lch ca CNVC chi tit hn gm H CNVC, Tn CNVC (
ring thnh mt ct "Tn" tin sp xp theo vn Alphabet), B danh, Gii tnh,
Ngy sinh, Ngy tuyn dng, Hon cng gia nh, Qu trnh c o to, H s
lng, H s ph cp, Ngy xp lng trn ... nhng thiu thng tin v Phc cp
khc ca CNVC. Phn mm c s dng qun l l FoxPro for Windows.
Trong khi , ti Tng cng ty ca h, cc phng ban nghip v cng c trang
b vi tnh. Phng T chc cn b ti Tng cng ty s dng phn mm MicroSoft
Access qun l CNVC gm cc cn b ch cht t trng ph phng, qun
c v ph qun c x nghip tr ln ca cc cng ty con trc thuc. Thng tin
qun l ti y cng ging nh thng tin qun l ti phng t chc ca cng ty
con.
Cac ng dung nh vay tao ra ba van e sau:
- S d tha d lieu rat ln qua viec trung lap cac tap tin trong
cac ng dung khac nhau.
- D lieu thieu nhat quan.
- Thiu s chia s thng tin ca cc h thng
Tuy nhin cch t chc tp tin c in cng c mt s u im:
- t tn thi gian, trin khai ng dng nhanh.
- Khng i hi kh nng u t ln v vt cht v nhn s.
- Thng tin c khai thc nhanh chng, kp thi.

II. C S D LIU.
C S D Liu l mt phng php t chc d liu mi nhm khc phc nhng
khuyt im ca cch t chc d liu theo h thng tp tin c in.
II.1 Khi nim: C s d liu (CSDL) l mt h thng cc thng tin c cu trc
c lu tr trn cc thit b nh bng t, a t, c th tho mn yu cu
khai thc ng thi ca nhiu ngi s dng.
CSDL gn lin vi i s, logic ton v mt s lnh vc khc.
II.2 u im ca c s d liu
-Gim s trng lp thng tin xung mc thp nht v do bo m
c tnh nht qun v ton vn d liu.
-m bo d liu c th truy xut theo nhiu cch khc nhau.
-Kh nng chia s thng tin cho nhiu ngi s dng.

II.3 Nhng vn m CSDL cn phi gii quyt
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 4
-Tnh ch quyn ca d liu: Tnh ch quyn ca d liu c th hin phng
din an ton d liu, kh nng biu din cc mi lin h ng ngha ca d liu v
tnh chnh xc ca d liu. iu ny c ngha l ngi khai thc CSDL phi c
nhim v cp nht cc thng tin mi nht ca CSDL.

-Tnh bo mt v quyn khai thc thng tin ca ngi s dng: Do c nhiu
ngi c php khai thc d liu mt cch ng thi, nn cn thit phi c mt
c ch bo mt v phn quyn hn khai thc CSDL. Cc h iu hnh nhiu
ngi s dng hay h iu hnh mng cc b u c cung cp c ch ny.

-Tranh chp d liu: Nhiu ngi c php truy nhp cng mt lc vo ti
nguyn d liu ca CSDL vi nhng mc ch khc nhau, do cn thit phi c
mt c ch u tin khi truy nhp d liu. C ch u tin c th c thc hin
bng vic cp quyn u tin cho tng ngi khai thc.

-m bo an ton d liu khi c s c: Vic qun l d liu tp trung c th lm
tng kh nng mt mt hoc sai lch thng tin khi c s c nh mt in t
xut, hay mt phn a lu tr CSDL b h, mt s h iu hnh mng c cung
cp dch v sao lu nh a cng, t ng kim tra v khc phc li khi c s c.
Tuy nhin, bn cnh dch v ca h iu hnh, m bo CSDL lun n nh,
mt CSDL nht thit phi c mt c ch khi phc d liu khi c cc s c bt
ng xy ra.

III. H QUN TR CSDL(Database Management System - DBMS)

gii quyt tt nhng vn m cch t chc CSDL t ra nh ni trn,
cn thit phi c nhng phn mm chuyn dng khai thc chng. Nhng
phn mm ny c gi l cc h qun tr CSDL. Cc h qun tr CSDL c nhim
v h tr cho cc nh phn tch thit k CSDL cng nh nhng ngi khai thc
CSDL. Hin nay trn th trng phn mm c nhng h qun tr CSDL h tr
c nhiu tin ch nh: MS Access, MySQL, Oracle, PostgreSQL, SQL Server,
DB2, Infomix
Mt DBMS phi c:
- Ngn ng giao tip gia ngi s dng (NSD) v CSDL
- Ngn ng m t:(Data definition language-DDL) cho php khai bo
cu trc ca CSDL, khai bo cc mi lin h ca d liu (Data
RelationShip) v cc quy tc (Rules, Constraint) qun l p t ln cc d
liu .
- Ngn ng thao tc d liu (Data Manipulation Language - DML) cho php
ngi s dng c th thm (Insert), xa (Delete), sa (Update) d liu
trong CSDL.
- Ngn ng truy vn d liu, hay ngn ng hi p c cu trc (Structured
Query Language - SQL) cho php nhng ngi khai thc CSDL (chuyn
nghip hoc khng chuyn) s dng truy vn cc thng tin cn thit
trong CSDL.
- Ngn ng qun l d liu (Data Control Language - DCL) cho php nhng
ngi qun tr h thng thay i cu trc ca cc bng d liu, khai bo
bo mt thng tin v cp quyn hn khai thc CSDL cho ngi s dng.

- T in d liu (Data Dictionary)
- C bin php bo mt tt khi c yu cu bo mt.
- C ch gii quyt vn tranh chp d liu
- H qun tr CSDL cng phi c c ch sao lu (Backup) v phc hi (Restore)
d liu khi c s c xy ra
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 5
- H qun tr CSDL phi cung cp mt giao din (Interface) tt, d s dng, d
hiu cho nhng ngi s dng khng chuyn.
- Bo m tnh c lp gia d liu v chng trnh

IV. I TNG S DNG CSDL
IV.1 Qun tr vin
C trch nhim qun l h CSDL
- Cp quyn truy cp CSDL
- iu phi v gim st vic s dng CSDL
IV.2 Thit k vin
- Chu trch nhim v
- La chn cu trc ph hp lu tr d liu
- Quyt nh nhng d liu no cn c lu tr
- Lin h vi ngi dng nm bt c nhng yu cu v a ra mt
thit k CSDL tha yu cu ny
- C th l 1 nhm cc DBA qun l cc CSDL sau khi vic thit k hon tt
IV.3 Ngi dng cui
- Ngi t s dng
- t khi truy cp CSDL, nhng cn nhng thng tin khc nhau trong
mi ln truy cp v dng nhng cu truy vn phc tp
- Ngi qun l
- Ngi s dng thng xuyn
- Thng xuyn truy vn v cp nht CSDL nh vo mt s cc chc
nng c xy dng sn
- Nhn vin
- Ngi s dng c bit
- Thng tho v HQT CSDL, t xy dng nhng truy vn phc tp
cho cng vic
- K s, nh khoa hc, ngi phn tch,













V. CC
MC NHN THC
Mt CSDL c phn thnh cc mc khc nhau, sau y l 3 mc nhn thc v
CSDL: Mc ngoi, mc quan nim, mc trong

Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 6


Mc trong: M t cu trc lu tr vt l CSDL
Mc quan nim:
M t cu trc ca ton th CSDL
S biu din tru tng ca CSDL vt l
Mc ngoi:
- Cn gi l mc khung nhn (view)
- M t mt phn ca CSDL m 1 nhm ngi dng quan tm n v che
du phn cn li ca CSDL i vi nhm ngi dng
u im ca kin trc 3 mc nhn thc:
(1) Trnh d tha d liu
(2) Tnh c lp gia d liu v chng trnh ng dng
(3) Tra cu, tm kim, cp nht d liu nhanh chng.
(4) m bo tnh an ton v ton vn d liu.


VI. CC M HNH D LIU
M hnh d liu l s biu din d liu mc quan nim (s tru tng ha).
Mi loi m hnh c trng cho mt phng php tip cn d liu ca ngi phn
tch thit k.

1 .M hnh phn cp :(Hierarchical Data Model)
D liu c biu din bng cu trc cy.
Mt CSDL phn cp l tp cc cy(rng cy).
Trong mi mt cy ch cha mt v ch mt xut hin ca bn ghi gc,
gi l bn ghi nh, v di n l tp cc xut hin ca cc bn ghi ph
thuc. Cc bn ghi ph thuc c th c mt s cc bn ghi ph thuc mc
thp hn.
V d:
Bn ghi gc(loi cp): m cp, tn cp, s lng, m nc sn xut, tn nc
sn xut
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 7
Bn ghi ph: s hiu tuyn cp, di v ngy hon thnh vic xy dng tuyn
cp .

2.M hnh d liu mng:(network data model)
Trong m hnh CSDL mng, d liu c biu din trong cc bn ghi lin kt vi
nhau bng cc mi ni lin kt (link) to thnh mt th c hng.


3.M hnh thc th kt hp(Entity Relationship model)
M hnh quan h s c trnh by chi tit trong cc chng tip theo.

4.M hnh d liu quan h(relational data model)
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 8
M hnh quan h s c trnh by chi tit trong cc chng tip theo.

5.M hnh d liu hng i tng(object oriented data model)
M hnh d liu hng i tng (Object Oriented Data Model): y l loi m
hnh tin tin nht hin nay da trn cch tip cn hng i tng, n s dng
cc khi nim nh:
Lp (class), s k tha (inheritance), k tha bi (tc l kt tha t nhiu lp c
s multi-inheritance).
c trng c bn ca cch tip cn ny l tnh ng gi (encapsulation), tnh a
hnh (polymorphism) v tnh ti s dng (Reusability).



Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 9
CHNG 2
M HNH THC TH KT HP

I KHI NIM
Hin nay m hnh d liu quan h thng c dng trong cc h qun tr
CSDL, y l m hnh d liu mc vt l. thnh lp c m hnh ny,
thng l phi dng m hnh d liu mc quan nim c t, mt trong
nhng m hnh dng l m hnh thc th quan h (sau mi dng mt s
quy tc chuyn t m hnh ny v m hnh d liu quan h ) .
II THC TH , MI QUAN H , THUC TNH
1 Thc th(Entity)
Thc th l nhng i tng d liu c bn cha ni dung cc thng tin cn
thu thp. Thc th c th biu th cho ngi, ni chn, s vt hoc cc bin c
c thng tin ng ch . Mt xut hin c th ca mt thc th c gi l th
hin thc th(Entity Instance).
Mt nhm cc thc th cng chung mt s tnh cht, mt s c trng c
bn.. to ra mt tp thc th (Entity Set). Tp tt c nhn vin trong mt c
quan, tp cc bin trong mt chng trnh, tp cc khi nim v CSDL.. l nhng
tp cc thc th. Khi nim tp thc th l khi nim mc lc .
V d nhn vin, phng ban...l cc tp thc th. Tn thc th c vit bn
trong hnh ch nht.Tng t trong ng dng qun l im ca sinh vin, ta c
cc tp thc th nh Monhoc, Lop, Khoa,
2 Mi quan h(Relationship)
Mi quan h din t s lin h gia mt hay nhiu thc th trong th gii
thc vi nhau. Mt xut hin c th ca mt mi quan h c gi l th hin
quan h (Relationship Instance). Cc mi quan h c m t theo bc quan h,
tnh kt ni v th hin ca mi quan h. Mi quan h c ch ra bng tnh ni
kt gia cc th hin thc th: mt-mt, mt-nhiu v nhiu-nhiu. Mi quan h
c vit bn trong hnh thoi.

Quan h mt - mt (One to One): Mt thc th trong A c kt hp vi ti
a mt thc th trong B, v mt thc th trong B c kt hp vi ti a mt
thc th trong A.
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 10

Quan h mt-nhiu (One to Many). Mt thc th trong A c kt hp vi
nhiu thc th trong B, v mt thc th trong B c th c kt hp vi ti a
vi mt thc th trong A.

Quan h nhiu-nhiu (Many to Many). Nhiu thc th trong A c kt hp
vi nhiu thc th trong B, v nhiu thc th trong B c kt hp vi nhiu
thc th trong A.

Trong lc quan h, cu trc d liu quan h nhiu - nhiu s c thc
th ho di dng mt - nhiu.
3 Thuc tnh(Attribute)
Thuc tnh l cc tnh cht c trng ca thc th, ch ra cc chi tit cn m
t v thc th. Mt xut hin c th ca mt thuc tnh trong mt thc th hoc
mt mi quan h c gi l gi tr thuc tnh (Attribute Value). Thuc tnh ca
thc th nhn vin l m nhn vin, h v tn, a ch.... K hiu cho thuc tnh
l mt hnh elip, bn trong l tn thuc tnh, c ni vi thc th.
V d:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 11

III BC CA MI QUAN H(DEGREE)
Bc ca mi quan h l s lng cc thc th tham gia trong mi quan h.
Cc mi quan h hai v ba ngi th bc l 2 v 3. Tng qut mi quan h n-ngi
th bc l n. Mt thc th c th tham gia vo nhiu mi quan h v mi mi
quan h c th c bc bt k. Ngoi ra, gia hai thc th c th c nhiu mi
quan h hai ngi v tng t vi n thc th bt k.
IV BN S CA MI QUAN H
Bn s ca mi quan h th hin s lng ca thc th tham gia vo mi
quan h. Mi bn s l mt cp s (min,max), ch s lng ti thiu v s lng
ti a ca thc th khi tham gia vo mi quan h .
V d:

C ngha l: mi sinh vin thuc mt v ch mt lp nn bn s bn nhnh
Sinhvin l (1,1), mi lp c 1 n nhiu sinh vin nn bn s bn nhnh Lop l
(1,n) . Trong mt s trng hp c bit, mi quan h c th c cc thuc tnh
i km v do chng thng c t tn vi ngha y hn.









V S THC TH KT HP

Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 12

Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 13
CHNG 3
M HNH QUAN H

Edgar F.Codd l ngi u tin nghin cu m hnh c s d liu quan h. Codd c nhiu
ng gp cho s pht trin i s quan h, cc php ton quan h v s chun ha quan h.
Trong chng ny s trnh by nhng khi nim c bn nht v l thuyt c s d liu quan h
do E.F Codd xut, l cc khi nim v quan h, v kha ca lc quan h. Nhng khi
nim ny c vai tr quan trng trong vic thit k v ci t cc h c s d liu quan h v cc
h qun tr c s d liu. Ni dung ca chng bao gm:
Thuc tnh.
Lc quan h.
Quan h.
Siu kha.
Kha ca lc quan h
Mt s tnh cht ca kho trong lc quan h
Cc thut ton xc nh kho ca lc quan h
Cc php ton trn c s d liu quan h
I.CC KHI NIM C BN.
1.Thuc tnh : Mi d liu, mi i tng c kho st u c nhng c tnh ring. Cc
c tnh ring ny c gi l cc thuc tnh. Cac thuoc tnh c phan biet qua ten
goi va phai thuoc vao mot kieu d lieu nhat nh (so, chuoi, ngay thang,
logic, hnh anh,). Kieu d lieu ay la kieu n. Trong cung mot oi tng
khong c co hai thuoc tnh cung ten. Nu khng cn lu n ng ngha th tn
ca cc thuc tnh thng c k hiu bng cc ch ci A,B,C,D...Nhng ch ci cui
X,Y,W,Z dng k hiu tp hp nhiu thuc tnh.
- Ngoi ra, cc k hiu A1, A2,...dng ch thuc tnh trong trng hp cn nhn mnh
s lng cc thuc tnh.
- Trong cc ng dng thc t , ngi phn tch thit k nn t tn thuc tnh mt cch
gi nh, khng nn t tn thuc tnh qu di nht l khng t trng tn thuc tnh ca
hai i tng khc nhau.
- V d : c hai i tng l SINHVIEN v GIANGVIEN u c thuc tnh TEN
Nn t tn r rng l TENSV v TENGV
- Tn cc thuc tnh thng c vit bng ch hoa.

2. Min gi tr: mi mt thuc tnh c mt min gi tr l tp cc gi tr ca thuc
tnh.MGT u c th cha thm mt gi tr c bit gi l gi tr rng (NULL)
K hiu : MGT(A) l min gi tr ca thuc tnh A

3. Lc quan h : mt lc quan h Q c nh ngha trn mt tp cc thuc tnh
{A
1
,A
2
,A
3
,...A
n
} km theo mt tn t c viet la Q(A
1
,A
2
,...,A
n
). Tap cac thuoc tnh
cua Q c ky hieu la Q
+
, Q
+
={A
1
,A
2
,A
3
,...A
n
}

4 Iaa t kh| thaah lap mct lacc 1c, aac| th|et ke laca aa chc ac mct ah|a ahat 1|ah, ah|a 1c c| la taa ta caa lacc 1c
aaa he 1c aa vac taa ta aac| ta xac 1|ah 1acc tap thacc t|ah khca caa lacc 1c aaa he (kha| a|em khca se 1acc tr|ah |a c
phaa saal
Kh| phat ||ea taa ta chc mct lacc 1c aaa he, aac| th|et ke caa pha| mc ta 1a 1a ah|a 1e aac| khac traah h|ea aham
0haa haa taa ta caa lacc 1c aaa he lamc| s|ah v|ea cc mct ma s|ah v|ea (HA9Vl Ja ahat, mc| ma s|ah v|ea xac 1|ah tat ca
cac thacc t|ah caa s|ah v|ea 1c aha hc tea (h0I!Nl, aa (NUl ,aa s|ah (N0AY9!Nhl, lcp thec hcc (HA!0ll, hcc |ca
h0080N0l, tiah ca tra (I!Nhl
K| h|a ||Q||

5 Qaaa h Hct aaa he caa mct lacc 1c aaa he Q, k h|ea IQ, la mct t|ah traa, mct the h|ea caa lacc 1c aaa he Q c mct
thc| 1|em aac 1c
Kh| 1c aaa he IQ chaa cac |c cc |a tr| ca the thca maa taa ta caa lacc 1c aaa he Q

5 8
Ht | ca aaa h Q(A
1
,A
2
,A

,A
a
l l mt t hp | tr (a
1
,a
2
,a

,a
a
l thc ha| |a k|a
- V| m| thac t|ah A
|
thac Q

,a
|
thac H0I(A
|
l
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 14
- Ia t ||Q(a
1
,a
2
,a

,a
a
l|| c tha

7 !acc 1c cc sc Ja l|ea Hct lacc 1c cc sc Ja l|ea 0 la 1 tap hcp cac lacc 1c aaa he

? 9|ea khca va khca caa mct aaa he
0hc mct lacc 1c aaa he Q(A
1
, A
2
,,A
a
l
al 9|ea khca Iap thacc t|ah 9, 9 _ Q

, c| la 9|ea khca (9aper Kel caa lacc 1c aaa he Q aea 9 cc the Jaa lam
cc sc 1e phaa ||et 2 |c khac ahaa ta
1, 2 e IQ, 19 = 29 th| 1 = 2
Qa| 1|ah
- Hct lacc 1c aaa he Q laca laca cc |t ahat 1 s|ea khca va cc the cc ah|ea s|ea khca
- Ihacc t|ah tham |a vac s|ea khca khca 1acc chaa |a tr| rca
V| Ja KhA0hhAN0(H9Kh, I!NKh, !A0h!, 90Il
cc cac s|ea khca 91={H9Kh), 92={H9Kh,I!NKh), 9 = {H9Kh,!A0h!), 94 = {H9Kh,I!NKh,!A0h!)
|l Khca chi 1|ah (0aaJ|Jate Kel ha khca ac|
!a mct s|ea khca tc| t|ea khca chaa |at k mct s|ea khca aac
V| Ja 91={H9Kh)

Nea cc ah|ea khca chi 1|ah, kh| ca| 1at aea chca mct khca chi 1|ah lam khca ch|ah (lr|mar kel chc v|ec tra xaat 1ea cac |c 0ac
khca chi 1|ah cca la| 1acc xem la cac khca pha (9eccaJar kel ha khca taca 1aca
!! lh IhU0 hH
lha thacc ham (faact|caal JepeaJeacl la mct cca ca Jaa 1e ||ea J|ea mct cach h|ah thac cac raa |acc tcaa vea (vaa tat raa
|accl lhaca phap ||ea J|ea aa cc rat ah|ea aa 1|em, va 1a la mct cca ca cac k aaa trca, aa chat vc| l thaet th|et ke cc
sc Ja l|ea lha thacc ham 1acc aa Jaa trca v|ec |a| aet cac |a| tcaa t|m khca, t|m pha tc| th|ea va chaaa hca cc sc Ja l|ea

!!1 |ah ah|a
Q(A1,A2,,Aal la lacc 1c aaa he
X, Y la ha| tap cca caa Q

={A1,A2,,Aa)
IQ la aaa he trea Q
t1,t2 la ha| |c |at k caa IQ
X Y (t1X = t2X t1Y = t2Yl
(Ia ac| X xac 1|ah Y ha Y pha thacc ham vac Xl
lh thac hm X a v| m| aaa h
XY l ph thac hm h|a ah|a aa X _Y
t !={XY ah aha tra Q)
V| Q

ha ha aa ta c| tp lIh ! ca ha ha , cc pha t ca ! c| th c ah s f
1
,f
2
,
0ha ta a| c ch ca mc t cc lIh khca h|a ah|a trca tp ! (cc lIh h|a ah|a c h|a am l ca c| trca ! l

!!2 he laat Jaa Armstrca (Armstrca |afereace ralel
he laat Jaa la mct phat ||ea chc ||et aea mct aaa he IQ thca maa mct va | pha thacc ham th| ac pha| thca maa pha thacc ham
khac
Vc| X,Y,3,h la tap cca caa Q

IQ la aaa he |at k caa Q Ia cc 5 laat Jaa saa


1 !aat phaa hc| (laat phaa xal
2 !aat them vac (laat |a tal



!aat |ac caa



4 !aat |ac caa |a


5 !aat phaa ra

5 !aat hc| (laat hcpl
Nu
Th
Nu
Th
Nu
Th
Nu
Th
Nu
Th
Y X X Y _ ,
YZ XW
W Z Y X

_ ,
Z X
Z Y Y X

,
Z XW
Z YW Y X

,
Z X
Y Z Y X

_ ,
YZ X
Z X Y X

,
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 15



he aa he laat Jaa Armstrca la 1aa, ah|a la aea ! la tap cac pha thacc ham 1aa trea aaa he IQ va X Y la mct pha thacc
ham 1acc sa J|ea ta ! ahc he laat Jaa Armstrca th| X Y 1aa trea aaa he IQ Va X Y la pha thacc ham 1acc sa J|ea
lc|c ta !

II.3 Bao ng ca tp ph thuc hm F

- Bao ng (closure) ca tp ph thuc hm F (k hiu l F
+
) l tp hp tt c cc ph
thuc hm c th suy ra t F da vo cc tin Armstrong. R rng F _ F
+

- Da trn bao ng F
+
ca F ta c th xy dng mt tp thuc tnh Y ln nht da vo
mt tp thuc tnh X_Q
+
: XY
- Trn l thuyt ta hon ton c th xy dng mt th tc tnh bao ng F
+
ca F. Mc
d Q
+
v tp PTH u hu hn nn bao ng F
+
cng hu hn. Nhng trn thc t, bi
ton xc nh F
+
t tp F l khng kh thi v trong mt ng dng thc t tng s thuc
tnh v ph thuc hm c th rt ln v dn n bng n v t hp.
- Thay vo chng ta s xt mt bi ton khc kim tra mt PTH f c thuc bao ng
F
+
hay khng , bi ton ny c gi l bi ton thnh vin.

II.4 Bao ng ca mt tp thuc tnh
II.4.1 nh ngha:
Cho lc quan h Q, gi s F l tp cc ph thuc hm trong Q, XcQ
+
. Bao ng ca tp
thuc tnh X i vi F k hiu l X
+
(hoc
+
F
X ) l tp tt c cc thuc tnh A eQ
+
c suy ra t
X da vo cc ph thuc hm trong F v h tin Armstrong, ngha l:
X
+
= {A : AeQ
+
v X A eF
+
}

Cho lc quan h Q v tp PTH F ={f
1
,f
2
....}
Gi s X l tp hp con ca Q
+
, bao ng ca X da trn F, K hiu:
+
F
X l tp hp cc thuc
tnh ph thuc vo X da trn F:

+
F
X = {Y : YeQ
+
v X Y e F
+
}
Ta thy:
(1) X_
+
F
X
(2) f: XY eF
+
Y_
+
F
X
Da vo nhn xt (2) chng ta c th a bi ton thnh vin v bi ton n gin hn, l
bi ton tnh bao ng ca mt tp thuc tnh X.

!!42 Ihat tca t|m |ac |a ca tp thac t|ah
I|ah l|ea t|ep tap cac tap thacc t|ah X0,X1,X2, thec phaca phap saa

8acc 1 X
0
= X
8acc 2 laa lact xet cac pha thacc ham caa !
Nea Y3 cc Y _X
|
th| X
(|1l
= X
|
3
!ca| pha thacc ham Y 3 khc| !
8acc Nea c |acc 2 khca t|ah 1acc X
(|1l
th| X
|
ch|ah la |ac 1ca caa X
Nacc la| lap la| |acc 2

V| Ja
0hc lacc 1c aaa he Q(A80!0hl va tap pha thacc ham !
! = {f1 8 A
f2 A 0!
f h
f4 0h 0
f5 A0 )
I|m |ac 1ca caa cac tap X = {A0) Jaa trea !
0|a|
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 16
8acc 1 X
0
= A0
8acc 2 c f
1
, f
2
, f

, f
4
khca thca f
5
thca v| A0 _X
0

X
1
= A0 = A0
!ap la| |acc 2 f
1
khca thca, f
2
thca v| A_X
1

X
2
= A0 0! = A0!
f

thca v| _ X
2

X

= A0! h = A0!h
f
4
khca thca, f
5
khca xet v| 1a thca
!ap la| |acc 2 f
2
,f

khca xet v| 1a thca, f


1
,f
4
khca thca,f
5
khca xet v| 1a thcaIrca |acc aa X

khca tha 1c| =>


(Xl

=X

={A0!h) la |ac 1ca caa X



!!5 Kh|a ca mt lc aaa h
!!51 |ah Nh|a
Q(A1,A2,,Aalla lacc 1c aaa he
Q

la tap thacc t|ah caa Q


! la tap pha thacc ham trea Q
K la tap cca caa Q


Nc| raa K la mct khca caa Q aea
1 (Kl = Q va
2 Khca tca ta| K'
c
K sac chc (Kl= Q

Iap thacc t|ah 9 1acc c| la s|ea khca aea 9 _ K
Ihacc t|ah A 1acc c| la thacc t|ah khca aea AeK vc| K la khca |at k caa Q Nacc la| A 1acc c| la thacc t|ah khca khca
Hct lacc 1c aaa he cc the cc ah|ea khca va tap thacc t|ah khca khca caa cc the |aa rca (Kh| th|et ke mct he thca thca t|a,
th| v|ec lap lacc 1c cc sc Ja l|ea 1at 1ea mct t|ea chaaa aac 1c la mct v|ec lam aaa trca V|ec xac 1|ah chaaa chc mct lacc 1c
aaa he cc l|ea aaa mat th|et vc| thaat tcaa t|m khcal



!!52 Ihaat tcaa t|m tat ca khca
Ihaat tcaa cc |aa
8acc 1 Xac 1|ah tat ca cac tap cca khac rca caa Q

Ket aa t|m 1acc |a sa la cac tap thacc t|ah X


1
, X
2
, ,X
2
a
1

8acc 2 I|m |ac 1ca caa cac X
|

8acc 9|ea khca la cac X
|
cc |ac 1ca 1aa |aa Q

0|a sa ta 1a cc cac s|ea khca la 9 ={9


1
,9
2
,,9
m
)
8acc 4 Xa Jaa tap chaa tat ca cac khca caa Q ta tap 9 |aa cach xet mc| 9
|
, 9
j
cca caa 9 (| jl, aea 9
|
c 9
j
th| ta lca| 9
j

(|,j=1al, ket aa cca la| caa 9 ch|ah la tap tat ca cac khca caa t|m

V d: Gi s c lc quan h Q(ABCDEG) v tp PTH
F={ f1:AEC
f2:CGA
f3:BDG
f4:GAE}
Xc nh tt c cc kha ca Q

Tuy nhin thut ton trn s khng ph hp trong trng hp lc Q c nhiu thuc tnh. Khi
n kh ln, vic xc nh (2
n
-1) tp hp con khc rng ca Q
+
v xc nh bao ng ca cc tp
hp ny i hi thi gian thc hin cng nh b nh qu ln. Chng ta s ci tin thut ton
ny da trn vic phn loi tp thuc tnh Q
+


Ihaat tcaa ca| t|ea
Iracc kh| 1| vac thaat tcaa ca| t|ea, ta caa aaa tam mct sc kha| a|em saa
- Iap thacc t|ah aaca (INl chaa tat ca cac thacc t|ah cc xaat h|ea c ve tra| va khca xaat h|ea c ve pha| caa cac pha thacc
ham hcc cac thacc t|ah khca xaat h|ea c ca ve tra| laa ve pha| caa cac pha thacc ham
- Iap thacc t|ah 1|ch (Il chaa tat ca cac thacc t|ah cc xaat h|ea c ve pha| va khca xaat h|ea c ve tra| caa cac pha thacc
ham
- Iap thacc t|ah traa |aa (I0l chaa tat ca cac thacc t|ah xaat h|ea c ca ve tra| laa ve pha| caa cac pha thacc ham

he aa Nea K la khca caa Q th| IN c K va I K =
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 17
aa vac he aa trea ta cc thaat tcaa t|m tat ca khca saa
a l|ea vac !acc 1c aaa he Q va tap pha thacc ham !
a l|ea ra Iat ca cac khca caa aaa he
Ihaat tcaa t|m tat ca khca caa mct lacc 1c aaa he
8acc 1 Iac tap thacc t|ah aaca IN, tap thacc t|ah traa |aa I0
8acc 2 Na I0 = C th| lacc 1c aaa he chi cc mct khca K
K = IN
ket thac
Nacc la|, Qaa |acc
8acc I|m tat ca cac tap cca X| caa tap traa |aa I0
8acc 4I|m cac s|ea khca 9| |aa cach

X|
Na (IN

X
|
l

= Q

thea
9
|
= IN

X
|

8acc 5 I|m khca |aa cach lca| |c cac s|ea khca khca tc| th|ea

9
|
,9
j

e
9
!f 9
|
c
9
j
thea !ca| 9
j
ra khc| tap s|ea khca 9
9 cca la| ch|ah la tap khca caa t|m

!!5 c th| caa pha thacc ham
Ip lIh ! c| th c ||a J|a |a mt th c| ha 0c at trca th c ch|a lm 2 lc|
` Nt thac t|ah ||a J|a ch X v ta thac t|ah
` Nt lIh ||a J|a |a h|ah tr|a c| s th t ca lIh
0c caa trca th ca ch|a lm 2 lc|
` 0aa a lIh(xat pht t thac t|ah v tr| ca lIhl
` 0aa r| lIh(xat pht t thac t|ah v ph| ca lIhl
V| Ja Ve 1c th| caa tap lIh !
F={ f1:AB
f2:BC
f3:CD
f4:DB}








Nu th biu din tp PTH F khng cha chu trnh
th Q ch c duy nht 1 kha, iu ngc li l khng
ng nh v d trn.
III DNG CHUN CA LC QUAN H
III.1 Mt s khai nim lien quan n cac dng chun.
- Thuc tnh n-thuc tnh kp: mt thuc tnh A ca quan h Q gi l thuc tnh n
nu gi tr ca n khng th tch c na(hay cn gi l gi tr nguyn t), ngc
li c gi l thuc tnh kp.
- Thuc tnh kha- thuc tnh khng kha: thuc tnh A gi l thuc tnh kho nu A c
tham gia vo bt k mt kho no ca lc quan h, ngc li A gi l thuc tnh
khng kha.
- Thuc tnh ph thuc y - ph thuc hm y : thuc tnh A gi l thuc tnh
ph thuc y vo tp thuc tnh X nu ph thuc hm X A l mt ph thuc
hm y ngha l khng tn ti X' c X sao cho X' A
e
F
+
.
III.2 Dng chun 1(1NF-First Normal Form)
f1
f2
f3
f4
A
x
x B
x C
D
x
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 18
Lc quan h Q c gi l t dng chun 1 nu v ch nu ton b cc thuc tnh ca
Q u mang gi tr n.

V d: Cho quan h sau

Quan h trn khng t dng chun 1 v c b th nht thuc tnh MONHOC gm cc gi tr
K Thut Lp Trnh, C S D Liu, Cu Trc D Liu. Ta c th a quan h trn v dng
chun 1 nh sau:

III.3 Dng chun 2(2NF-Second Normal Form)
Mt lc quan h Q c gi l dng chun 2 nu:
- Q t dng chun 1.
- Mi thuc tnh khng kha ca Q ph thuc y vo cc kha ca Q.

Nhn xt:
- Nu lc quan h Q ch c mt kha K v Card(K)=1 th Q t dng chun 2.
- Nu Q t dng chun 1 v tp thuc tnh khng kha ca Q bng rng th Q t
dng chun 2.
- Mt lc quan h Q t dng chun 2 vn c th cha ng s trng lp thng
tin.
V d: Cho lc quan h Q(A,B,C,D) v tp ph thuc hm
F={ABC; BD; BCA}. Hi Q c t dng chun 2 khng?
Ta c : TN={B} TG={A,C}
(B)
+
=BD
(BA)
+
=ABCD = Q
+
AB l kha ca Q
(BC)
+
=BCDA = Q
+
BC l kha ca Q
Nh vy, Q c 2 kho l AB, BC v D l thuc tnh khng kha.
Xt D c ph thuc y vo cc kha AB, BC khng. Ngha l xt AB D, BCD c l
ph thuc hm y khng?
Ta thy, trong tp F c ph thuc hm B D nn AB D l ph thuc hm khng y .
Vy Q khng t dng chun 2.
Thut ton kim tra dng chun 2
Bc 1: Tm tt c cc kha ca Q
Bc 2: Vi mi kha K
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 19
Tm bao ng ca tt c cc tp con tht s ca K, nu c bao ng no cha thuc tnh
khng kha th Q khng t dng chun 2. Ngc li, Q t dng chun 2.
III.4 Dng chun 3(3NF- Third Normal Form)
Thuc tnh ph thuc bc cu
Cho lc quan h Q v X,Y l hai tp con ca Q
+
, A l mt thuc tnh.
Thuc tnh A ph thuc bc cu vo X nu tha ba iu kin sau y:
- X Y,Y A
- Y X
- A eX Y
Khi X A gi l ph thuc hm bc cu.
nh ngha
Mt lc quan h Q c gi l t dng chun 3 nu:
- Q t dng chun 2.
- Mi thuc tnh khng kha ca Q u khng ph thuc bt cu vo cc kha ca Q

Nhn xt:
- Nu lc quan h Q khng c thuc tnh khng kha th Q t dng chun 3.
- Dng chun 3 l tiu chun ti thiu trong vic thit k CSDL.

nh l
Cho lc quan h Q v tp ph thuc hm F c v phi mt thuc tnh. Q t dng chun
3 nu v ch nu mi ph thuc hm XAF vi AX
- Hoc X l siu kha.
- Hoc A l thuc tnh kha

Thut ton kim tra dng chun 3
Bc 1: Tm tt c cc kha ca Q
Bc 2: T F to tp ph thuc hm tng ng F co v phi mt thuc tnh.
Bc 3: Nu mi ph thuc hm X A
e
F vi AX nu c X l siu kha hoc A l thuc
tnh kha th Q t dng chun 3, ngc li Q khng t dng chun 3.

V d: Cho lc quan h Q(A,B,C,D) v tp ph thuc hm
F={ABC; DB; CABD}.
Hi Q c t dng chun 3 khng?
Gii:
Ta co : TN={} TG={A,B,C,D}
(A)
+
=A
(B)
+
=B
(C)
+
=CABD = Q
+
C l kha ca Q
(D)
+
=DB
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 20
(AB)
+
=ABCD = Q
+
AB l kha ca Q
(AD)
+
=ADBC = Q
+
AB l kha ca Q
(BD)
+
=BD
Vy K={C;AB;AD}
Cc tuc tnh kha: A,B,C,D
F={ABC; DB; CA; CB; CD}.
Cc ph thuc hm trong tp F u c v phi l thuc tnh kha.
Vy Q t dng chun 3.
III.5 Dng chun BC(Boyce-Codd Normal Form)
Mt lc quan h Q t dng chun BC nu mi ph thuc hm XAF vi AX u c X
l siu kha.
Thut ton kim tra dng chun BC
Bc 1: T F to tp ph thuc hm tng ng F c v phi mt thuc tnh.
Bc 2: Nu mi ph thuc hm X A
e
F vi AX nu c X l siu kha th Q t dng
chun BC, ngc li Q khng t dng chun BC.

V d: Cho lc quan h Q(A,B,C,D,E,I) v tp ph thuc hm
F={ACDEBI;CEAD}.
Hi Q c t dng cun BC khng?
Gii:
Bc 1: F={ ACDE; ACDB; ACDI; CEA; CED }.
Bc 2: Xt cc ph thuc hm XA
e
F vi AX th X c l siu kha ca Q hay khng?
Xt ACDE: ta thy EACD v ACD l siu kha nn ACDE tha.
Xt ACDB: ta thy B ACD v ACD l siu kha nn ACDB tha.
Xt ACDI: ta thy I ACD v ACD l siu kha nn ACDI tha.
Xt CEA : ta thy A CE v CE l siu kha nn CEA tha.
XtCED : ta thy D CE v CE l siu kha nn CED tha.
Vy Q t dng chun BC.
III.6 Thut ton kim tra dng chun ca mt lc quan h.
xc nh dng chun cao nht ca 1 lc quan h, chng ta xem hnh minh ha mi
quan h gia cc dng chun.


Nh vy, nu mt lc quan h t dng chun 3 th ng nhin t dng chun 2 v
dng chun 1, nhng cha chc t dng chun BC, t dng chun BC th lc cn phi
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 21
tha mn iu kin ca dng chun BC. Do , kim tra mt lc t dng chun my
hay lc t dng chun cao nht l dng chun my chng ta s kim tra t dng chun
cao n dng chun thp.

Thut ton kim tra dng chun ca mt lc quan h Q.
Bc 1:Kim tra dng chun BC. Nu ng th Q t dng chun BC, kt thc. Nu Q khng
t dng chun BC th qua bc 2.
Bc 2: Kim tra dng chun 3. Nu ng th Q t dng chun 3, kt thc. Nu Q khng
t dng chun 3 th qua bc 3.
Bc 3: Kim tra dng chun 2. Nu ng th Q t dng chun 2, kt thc. Nu Q khng
t dng chun 2 th qua bc 4.
Bc 4: Kt lun Q t dng chun 1.

Lu :
- Theo qui c nu lc quan h khng t dng chun 2 th t dng chun 1.
- Dng chun ca lc CSDL l dng chun thp nht ca cc lc quan h con.

V d: Cho lc quan h Q(ABCDEGH) v tp ph thuc hm
F={B A, DA CE, D H, GH C, AC D }
Xc nh dng chun cao nht ca Q.
Gii:
Bc 1: Kim tra dng chun BC
F={B A, DA C, DA E, D H, GH C, AC D }
Xt B A c (B)
+
=BA
Ph thuc hm B A c v tri khng l siu kha.
Vy Q khng t dng chun BC.
Bc 2:
Tm tt c cc kho
TN={B,G}
TG={A,C,D,H}
(BG)
+
= BGA
(BGA)
+
= BGA
(BGC)
+
= BGCADEH=Q
+
BGC l kha ca Q
(BGD)
+
= BGDACEH=Q
+
BGD l kha ca Q
(BGH)
+
= BGHACDE=Q
+
BGH l kha ca Q
Vy K={ BGC, BGD, BGH}
Cc thuc tnh kha: B, C, D, G, H
Xt B A c v tri khng l siu kha v v phi khng l thuc tnh kha.
Vy Q khng t dng chun 3.
Bc 3 :
Cc thuc tnh khng kha : A, E
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 22
Xt kha BGC:
(BG)
+
= BGA A nh vy thuc tnh khng kha A ph thuc khng y vo kho BGC
Vy Q khng t dng chun 2.
Kt lun: Q t dng chun cao nht l dng chun 1.




CHNG 4
RNG BUC TON VN

I NH NGHA
Trong CSDL c rt nhiu mi lin h gia cc quan h vi nhau. Trong mi quan h hay gia
cc quan h c nhng rng buc, nhng qui nh m tt c cc d liu u phi tha mn
nhng qui nh ny. V d, trong lc quan h KETQUA(MASV,MAMH,DIEM) s c mt qui
nh nh sau: Vi tt c cc b trong quan h KETQUA th gi tr ca thuc tnh DIEM trn mi
b ch c nhn gi tr l s nguyn trong khong t 0 n 10.
Rng buc ton vn l mt iu kin c nh ngha trn mt hay nhiu quan h khc
nhau, l iu kin bt bin m mi th hin ca quan h phi tha bt k thi im no. Rng
buc ton vn cn c gi l nhng qui tc qun l xut pht t nhng qui nh hay iu kin
trong thc t, trong m hnh d liu.
Rng buc ton vn c s dng v ci t trong CSDL nhm bo m:
- Tnh nht qun ca d liu.
- Tnh kt dnh ca d liu.
- CSDL lun biu din ng ng ngha thc t.
Ngi thit k CSDL phi pht hin cng y v cng chnh xc cc rng buc ton vn
v m t mt cch chnh xc trong h s thit k. Kim tra vi phm rng buc ton vn l mt
vn quan trng trong qu trnh phn tch v thit k CSDL.
II CC YU T CA RNG BUC TON VN
Mi rng buc ton vn c 3 yu t: iu kin, bi cnh v bng tm nh hng.
1 iu kin.
iu kin ca mt rng buc ton vn c th c biu din bng ngn ng t nhin, thut
gii, ngn ng i s tp hp, i s quan h, Ngoi ra rng buc ton vn cn c th c
biu din bng ph thuc hm(ph thuc hm s c trnh by trong chng 6)
V d 1: Vi quan h NHANVIEN chng ta c rng buc ton vn sau:
Mi nhn vin phi c m s nhn vin khc nhau, khng trng vi bt c nhn vin no
khc trong cng ty , iu kin ca rng buc ton vn ny c biu din bng ngn ng t
nhin.
Biu din bng ngn ng i s
n
1
,n
2
e NHANVIEN
Nu n
1
= n
2
th n
1
.MANV = n
2
.MANV
cui
2 Bi cnh.
Bi cnh ca rng buc ton vn l nhng quan h m rng buc c hiu lc hay ni mt
cch khc, l nhng quan h cn phi c kim tra khi tin hnh cp nht d liu. Bi cnh
ca mt rng buc ton vn c th l mt hoc nhiu quan h.
V d 2: Vi rng buc ton vn trn c bi cnh l quan h NHANVIEN.
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 23
3 Bng tm nh hng.
Bng tm nh hng cho bit ng vi thao tc cp nht d liu(thm, sa, xa) trn mt
quan h no th c cn kim tra rng buc ton vn khng.
Mt bng tm nh hng ca mt rng buc ton vn c dng sau:

ng vi mi thao tc trn quan h th i(1 i k) chng ta s dng mt trong ba k hiu
sau:
-: khng cn kim tra rng buc ton vn, c ngha l ng vi thao tc cp nht d liu
tng ng khng lm quan h ang xt vi phm rng buc ton vn.
+: cn phi kim tra rng buc ton vn, c ngha l ng vi thao tc cp nht d liu
tng ng trn quan h ang xt c kh nng gy ra vi phm rng buc ton vn.
-(*): theo qui c khng c php sa trn thuc tnh kha chnh, c ngha l ng vi thao
tc cp nht d liu tng ng trn quan h ang xt c kh nng gy ra vi phm rng buc
ton vn, nhng do y l thuc tnh kha nn khng c php sa, nh vy y l trng
hp khng vi phm do khng c php sa.
V d 3: Vi rng buc ton vn trn th bng tm nh hng nh sau

Bng tm nh hng tng hp: c xy dng trn c s bng tm nh hng ca tt c
cc rng buc ton vn c trong mt CSDL, dng kim tra rng buc ton vn khi c mt
thao tc cp nht d liu trn mt quan h no .

III PHN LOI RNG BUC TON VN
Phn loi rng buc ton vn gip ngi phn tch thit k CSDL d dng pht hin y
cc rng buc ton vn c trong mt CSDL. Cc rng buc ton vn c th c chia lm hai
loi chnh:
- Bi cnh trn mt quan h.
- Bi cnh trn nhiu quan h.
1 Rng buc ton vn c bi cnh trn mt quan h
1.1 Rng buc ton vn min gi tr
L loi rng buc c lin quan n min gi tr ca mt thuc tnh trong mt quan h.
Rng buc ny l loi rng buc thng hay gp.
V d 4: rng buc ton vn RB_DIEM nh sau:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 24
iu kin: Vi tt c cc b trong quan h KETQUA th gi tr ca thuc tnh DIEM trn mi
b ch c nhn gi tr l s nguyn trong khong t 0 n 10.
Bi cnh: KETQUA
Bng tm nh hng:

1.2 Rng buc ton vn lin thuc tnh
L loi rng buc ton vn c mi lin h gia cc thuc tnh trong mt lc quan h.
V d 5: c lc quan h NHANVIEN nh sau:
NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG, NGXEPLUONG, MANQL,
MAPHG)
Khi c mt rng buc ton vn sau:
iu kin:RB_NGXEPLUONG: vi mi nhn vin trong cng ty th ngy xp lng phi ln
hn ngy sinh
Bi cnh: NHANVIEN
Bng tm nh hng:

1.3 Rng buc ton vn lin b
L loi rng buc ton vn c mi lin h gia cc b trong mt lc quan h. dng rng
buc ton vn ny m chng ta thng gp chnh l rng buc v kha chnh.
V d 6: c lc quan h PHONGBAN(MAPHG,TENPHG, TRPHG,SONV) khi c mt rng
buc ton vn nh sau:
iu kin: RB_TENPB : vi mi phng ban th tn phng ban phi khc nhau
Bi cnh: PHONGBAN
Bng tm nh hng:

2 Rng buc ton vn c bi cnh trn nhiu quan h
2.1 Rng buc ton vn ph thuc tn ti(tham chiu,kha ngoi)
L loi rng buc ton vn m gi tr ca tt c cc b trn mt thuc tnh no ca quan
h ny ph thuc vo s tn ti gi tr trn mt thuc tnh ca quan h kia.
V d 7: c hai lc quan h
NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG, NGXEPLUONG, MANQL,
MAPHG)
PHONGBAN(MAPHG,TENPHG, TRPHG, NGNHANCHUC, SONV)
Khi c mt rng buc ton vn nh sau:
iu kin: RB_NV_PB : vi mi nhn vin trong cng ty phi thuc mt phng ban trong
cng ty
Bi cnh: NHANVIEN, PHONGBAN
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 25
Bng tm nh hng:

Lu : trng hp c bit rng buc ton vn loi ny nhng c bi cnh trn mt quan
h.
V d 8: c lc quan h NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG,
NGXEPLUONG, MANQL, MAPHG) khi c mt rng buc ton vn nh sau:
iu kin: RB_NV_QL : ngi qun l cc nhn vin trong cng ty(nu c) phi l nhn
vin trong cng ty
Bi cnh: NHANVIEN
Bng tm nh hng:

2.2 Rng buc ton vn lin thuc tnh-lin quan h.
L loi rng buc ton vn c mi lin h gia cc thuc tnh ca cc quan h.
V d 9: c hai lc quan h
NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG, NGXEPLUONG, MANQL,
MAPHG)
PHONGBAN(MAPHG,TENPHG, TRPHG, NGNHANCHUC, SONV)
Khi c mt rng buc ton vn nh sau:
iu kin: RB_NS_NNC : ngy nhn chc ca trng phng ca mi phng ban(nu
c)phi ln ngy sinh ca trng phng ca phng ban
Bi cnh: NHANVIEN, PHONGBAN
Bng tm nh hng:

2.3 Rng buc ton vn lin b-lin quan h.
L loi rng buc ton vn c mi lin h gia cc b ca cc quan h.
V d 9: c hai lc quan h
NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG, NGXEPLUONG, MANQL,
MAPHG)
PHONGBAN(MAPHG,TENPHG, TRPHG, NGNHANCHUC, SONV)
Khi c mt rng buc ton vn nh sau:
iu kin: RB_SLNV: mi phng ban phi c t nht l mt nhn vin
Bi cnh: NHANVIEN, PHONGBAN
Bng tm nh hng:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 26

2.4 Rng buc ton vn v thuc tnh tng hp
L loi rng buc ton vn m gi tr ca thuc tnh trong quan h ny c tnh ton t cc
thuc tnh hoc cc b ca quan h khc.
V d 10 : c hai lc quan h
NHANVIEN(MANV, HONV, TENNV, NGSINH, QQUAN, LUONG, NGXEPLUONG, MANQL,
MAPHG)
PHONGBAN(MAPHG,TENPHG, TRPHG, NGNHANCHUC, SONV)
Khi c mt rng buc ton vn nh sau:
iu kin: RB_TONG_NV: s lng nhn vin ca mi phng ban phi bng tng s nhn
vin thuc phng ban
Bi cnh: NHANVIEN, PHONGBAN
Bng tm nh hng:

Sau khi thit k xong tt c cc rng buc ton vn c trong CSDL, chng ta lp bng tm
nh hng tng hp. minh ha bng tm nh hng tng hp, chng ta chn ba rng buc
ton vn ca cc v d trn: RB_TENPB, RB_NV_PB, RB_SLNV
















Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 27
CHNG 5
I S QUAN H

I. C S D LIU QUAN H.
M Mo o h h n nh h C C s s d d l li ie e u u Q Qu ua an n h he e ( (g go o i i t ta a t t l la a M Mo o h h n nh h Q Qu ua an n h he e ) ) d do o E E. .F F C Co od dd d e e
x xu ua a t t n na a m m 1 19 97 71 1. . M Mo o h h n nh h n na a y y b ba ao o g go o m m: :
- - M Mo o t t h he e t th ho o n ng g c ca a c c k ky y h hi ie e u u e e m mo o t ta a d d l li ie e u u d d i i d da a n ng g d do o n ng g v va a c co o t t n nh h
q qu ua an n h he e , , b bo o , , t th hu uo o c c t t n nh h, , k kh ho o a a c ch h n nh h, , k kh ho oa a n ng go oa a i i, , . .. .. .
- - M Mo o t t t ta a p p h h p p c ca a c c p ph he e p p t to oa a n n t th ha ao o t ta a c c t tr re e n n d d l li ie e u u n nh h p ph he e p p t to oa a n n t ta a p p h h p p, ,
p ph he e p p t to oa a n n q qu ua an n h he e . .
- - R Ra a n ng g b bu uo o c c t to oa a n n v ve e n n q qu ua an n h he e . .
Trong chng ny, chng ta s kho st cc php ton trn d liu.
II. CC PHP TON TP HP.
1 Php hp.
Cho 2 lc quan h Q
1
v Q
2
c cng tp thuc tnh {A
1
,A
2
,..,A
n
}.
TQ
1
v TQ
2
ln lt l 2 quan h trn Q
1
v Q
2
.Php hp ca 2 lc quan h Q
1
v Q
2
s
to thnh mt quan h Q3 , Q3 c xc nh nh sau :
Q
3
+
= {A
1
,A
2
,..,A
n
}
TQ
3
={q / q
e
TQ
1
hay q
e
TQ
2
}
K hiu : Q
3
=Q
1

Q
2

TQ
3
=TQ
1

TQ
2

V d : Cho 2 lc quan h Q
1
v Q
2


Khi : Q
3
=Q
1

Q
2


2 Php giao.
Cho 2 lc quan h Q
1
v Q
2
c cng tp thuc tnh {A
1
,A
2
,..,A
n
}. TQ
1
v TQ
2
ln lt l
2 quan h trn Q
1
v Q
2
.
Php giao ca 2 lc quan h Q
1
v Q
2
s to thnh mt lc quan h Q
3
.Q
3
c
xc nh nh sau :
Q
3
+
= {A
1
,A
2
,..,A
n
}
TQ
3
={q / q
e
TQ
1
v q
e
TQ
2
}
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 28
K hiu : Q
3
=Q
1

Q
2
, TQ
3
=TQ
1

TQ
2

V d : Cho 2 lc quan h Q
1
v Q
2


Khi : Q3=Q1

Q2

3 Php tr.
Cho 2 lc quan h Q
1
v Q
2
c cng tp thuc tnh {A
1
,A
2
,..,A
n
}. TQ
1
v TQ
2
ln lt l
2 quan h trn Q
1
v Q
2
.
Php giao ca 2 lc quan h Q
1
v Q
2
s to thnh mt lc quan h Q
3
c xc
nh nh sau :
Q
3
+
= {A
1
,A
2
,..,A
n
}
TQ3={q / q
e
TQ
1
v q
e
TQ
2
}
K hiu : Q
3
=(Q
1
- Q
2
)
TQ
3
=TQ
1
- TQ
2

V d : Cho 2 lc quan h Q
1
v Q
2


Khi : Q
3
=Q
1
- Q
2


4 Php b.
Cho mt lc quan h : Q(A
1
,A
2
,...,A
n
) TQ l mt quan h nh ngha trn Q . Ta nh
ngha min gi tr hin hnh ca mt thuc tnh Ai nh sau :
MGT
hh
(A
i
) = {a
i
e
MGT(A
i
)/ q
e
TQ , gi tr A
i
ca q l a
i
}
_
MGT(A
i
)
MGT
hh
(TQ) = { (a
1
, a
2
, ..., a
n
)/ a
i

_
MGT
hh
(A
i
), i =1,....,n}
Php b ca mt lc quan h Q to thnh mt lc Q nh sau :
Q
+
={A
1
,A
2
,...,A
n
}
TQ={q/q
e
MGT
hh
(TQ) v q
e
TQ}
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 29
V d : Cho lc quan h Q
1


MGT
hh
(A) = {a1, a2, a3}
MGT
hh
(B) = {b1, b2}
B ca Q
1
l

5 Php tch Descartes
Cho 2 lc quan h Q
1
(A
1
, A
2
,..., A
n
) , Q
2
(B
1
, B
2
,..., B
m
) . TQ
1
v TQ
2
ln lt l 2 quan h
trn Q
1
v Q
2
. Tch Descartes ca 2 lc quan h Q
1
v Q
2
s to thnh mt lc quan
h Q
3
nh sau :
* Q
3
+={A
1
,A
2
,...,A
n
,B
1
,B
2
,..,B
m
}
* TQ
3
={(q
1
.q
2
) / q
1

e
TQ
1
v q
2

e
TQ
2
}
K hiu : Q
3
=(Q
1
x Q
2
)
TQ
3
=(TQ
1
x TQ
2
)
V d : Cho 2 lc quan h Q
1
v Q
2


Khi : Q
3
=Q
1
x Q
2


III. CC PHP TON QUAN H.
1 Php chiu.
Cho mt lc quan h Q(A
1
,A
2
,..,A
n
) . TQ l mt quan h nh ngha trn Q . Php chiu
mt b q ln mt thuc tnh A
i
l php trch ly gi tr thuc tnh A
i
ca b q .
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 30
Php chiu Q ln tp thuc tnh X s to thnh mt lc quan h Q = Q[X] , trong
Q
+
chnh l Q nhng ch ly cc thuc tnh ca X .
V d : Cho lc quan h Q

Q l kt qu ca php chiu Q ln thuc tnh A, B

Php chiu chnh l php rt trch d liu theo ct ( chiu dc )
Biu din php chiu bng i s quan h
C php:

V d :

2 Php chn.
Cho mt lc quan h Q(A
1
, A
2
, ..., A
n
).
TQ l mt quan h nh ngha trn Q .
X l tp thuc tnh con ca Q
+
: X Q
+

Dx l mt iu kin c pht biu da trn tp X .
Dx : TQ {true,false}
Dx(q) = true nu q tha Dx
= false nu ngc li.
Php chn trn TQ theo iu kin Dx s to thnh mt lc quan h Q nh sau :
* Q
+
= Q
+

* TQ={q eTQ/Dx(q)=true}



V d :
c
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 31

Chn vi iu kin A=a1

Biu din php chn bng i s quan h
C php:

Biu thc gm cc mnh c dng
- <tn thuc tnh> <php so snh> <hng s>
- <tn thuc tnh> <php so snh> <tn thuc tnh>

- <php so snh> gm < , > , s , > , = , =
- Cc mnh c ni li nh cc php . , v ,

V d :


3 Php kt.
Cho 2 lc quan h Q
1
(A
1
,A
2
,..,A
n
), Q
2
(B
1
,B
2
,..,B
m
).TQ
1
v TQ
2
ln lt l 2 quan h
trn Q
1
v Q
2
. Ai v Bj ln lt l cc thuc tnh ca Q
1
v Q
2
sao cho MGT(A
i
) = MGT(B
j
)
l mt php so snh trn MGT(A
i
) . Php kt gia Q
1
v Q
2
s to thnh mt lc
quan h Q
3
nh sau :
Q
3
+
= Q
1
+
Q
2
+


q
3
[Q
1
+
]=q
1

q
3
[Q
2
+
]=q
2
q3.Ai q3.Bj }


V d : cho 2 lc quan h Q1 , Q2
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 32



Nhn xt :
Php kt gia Q1 v Q2 chnh l php tch Descartes ri thc hin php chn da vo
iu kin Ai Bj

Nu c s dng trong php kt l php so snh = th ta gi l php kt bng ( equi-
join) . Hn na , nu Ai Bj ta gi l php kt t nhin ( natural join ) . Php kt t nhin l
php kt rt thng c s dng trong thc t .
K hiu :


Ta c th m rng php kt trn nhiu thuc tnh :
MGT(A
i1
) = MGT(B
j1
) vi php so snh
1

MGT(A
i2
) = MGT(B
j2
) vi php so snh
2

...............................
Bc 1 : To tch Descartes .
Bc 2 : Thc hin php chn theo iu kin
(A
i1

1
B
j1
) and (A
i2

2
B
j2
) and .....
Php kt m c bit l php kt t nhin ng mt vai tr rt quan trng trong m hnh d
liu quan h .
4 Php chia.
Cho 2 lc quan h Q
1
, Q
2
vi Q
2
+

_
Q
1
+

Bng cch nh li ch s , ta c th gi s :
Q
1
+={A
1
, A
2
,....,A
k
,
Ak+1
,...,A
n
}
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 33
Q
2
+={A
1
, A
2
,....,A
k
}
TQ
1
v TQ
2
ln lt l cc quan h c nh ngha trn Q
1
, Q
2
. Php chia Q
1
cho Q
2
s to
thnh mt lc quan h Q
3
nh sau :
Q
3
+
=Q
1
+
- Q
2
+

TQ
3
={q
3
/ q
2
eTQ
2
, -q
1
e TQ
1
: q
3
=q
1
[Q
3
+
] v q
2
=q
1
[Q
2
+
]}


Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 34
CHNG 6
NGN NG TRUY VN SQL


I GII THIU SQL
Mt h qun tr CSDL phi bao gm cc ngn ng giao tip gia ngi s dng vi CSDL.
Ngn ng giao tip vi CSDL gm cc loi sau:
- Ngn ng m t d liu(Data Definition Language DDL): cho php khai bo cu
trc cc bng ca CSDL, khai bo cc mi quan h gia cc bng trong CSDL v cc quy
tc(rng buc ton vn) ca CSDL.
- Ngn ng thao tc d liu(Data Manipulation Language- DML): cho php thc
hin cc thao tc nh thm(insert), xa(delete), sa(update) d liu trong CSDL.
- Ngn ng truy vn d liu (Structured Query Language- SQL): cho php ngi s
dng khai thc CSDL truy vn cc thng tin cn thit trong CSDL.
- Ngn ng qun l d liu(Data Control Language- DCL):cho php nhng ngi
qun tr h thng thay i cu trc ca cc bng d liu, khai bo bo mt thng tin v
cp quyn khai thc CSDL cho ngi s dng.
Gia nhng nm 1970, mt nhm cc nh pht trin ti trung tm nghin cu ca IBM ti
San Jose pht trin h thng c s d liu "H thng R" da trn m hnh ca Codd. Structured
English Query Language, vit tt l "SEQUEL", c thit k qun l v truy vn d liu c
lu tr trong H thng R, sau ny tn vit tt SEQUEL c rt gn thnh SQL. Nm 1976 ngn
ng SEQUEL c ci tin thnh SEQUEL-2, khong nm 1978-1979 SEQUEL-2 c ci tin v
i tn thnh ngn ng truy vn c cu trc. Cui nm 1979 h qun tr CSDL c ci tin
thnh SYSTEM-R*. Nm 1986 vin tiu chun quc gia M (American National Standards
Institute ANSI) cng nhn v chun ho ngn ng SQL v sau t chc tiu chun th
gii (International Standards Organization -ISO) cng cng nhn ngn ng ny. l chun
SQL-86. Ti nay SQL qua cc ln chun ho (1989,1992,1999, 2003) m rng cc php
ton v tng cng kh nng bo mt v tnh ton vn d liu.

II TRUY VN D LIU
Cu lnh truy vn SQL dng rt trch d liu t mt quan h hay nhiu quan h. Kt qu
tr v ca cu lnh truy vn SQL l mt quan h. Mi cu lnh c vit trn mt dng hoc
nhiu dng, khng phn bit ch thng v ch hoa.
C php tng qut ca cu lnh truy vn nh sau:
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
[WHERE <biu thc iu kin>]
[GROUP BY <danh sch thuc tnh>]
[HAVING <iu kin nhm>]
[ORDER BY <danh sch cc thuc tnh [ASC|DESC]>]
1 Php chiu
C php :
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
Php chiu cho kt qu l mt quan h, quan h kt qu bao gm cc ct c lit k trong
danh sch cc ct sau t kha SELECT, cc ct ny l cc ct trong danh sch cc bng c
lit k trong danh sch cc bng sau t kha FROM.
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 35

V d 1: C cc thng tin v nhn vin nh sau:
Nu chng ta ch mun truy vn d liu trn cc ct MANV, HONV, TENNV, PHAI th cu truy
vn nh sau:
SELECT MANV, HONV, TENNV, PHAI
FROM NHANVIEN
Kt qu l:

Trong trng hp mun hin th tt c cc thng tin trong bng NHANVIEN thay v chng ta
phi lit k tn tt c cc ct sau mnh SELECT th chng ta s dng k t thay th *
V d 2:
SELECT *
FROM NHANVIEN
Kt qu l:

Hy xem xt v d sau:
SELECT QQUAN
FROM NHANVIEN
Kt qu l:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 36

Tuy nhin, mc ch ca chng ta l mun bit qu qun ca tt c nhn vin trong cng ty
cc tnh no, c ngha l mi tnh ch xut hin 1 ln, khi chng ta dng t kha DISTINCT
cu lnh SELECT nh sau :

SELECT DISTINCT QQUAN
FROM NHANVIEN
V kt qu l:

Vi t kha DISTINCT sau cu lnh SELECT s loi b cc b trng nhau trong quan h kt
qu.
Chng ta tip tc xem xt cu lnh sau y:
SELECT ALL TINH
FROM NHANVIEN
V kt qu l:

Vi t kha ALL sau cu lnh SELECT s cho tt c cc b trong quan h kt qu, trng
hp ny cng ging nh cch vit SELECT <danh sch cc ct>
Nu chng ta mun t tn khc cho tn ca cc ct trong quan h kt qu(cn gi l b
danh - ALIAS) th thc hin bng cch thm t kha AS v theo sau l mt tn mi. Nu tn c
cha cc k t c bit hoc khong trng th vit tn trong cp du ngoc vung ([ ]).
V d 3: t tn cho ct QQUAN l QU QUN v PHAI l PHI
SELECT QQUAN AS [QU QUN],PHAI AS PHI
FROM NHANVIEN
S dng cc ct tnh ton: khi trong cu lnh truy vn cn hin th thng tin c tnh ton
hoc tng hp t cc thuc tnh khc. Chng ta c th s dng cc php ton v cc hm s.
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 37
V d 4: Hy cho bit danh sch nhn vin gm cc thng tin: m nhn vin, h nhn vin,
tn nhn vin, ngy sinh, lng v ph cp trong ph cp l 10% ca lng.

SELECT MANV,HONV,TENNV,NGSINH,LUONG,LUONG*0.1 AS PHUCAP
FROM NHANVIEN
V kt qu l:

Sau y l mt s hm v ton t thng c s dng:


Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 38
2 Php chn
Php chn cho php chng ta chn ra nhng b d liu tha mn mt hay nhiu iu kin
no trong quan h ngun. Cc iu kin ny chng ta t mnh WHERE v bt buc
phi s dng thm 2 cu lnh SELECT v FROM.
C php:
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
WHERE <biu thc iu kin>
V d 5: Trong bng d liu NHANVIEN chng ta cn chn ra nhng nhn vin c qu qun
NNG, cu lnh c vit nh sau:
SELECT *
FROM NHANVIEN
WHERE QQUAN = ' NNG'
V kt qu l:

Lu : V chng ta ang s dng theo c php SQL chun, v vy khi vit cc cu lnh SQL
trong cc h qun tr CSDL khc nhau s c cch vit khc nhau. Chng hn, nu s dng
Access 2003 th iu kin mnh WHERE c vit nh sau: QQUAN= NNG, cm t
NNG c bao bi cp du nhy i , cn nu s dng SQL Server 2000 th cm t
NNG c bao bi cp du nhy n ' '. Ngoi ra, nu kiu d liu ca ct QQUAN l kiu
chui Unicode th chng ta phi thm ch N sau du bng: QQUAN=N' NNG'
Mt biu thc iu kin phi bao gm cc thnh phn sau:
<tn thuc tnh><php so snh><gi tr so snh>
Trong :
Tn thuc tnh: l thuc tnh cn t iu kin chn
Php so snh: l mt trong cc php so snh nh bng sau

Gi tr so snh: thng l mt hng s hoc l mt tp hp gi tr, so snh thuc tnh
trong biu thc iu kin nh th no so vi gi tr ny. Tuy nhin, gi tr so snh cng c th
l mt thuc tnh.
Chng ta phn tch li biu thc iu kin trong v d trn:
SELECT *
FROM NHANVIEN
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 39
WHERE QQUAN = ' NNG'
Trong :
Tn thuc tnh: QQUAN
Php so snh: =
Gi tr so snh: NNG
Khi thc hin so snh chn ra nhng b trong bng d liu ngun th biu thc iu kin
s tr v mt gi tr kiu boolean(true hoc false) cho mi b, ch nhng b no c gi tr tr v
l true th mi c chn vo bng kt qu.
V d 6: Xt b sau y

Cn c vo thuc tnh QQUAN ca b ny c gi tr l NNG nn biu thc iu kin s
cho kt qu l true v b ny c chn vo bng d liu kt qu. Ngc li, nhng b no c
gi tr khng phi l NNG th biu thc iu kin s cho gi tr false v cc b ny khng
c chn a vo bng d liu kt qu.
Trong thc t, khi truy vn d liu chng ta thng chn cc b d liu tha mn mt trong
cc iu kin hoc tha mn tt c cc iu kin, nh vy chng ta phi thit k nhiu iu
kin v cc iu kin ny c ni vi nhau bi cc php ni sau:

V d 7: Hy cho bit danh sch nhn vin c qu qun l NNG v c phi l NAM
tr li cu truy vn ny, chng ta xem trong quan h NHANVIEN nhng b no c gi tr
trn ct QQUAN l NNG v b ny c gi tr trn ct PHAI l NAM. Nh vy hai biu thc
iu kin ny phi c ni vi nhau bi php ni AND. Khi cu lnh c vit nh sau:
SELECT *
FROM NHANVIEN
WHERE QQUAN = ' NNG' AND PHAI='NAM'
V kt qu l:

V d 8 : Hy cho bit danh sch nhn vin c tn l IP hoc cc nhn vin c PHAI l
NAM.
tr li cu truy vn ny, chng ta xem trong quan h NHANVIEN nhng b no c gi tr
trn ct TENNV l IP th chn b vo quan h kt qu, nu b c TENNV khng phi l
IP nhng c PHAI l NAM th b ny cng c chn vo quan h kt qu. Ngc li nu
khng tha mn mt trong hai iu trn th b khng c chn vo quan h kt qu. Nh
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 40
vy hai biu thc iu kin ny phi c ni vi nhau bi php ni OR. Khi cu lnh c
vit nh sau:
SELECT *
FROM NHANVIEN
WHERE TENNV = 'IP' OR PHAI='NAM'
V kt qu l:

V d 9 : Hy cho bit danh sch nhn vin c qu qun NNG v LM NG.
tr li cu truy vn ny, chng ta xem trong quan h NHANVIEN nhng b no c gi tr
trn ct QQUAN l NNG hoc gi tr trn ct QQUAN l LM NG. Trong cu truy vn ny,
mc d cu hi cho l NNG v LM NG nhng chng ta phi s dng php ni OR v
trn cng mt ct QQUAN th mi b ch mang mt gi tr, khng th no c mt b m va
mang gi tr l NNG li va mang gi tr l LM NG. Khi cu lnh c vit nh sau:
SELECT *
FROM NHANVIEN
WHERE QQUAN = ' NNG' OR QQUAN = 'LM NG'
V kt qu l:

u tin trong biu thc iu kin:
Khi trong biu thc iu kin ch s dng duy nht mt loi php ni AND hoc OR th chng
ta khng cn quan tm n u tin, nhng trong biu thc iu kin va c php AND, va
c php OR th chng ta phi gom nhm phn u tin cho cc biu thc iu kin, s
dng du ( ) phn u tin.
V d 10: Hy cho bit danh sch nhn vin thuc phng s 1 v c qu qun TP.HCM
hoc NNG
SELECT *
FROM NHANVIEN
WHERE MAPHG=1 AND (QQUAN='TP.HCM' OR QQUAN=' NNG')
V kt qu l:

Sau y chng ta ln lt xt cc php so snh LIKE, IN, BETWEENAND
Php so snh LIKE: dng so snh gi tr ca thuc tnh so vi mu
C php : <tn thuc tnh> LIKE <mu>
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 41
Trong <mu> c th c nhng k t i din, ty thuc vo h qun tr CSDL khc nhau s
c qui nh khc nhau, sau y chng ta s tm hiu cc k t i din trong Access 2003 v
SQL Server 2000.

V d 11: Hy cho bit danh sch nhn vin c h l h NGUYN
SELECT *
FROM NHANVIEN
WHERE HONV LIKE 'NGUYN%'
V kt qu l:

V d 12: Hy cho bit danh sch nhn vin c tn bt u l ch Q hoc ch
SELECT *
FROM NHANVIEN
WHERE TENNV LIKE '[Q]%'
V kt qu l:

Lu : Nu cc k t lit k trong du [] l lin k nhau th chng ta c th vit k t u
du k t cui. V d: [abcdef] tng ng [a-f]
Php so snh IN: dng so snh gi tr ca thuc tnh c l mt trong cc gi tr c lit
k trong php IN hay khng.
V d 13: Hy cho bit danh sch nhn vin c qu qun NNG v LM NG.
SELECT *
FROM NHANVIEN
WHERE QQUAN IN(' NNG','LM NG')
Php so snh BETWEENAND: dng so snh gi tr ca thuc tnh c thuc trong
khong gi tr no hay khng.
V d 14: Hy cho bit danh sch nhn vin c mc lng t 2 triu n 3 triu
SELECT *
FROM NHANVIEN
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 42
WHERE LUONG BETWEEN 2000000 AND 3000000
V kt qu l:

Php ph nh NOT : dng ph nh li gi tr logic ca biu thc iu kin. Nu biu
thc iu kin c gi tr true th php ph nh s cho gi tr false, ngc li biu thc iu kin
c gi tr false th php ph nh s cho gi tr true.
V d 15: Hy cho bit danh sch nhn vin c qu qun khng TP.HCM
SELECT *
FROM NHANVIEN
WHERE NOT QQUAN='TP.HCM'
V kt qu l:

Chng ta c th s dng php ph nh NOT trong cc php so snh LIKE, BETWEENAND
V d 16: Hy cho bit danh sch nhn vin c k t u tin ca tn khng phi l k t T
SELECT *
FROM NHANVIEN
WHERE TENNV NOT LIKE 'T%'
V d 17: Hy cho bit danh sch nhn vin c lng nh hn 2 triu hoc c lng ln hn
3 triu.
SELECT *
FROM NHANVIEN
WHERE LUONG NOT BETWEEN 2000000 AND 3000000
Gi tr NULL: c s dng trong trng hp ti chng ta cha xc nh c gi tr,
cha bit gi tr. Cn phn bit gi tr NULL khc vi gi tr rng hoc gi tr 0. Khi cn kim tra
mt b c gi tr NULL trn thuc tnh no chng ta s dng hai hm sau y:
IS NULL
IS NOT NULL
V d 18: Hy cho bit danh sch nhn vin cha c ngi qun l.
SELECT *
FROM NHANVIEN
WHERE MANQL IS NULL
V kt qu l:

3 Php kt
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 43
Khi thc hin truy vn m cc thng tin cn truy vn trn nhiu quan h khc nhau th
chng ta cn phi thc hin php kt trn cc quan h c lin quan vi nhau. Chng ta thng
s dng php kt t nhin, tuy nhin trong mt vi trng hp th chng ta s dng php kt
bng. thc hin php kt, chng ta lit k cc quan h cn truy vn thng tin sau mnh
FROM v t iu kin kt sau mnh WHERE.
V d 19: Hy cho bit danh sch nhn vin gm cc thng tin m nhn vin, h nhn vin,
tn nhn vin, ngy sinh, tn phng ban.
Chng ta quen thuc vi cu truy vn ny, nhng c mt vn cn gii quyt l mun
bit tn phng ban ca mi nhn vin th chng ta cn truy vn thng tin trn quan h
PHONGBAN. V vy chng ta cn phi thc hin php kt gia quan h NHANVIEN v quan h
PHONGBAN.

Cu truy vn c vit nh sau:
SELECT MANV,HONV,TENNV,NGSINH,TENPHG
FROM NHANVIEN,PHONGBAN
WHERE NHANVIEN.MAPHG=PHONGBAN.MAPHG
V kt qu l:

Lu :
Nh vy, sau mnh WHERE c hai loi iu kin l iu kin chn v iu kin kt, iu
kin chn th trong biu thc iu kin ch lin quan n mt quan h cn iu kin kt th lin
quan n hai quan h. Cc iu kin chn v iu kin kt c th phi hp vi nhau bi cc
php ni logic AND, OR.
Cc thng tin c truy vn t nhiu quan h, nn s c cc thuc tnh trong cc quan h s
trng tn v vy chng ta cn phi ch r thuc tnh l ca quan h no.
Cch vit : <tn quan h>.<tn thuc tnh>
B danh bng: thun tin khi vit cu lnh chng ta c th t tn b danh cho bng, khi
t tn b danh cho bng chng ta c th s dng t kho AS hoc khng s dng t kha AS

Cch vit:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 44
Tn bng AS tn b danh
Tn bng tn b danh
Ly v d trn, chng ta c th vit li nh sau:
SELECT MANV,HONV,TENNV,NGSINH,TENPHG
FROM NHANVIEN n,PHONGBAN p
WHERE n.MAPHG=p.MAPHG
4 Gom nhm d liu
Khi truy vn d liu, chng ta cn thc hin mt s cu truy vn trong c nhng con s
thng k. V d, cn thng k mi phng ban c bao nhiu nhn vin, khi chng ta cn phi
gom cc nhn vin cng phng ban thnh tng nhm v thc hin m trn tng nhm c bao
nhiu nhn vin. Nh vy, khi thc hin gom nhm da trn mt tiu ch no th cn s
dng thm cc hm thng k, sau y l 5 hm thng k thng s dng:
- COUNT
COUNT(*) m s dng
COUNT(<tn thuc tnh>) m s gi tr khc NULL ca thuc tnh
COUNT(DISTINCT <tn thuc tnh>) m s gi tr khc nhau v khc NULL ca thuc tnh
- SUM : Tnh tng trn nhm.
- MIN : Tm gi tr nh nht trn nhm.
- MAX : Tm gi tr ln nht trn nhm.
- AVG : Tnh gi tr trung bnh trn nhm.
C php :
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
GROUP BY <danh sch thuc tnh>
Cc thuc tnh dng lm tiu ch gom nhm c t sau mnh GROUP BY
Cc hm thng k c t sau mnh SELECT
V d 20: Hy cho bit mi phng ban c bao nhiu nhn vin.
SELECT MAPHG,COUNT(*) AS TONGSO
FROM NHANVIEN
GROUP BY MAPHG
V kt qu l:

Lu : Cc thuc tnh trong mnh SELECT (tr cc hm thng k) phi xut hin trong
mnh GROUP BY
Mnh WHERE c th c kt hp trong cu lnh chn ra nhng b tha mn u kin
trc khi gom nhm.
V d 21: Hy cho bit mi phng ban c bao nhiu nhn vin NAM.
Trong cu truy vn ny, chng ta thy c s dng hm thng k m mi phng ban c
bao nhiu nhn vin NAM, v vy trc khi thc hin gom nhm v thng k chng ta ch chn
nhng nhn vin NAM m thi. Khi cu lnh c vit nh sau:
SELECT MAPHG,COUNT(*) AS [TSNV NAM]
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 45
FROM NHANVIEN
WHERE PHAI='NAM'
GROUP BY MAPHG
V kt qu l:

iu kin trn nhm(iu kin sau gom nhm): dng chn ra nhng b kt qu tha
mn iu kin no . V d, cho bit nhng phng ban no c t bn nhn vin tr ln, iu
kin ny chng ta khng th t mnh WHERE, m chng ta phi t iu kin mnh
HAVING.
C php:
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
GROUP BY <danh sch thuc tnh>
HAVING <iu kin nhm>
V d 22: Hy cho bit nhng phng ban no c t bn nhn vin tr
SELECT MAPHG,COUNT(*) AS [TSNV NAM]
FROM NHANVIEN
GROUP BY MAPHG
HAVING COUNT(*)>3


V kt qu l:


5 Sp xp d liu
Khi chng ta thc hin cu truy vn theo yu cu, vn tip theo l chng ta mun sp
xp cc d liu va truy vn. Khi sp xp c hai kiu sp xp: sp tng dn hoc sp gim dn
da trn mt thuc tnh no . Hn na, nu da trn thuc tnh ny s c nhng b bng gi
tr vi nhau th khi cc b trng ny s c sp xp da trn thuc tnh tip theo.
C php:
SELECT <danh sch cc ct>
FROM <danh sch cc bng>
ORDER BY <tn ct >|<biu thc> [ASC | DESC], <tn ctt>|<biu thc> [ASC | DESC],
...
Lit k cc thuc tnh lm tiu chun sp xp sau mnh ORDER BY, mi thuc tnh c
xc nh l sp tng dn th thm t kha ASC sau tn thuc tnh, ngc li nu xc nh l
gim dn th thm t kho DESC sau tn thuc tnh. trong trng hp sp xp tng dn chng
ta c th khng cn thm t kha ASC sau tn thuc tnh.
- ASC: tng dn (mc nh)
- DESC: gim dn
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 46
V d 23: Hy cho bit danh sch nhn vin c sp theo th t tng dn theo tn, nu
sp xp trn tn trng nhau th sp gim dn theo mc lng.

SELECT *
FROM NHANVIEN
ORDER BY TENNV ASC,LUONG DESC
V kt qu l:



Gii hn s b trong quan h kt qu
Trong trng hp cn chn ra mt s b trong quan h kt qu chng ta s dng t kha
TOP sau mnh SELECT. Chng ta c th chn chnh xc bao nhiu b hoc t l bao nhiu
phn trm.
C php:
SELECT TOP [n|n PERCENT]
Thng thng, khi s dng t kha TOP th trong cu lnh c thm thao tc sp xp.
V du 24: Hy cho bit danh sch 3 nhn vin c mc lng cao nht.
SELECT TOP 3 *
FROM NHANVIEN
ORDER BY LUONG DESC
V kt qu l:

V du 25: Hy cho bit danh sch nhn vin c mc lng cao nht vi t l l 25% trong
ton b nhn vin.
SELECT TOP 25 PERCENT *
FROM NHANVIEN
ORDER BY LUONG DESC
V kt qu l:


6 Cu truy vn lng
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 47
Trong nhiu trng hp khi truy vn thng tin, trong cu hi nu ra khng cung cp nhng
d kin mt cch tng minh, v vy chng ta cn tm kim thng tin qua nhiu bc. Kt qu
ca bc trc l d kin dng trong biu thc iu kin ca bc sau. Cu truy vn nh vy
gi l truy vn lng, chng ta c th lng nhiu cp trong cu truy vn.
Truy vn lng l cu lnh truy vn khi m trong biu thc iu kin ca WHERE hoc
HAVING l mt cu truy vn khc, cu truy vn nm mnh WHERE hoc HAVING c gi
l cu truy vn con, cn cu truy vn bn ngoi gi l cu truy vn cha. Cu truy vn con c
t trong du ( ).
C 2 loi truy vn lng: lng phn cp v lng tng quan
- Lng phn cp: cu truy vn con khng tham chiu n thuc tnh ca cc bng
trong mnh FROM ca cu truy vn cha. Cu truy vn con c thc hin trc
cu truy vn cha v ch thc hin mt ln. Kt qu tr v ca cu truy vn con c th
l mt gi tr n hoc mt tp hp.
V d 26: Hy cho bit danh sch nhn vin c lng ln hn lng ca nhn vin c m s
l NV0006
SELECT *
FROM NHANVIEN
WHERE LUONG>(SELECT LUONG
FROM NHANVIEN
WHERE MANV='NV0006')
V kt qu l:

- Lng tng quan: cu truy vn con tham chiu n thuc tnh ca cc bng trong
mnh FROM ca cu truy vn cha. Cu truy vn con c thc hin nhiu ln, mi
ln ng vi mt b ca truy vn cha.
V d 27: Hy cho bit danh sch nhn vin c mc lng ln hn mc lng trung bnh ca
cc nhn vin cng phng ban.
Mc lng trung bnh ca cc phng ban

SELECT *
FROM NHANVIEN n1
WHERE LUONG >
(SELECT AVG(luong)
FROM NHANVIEN n2
WHERE n1.MAPHG=n2.MAPHG)
V kt qu l:


Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 48
Khi s dng cu truy vn lng chng ta thng s dng thm cc t kha sau:

V d 28: Hy cho bit danh sch cc phng ban c nhn vin.
SELECT *
FROM PHONGBAN p
WHERE EXISTS
(SELECT *
FROM NHANVIEN n
WHERE p.MAPHG = n.MAPHG)
V kt qu l:

V d 29: Hy cho bit danh sch cc nhn vin c lng ln hn t nht l mt nhn vin
phng s 2.
SELECT *
FROM NHANVIEN
WHERE LUONG > ANY
(SELECT LUONG
FROM NHANVIEN
WHERE MAPHG = 2)
V kt qu l:
Trng cao ng Cng Ngh Th c
Mn: C S D Liu Trang 49

V d 30: Hy cho bit danh sch cc nhn vin c lng ln hn tt c cc nhn vin
phng s 2.
SELECT *
FROM NHANVIEN
WHERE LUONG > ALL
(SELECT LUONG
FROM NHANVIEN
WHERE MAPHG = 2)
V kt qu l:

You might also like