Giaùo trình CÔ SÔÛ DÖÕ lieäu trang


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



tải về 1.89 Mb.
trang4/20
Chuyển đổi dữ liệu07.07.2016
Kích1.89 Mb.
#203
1   2   3   4   5   6   7   8   9   ...   20

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:
1   2   3   4   5   6   7   8   9   ...   20




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

    Quê hương