155
Database System Implementation デデデデデデデ デデデデデデデ デデデデデ H. Garcia-Morina, J. D. Ullman, and J. Widom. Database System Implementation. Prentice Hall, 2000, ISBN 0-13-040264-8 Chapter 6, 7 デデ デデデ5 デデ デデ

森下 真一 平成1 5 年度 夏学期

  • Upload
    tavita

  • View
    40

  • Download
    1

Embed Size (px)

DESCRIPTION

データベース論 - 問合せ最適化編 参考教科書 H. Garcia-Morina, J. D. Ullman, and J. Widom. Database System Implementation. Prentice Hall, 2000, ISBN 0-13-040264-8 Chapter 6, 7. 森下 真一 平成1 5 年度 夏学期. 問合せの代数. 関係. 属性例 name, department, weight レコード属性の値の線形リスト (Tom, IS)(Paul, Physics) 関係レコードの集合 - PowerPoint PPT Presentation

Citation preview

PowerPoint Database System Implementation.
Chapter 6, 7

name
score
Tom
32
Tom
29
Tom
32
John
45
John
48
name
score
Tom
32
Tom
29
John
45
John
48
R ∪ S r R S
(Union) r R ∪ S
R ∩ S r R S
(Intersection) R ∩ S
R S r R S
(Difference) R S
R={0,1,1,1,3,3} S={1,2,2,3,3,3}
R UNION S δ(R ∪ S)
bags
C
a
b
0
1
2
1
2
1
3
1
3
5
a
b
2
1
2
1
3
1
3
5
a
b
2
1
2
1
3
1
L
Bags

a
b
c
1
2
3
2
1
2
3
2
5
5
0
3
x
y
3
4
3
4
5
8
5
8
a R S R.a, S.a
R
S
C R S a,b,…
R.a=S.a AND R.b=S.b AND …
L a,b,…
R
S

x θ y θ = >, <, …)
Theta- (θ)
dangling (3,5) ∈ S
R dangling
R wv S dangling
a
b
1
2
2
3
2
4
a
c
3
5
2
6
a
b
c
2
3
6
2
4
6
R n S πL (R wv S)
L R n msbm5 n
R
S
R wvouter S
R
S
FROM R
L




τa,b,cR
a
b
c
2
1
3
3
1
2
2
1
4
2
0
5
a
b
c
2
0
5
2
1
3
2
1
4
3
1
2
R
a
b
1
2
2
3
2
4
a
c
1
5
2
6
a
b
c
2
3
6
2
4
6
a
b
c
1
2
5
2
3
6
2
4
6
R.a
b
S.a
c
1
2
1
5
1
2
2
6
2
3
1
5
2
3
2
6
2
4
1
5
2
4
2
6
R.a
b
S.a
c
1
2
1
5
2
3
2
6
2
4
2
6
a
b
c
2
3
6
2
4
6
R
S

R(a,b,c) wv R(b,c,d) wv R(b,d,e) wv R(c,d,f)
R(a,b) wv R(b,c) wv R(c,d) wv R(d,a)
πa,e,f(R(a,b,c) wv R(b,c,d) wv R(b,d,e) wv R(c,d,f))
Database System Implementation

1
a
b
c
1
2
3
2
1
2
3
2
5
5
0
3
x
y
3
4
3
4
5
8
5
8

Database System Implementation
DB1 σ π

Database System Implementation
DB1 δ
name
district
price
6
Yokohama
550
1
Tokyo
650
9
Chiba
450
3
Tokyo
750
5
Yokohama
850
4
Tokyo
850
7
Yokohama
600
8
Chiba
600
2
Tokyo
550
district
min
count
Tokyo
550
4
Yokohama
550
3
Chiba
450
2
district
min
Tokyo
550
Yokohama
550
R={0,1,1,1,3,3}
S={1,2,2,3,3,3}
r s


R(a,b)
S(a,c)
B
M
B/M
B M2 4B
4kB, 15msec
M = 104, B = 108 40MB 400GB 6,000,000 (70)



4B(R)+4B(S)
2B(R)+2B(S)
2B(R)+2B(S)
150
150


H. Garcia-Morina, J. D. Ullman, and J. Widom. Database System Implementation.
Prentice Hall, 2000, ISBN 0-13-040264-8
Database System Implementation
CPU

CPU




CPU




B R
2
B > M R M R1, R2, ..., RM
Ri 12
12 n Mn
M B1/n B
2nB
Database System Implementation
R × S = S × R (R × S) × T = R × (S × T)
Natural Join
R wv S = S wv R (R wv S) wv T = R wv (S wv T)
R ∪ S = S ∪ R (R ∪ S) ∪ T = R ∪ (S ∪ T)
R ∩ S = S ∩ R (R ∩ S) ∩ T = R ∩ (S ∩ T)
∪ ∩ bags
(R ∩ S) ∪ (R ∩ T) = {a} ∪ {a} = {a,a}
Theta-Join
R(a,b), S(b,c), T(c,d)
(R wvR.b > S.b S) wva < d T
R wvR.b > S.b (S wva < d T) a S T
Database System Implementation
a
b
c
2
3
6
2
4
6
R.a
b
S.a
c
2
3
2
6
2
4
2
6
a
b
2
3
2
4
a
c
2
6
R.a
b
S.a
c
2
3
2
6
2
4
2
6
a
b
1
2
2
3
2
4
a
c
1
5
2
6
C1 C2
∪set


(1,2) a>0 b>1

a>0 a<0
(σa>0(R)) ∪ (σa<0(R)) = {(1,2)} ∪ {} {(1,2)}
Database System Implementation
C R
σC(R × S) = σC(R) × S
σC(R ∩ S) = σC(R) ∩ S
σ(a=1 OR a=3) AND b<c(R(a,b) wv S(b,c))
σC(R wv S) = σC(R) wv S
R(a,b) c
σa=1 OR a=3 ( σb<c(R(a,b) wv S(b,c)) )
b<c push
σa=1 OR a=3 (R(a,b) wv σb<c S(b,c) )
b<c push
(σa=1 OR a=3 R(a,b)) wv (σb<c S(b,c))
a=1 OR a=3 R(a,b)
Database System Implementation
M = S L R
N = R L S
πa+e→x,b→y(R(a,b,c,d) wv S(c,e,f))
= πa+e→x,b→y(πa,b,cR(a,b,c,d) wv πc,eS(c,e,f))
πL(R wvC S) = πL(πMR wvC πNS)
M = C L R
N = C L S
πL(R × S) = πL(πMR × πNS)
Database System Implementation
∩ bags
πL(σC(R)) = πL(σC(πM(R)))
Database System Implementation
δ(σC(R)) = σC(δ(R))
R(a)={1,1}, S(a)={1}
δ( πa(R(a,b)) ) = πa( δ(R(a,b)) )
R(a,b) = {(1,2), (1,3)}
πname
WHERE
MovieStar s
MovieStar s
Database System Implementation
Database System Implementation


Database System Implementation
S=σa≠1(R)
T(S) = T(R) (V(R,a)-1)/ V(R,a)
C1C2

b R 20 S 50
V(R,b) V(S,b)

R(a,b) wv S(b,c) :

Database System Implementation
V(R,b)=20 V(S,b)=50
V(S,c)=100 V(U,c)=500
T(RwvS)T(U) / max{V(RwvS,c),V(U,c)}
3
Database System Implementation
V(R,b)=20 V(S,b)=50
V(S,c)=100 V(U,c)=500
T(R)T(SwvU) / max{V(R,b),V(SwvU,b)}
V(SwvU,b)=V(S,b)
Database System Implementation

V(R,b1) < V(S,b1) : 1 / V(S,b1)
1 / max{V(R,b1), V(S,b1)}
b2 1 / max{V(R,b2), V(S,b2)}
b1 b2
Database System Implementation
= 1000×2000 / 50×100
V(R,b)=20 V(S,b)=50
V(S,c)=100 V(U,c)=500
T(RwvU) T(S)
= (5,000,000×2,000) / (max{20,50} max{500,100})
= 400,000
S = R1 wv R2 wv R3 wv ... wv Rn
a k R1, R2, R3, ..., Rk
V(R1,a) V(R2,a) V(R3,a) ... V(Rk,a)
1

V(R,a)=100
V(R,c)=200 V(S,c)=100
V(R,a)
R 10S9
60
wv
wv
R
S
T
U


wv
wv
wv
R
S
T
U
wv
wv
R
U
wv
S
T


Database System Implementation


R
S S





wv
wv
wv
R
S
T
U
((S wv T) wv R) wv U
10,000×1,000/(100×1,000)=100







ISBN 0-7167-8162X, Chapter 11
(globally join consistent)


R(Vi)
dangling






1
2
1
1
2
3
1
4
1
1
4
3
2
1
2
2
1
4
2
3
2
πW1 ∪ W2 ∪ ... ∪ Wk(R(V1) wv R(V2) wv ... wv R(Vn))
=R(W1) wv R(W2) wv ... wv R(Wk)
Database System Implementation
= R(a,b) wv πaR(a,c)
={ (1,2,4,8) }
R(a,b)
R(b,c)
R(c,d)
1
2
1
2
1
2
2
4
2
4
2
4
3
6
3
6
3
6
4
8
4
8
4
8
1
2
1
2
2
4
2
4
2
4
3
6
3
6
4
8
4
8
4
8
1
2
2
4
2
4
3
6
4
8
4
8
4
8
R(a,b)
R(b,c)
R(c,d)
1
2
2
4
2
4
3
6
4
8
4
8
R(a,b)
R(b,c)
R(c,d)
1
2
2
4
4
8

V

Full Reducer
hypergraph G{V1}
R(V2) := R(V2) n R(V1)
R(d,e,f) := R(d,e,f) n R(a,d,e)
R(d,e,f) := R(d,e,f) n R(b,d,f)
R(d,e,f) := R(d,e,f) n R(c,e,f)
R(c,e,f) := R(c,e,f) n R(d,e,f)
R(b,d,f) := R(b,d,f) n R(d,e,f)
R(a,d,e) := R(a,d,e) n R(d,e,f)
Acyclic
Acyclic
Full Reducer
dangling
R(V1) := R(V1) n R(V2)
R(Vj) ⊇ πVj (R(V1) wv R(V2) wv ... wv R(Vn))
R(V1) := R(V1)nR(V2) r1 ∈R(V1) r2 ∈R(V2) r1 r2 V1∩V2
r2 ∈πV2(R(V2) wv ... wv R(Vn))
r1 r2 V1∩V2 V1 V2
r1 ∈πV1(R(V1) wv R(V2) wv ... wv R(Vn))
rj∈R(Vj) r ∈R(V2)wv...wvR(Vn) R(V2) := R(V2)nR(V1) r1’∈R(V1)
r V1∩V2
rj ∈πVj (R(V1) wv R(V2) wv ... wv R(Vn))
V1
V2
r1
r2
Vj
rj
r
r1’
ISBN 0-7167-8162X, Chapter 11

bags



{ V1, V2, ..., Vn } Acyclic
X
GYO
W
πd,e,f,g(R(d,e,f)wvR(c,e,f,g))
R(d,e,f)
1
1
1
1
2
2
R(a,d,e)
1
1
1
1
1
2
R(b,d,f)
1
1
1
1
1
2
2
1
1
2
1
2
R(d,e,f,g)
1
1
1
1
1
2
2
1
R(c,e,f,g)
1
1
1
1
2
2
2
1
πd,e,f,g(R(d,e,f,g)wvR(b,d,f))
R(d,e,f,g)wvR(b,d,f)

R(a,d,e)
1
1
1
1
1
2
R(b,d,f)
1
1
1
1
1
2
2
1
1
2
1
2
R(d,e,f,g)
1
1
1
1
1
2
2
1
R(d,e,f,g)
1
1
1
1
1
2
2
1
R(b,d,e,f,g)
1
1
1
1
1
1
1
2
2
1
2
1
1
1
1
2
1
2
2
1
πa,d,e,f,g(R(d,e,f,g)wvR(a,d,e))
πW ∪ (X ∩ (V W))(R(V1) wv R(V2) wv ... wv R(Vn))



X ⊆ U
πx(R(V1) wv R(V2) wv ... wv R(Vn))
Database System Implementation

W X ∩ (V W)
|πX ∩ (V W)(R(V1) wv R(V2) wv ... wv R(Vn))|
|πX (R(V1) wv R(V2) wv ... wv R(Vn))|
Vi (=W)
M
42