# Caùc pheùp toaùn taäp hôïp (set operation)

tải về 1.89 Mb.
 trang 4/20 Chuyển đổi dữ liệu 07.07.2016 Kích 1.89 Mb. #203

### 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’| 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

#### 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öû tr 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=r1r2 = {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:

 r1 r2 r3 = r1r2 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 = r1r2 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 = 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

### 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:E):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)}

= {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+ = t­1, 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+ = t­1

t12.S+ = t2 t12.Ai1t12.Bj}

={t12|t1{u12|u1q,u2r u12.Q+=u1 u12.R+=u2 u1.Ck2u2.Dl},

t2s t12.Q+R+ = t­1,t12.S+=t2 t1.Ai1t2.Bj}

={t123|t1q,t2r,t3s t123.Q+=t1,t123.R+=t2 t123.S+=t3

t123.Ai1t123.Bj t123.Ck2t123.Dl}

={t12|t1q,t2{u12|u1r,u2s u12.R+=u1

u12.S+=u2 u1.Ck2u2.Dl},t12.Q+=t­1 t12.R+S+=t2 t12.Ai1t12.Bj}

={t12|t1q,t2(r|><|s),t12.Q+=t­1

t12.R+S+=t2 t12.Ai1t12.Bj}

=q|><|(r|><|s)

tải về 1.89 Mb.

Chia sẻ với bạn bè của bạn:

Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2023
được sử dụng cho việc quản lý

Quê hương