3Caùc pheùp toaùn taäp hôïp (set operation) iPheù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 hay 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
| iiPheù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
|
|
|
|
| iiiPheù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
|
|
|
|
| ivTí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
|
|
|
|
|
|
| 4Caùc pheùp toaùn quan heä iPheù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’| tr vaø t.X = t[X] = t’}
pheùp chieáu chính laø pheùp ruùt trích döõ lieäu theo coät (chieàu doïc)
Ví duï:
r
|
|
r’ = r.{MAMH}
|
MASV
|
MAMH
|
DIEMTHI
|
|
MAMH
|
99001
|
CSDL
|
5.0
|
|
CSDL
|
99002
|
CTDL
|
2.0
|
|
CTDL
|
99003
|
MANG
|
8.0
|
|
MANG
| iiPheù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öû tr thoûa maõn ñieàu kieän E kyù hieäu laø t(E).
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
|
|
|
|
| iiiPheù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+
r3=r1 r2 = {t12|t1r1,t2r2 sao cho
t12.Q1+ = t1
t12.Q2+ = t2
t1.Ai t2.Bj}
Ta ruùt ra caùc böôùc cuï theå ñeå thöïc hieän pheùp keát nhö sau:
-
Taïo tích descartes
-
Thöïc hieän pheùp choïn theo ñieàu kieän E=Ai Bj
Ví duï:
Ai laø thuoäc tính B, Bj laø thuoäc tính F vaø laø pheùp so saùnh “>=”. Ta ñöôïc keát quaû laø quan heä sau:
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
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
|
|
|
|
|
|
|
|
| ivPheùp chia (division):
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 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 = r1r2 = {t3|t2r2, t1r1 t3=t1.{A1,...,An-m}
t2=t1.{An-m+1,...,An}}
Ví duï:
r1
|
|
r2
|
|
r3 = r1 r2
|
A1
|
A2
|
A3
|
A4
|
A5
|
|
B1
|
B2
|
|
A1
|
A2
|
A3
|
a
|
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
|
|
|
|
|
|
|
|
5Caùc tính chaát cuûa ñaïi soá quan heä
Q laø löôïc ñoà quan heä
q,r,s laø quan heä treân Q,
E,E1,E2 laø meänh ñeà logic treân Q+
X1 X2 Q+
Haõy chöùng minh caùc tính chaát sau:
(r:E1):E2 = (r:E2):E1
Chöùng minh:
(r:E1):E2 = {t’|t’(r:E1) vaø t’(E2)}
= {t’|t’{t|tr vaø t(E1)} vaø t’(E2)}
= {t’r|t’(E1) vaø t’(E2)}
= {t’|t’{t|tr vaø t(E2)} vaø t’(E1)}
= {t’|t’(r:E2) vaø t’(E1)}
= (r:E2):E1
(r+s):E = (r:E)+(s:E)
Chöùng minh:
(r+s):E = {t|t(r+s) vaø t(E)}
= {t|t{t’|t’r hoaëc t’s} vaø t(E)}
= {t|(tr hoaëc ts) vaø t(E)}
= {t|(tr vaø t(E)) hoaëc (ts vaø t(E))}
= {t|t{t’|t’r vaø t’(E)} hoaëc t{t’|t’s vaø t’(E)}}
= {t|t(r:E) hoaëc t(s:E)}
= (r:E)+(s:E)
(r*s):E = (r:E)*(s:E)
Chöùng minh:
(r*s):E = {t|t(r*s) vaø t(E)}
= {t|t{t’|t’r vaø t’s} vaø t(E)}
= {t|tr vaø ts vaø t(E)}
= {t|(tr vaø t(E)) vaø (ts vaø t(E))}
= {t|t{t’|t’r vaø t’(E)} vaø t{t’|t’s vaø t’(E)}}
= {t|t(r:E) vaø t(s:E)}
= (r:E)*(s:E)
(r-s):E = (r:E)-(s:E)
Chöùng minh:
(r-s):E = {t|t(r-s) vaø t(E)}
= {t|t{t’|t’r vaø t’s} vaø t(E)}
= {t|tr vaø ts vaø t(E)}
= {t|(tr vaø t(E)) vaø (ts vaø t(E))}
= {t|t{t’|t’r vaø t’(E)} vaø t{t’|t’s vaø t’(E)}}
= {t|t(r:E) vaø t(s:E)}
= (r:E)*(s:E)
Vôùi X2 X1 (r.X2).X1 = r.X1
Chöùng minh:
(r.X2).X1 = {t.X1|t(r.X2)}
= {t.X1|t{t’.X2|t’r}}
= {(t’.X2).X1|t’r}
= {t’.X1|t’r} vì X1 X2
= r.X1
E phaùt bieåu treân X (r:E).X = (r.X):E
Chöùng minh:
(r:E).X = {t.X|t(r:E)}
= {t.X|t{t’|t’r vaø t’(E)}}
= {t.X|tr vaø t(E)}
= {t’|t’{t.X|tr} vaø t’(E)}
= {t’|t’(r.X) vaø t(E)}
= (r.X):E
q|><|r = r|><|q
Chöùng minh:
(q|><|r) ={t12|t1q,t2r t12.Q+ = t1, t12.R+ = t2 t12.Ait12.Bj}
= r|><|q
AiQ,BjS,CkQ,DlR (q|><|r)|><|s = q|><|(r|><|s)
Chöùng minh:
(q|><|r)|><|s ={t12|t1(q|><|r),t2s t12.Q+R+ = t1
t12.S+ = t2 t12.Ai1t12.Bj}
={t12|t1{u12|u1q,u2r u12.Q+=u1 u12.R+=u2 u1.Ck2u2.Dl},
t2s t12.Q+R+ = t1,t12.S+=t2 t1.Ai1t2.Bj}
={t123|t1q,t2r,t3s t123.Q+=t1,t123.R+=t2 t123.S+=t3
t123.Ai1t123.Bj t123.Ck2t123.Dl}
={t12|t1q,t2{u12|u1r,u2s u12.R+=u1
u12.S+=u2 u1.Ck2u2.Dl},t12.Q+=t1 t12.R+S+=t2 t12.Ai1t12.Bj}
={t12|t1q,t2(r|><|s),t12.Q+=t1
t12.R+S+=t2 t12.Ai1t12.Bj}
=q|><|(r|><|s)
Chia sẻ với bạn bè của bạn: |