CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 183
Database Systems II Query Compiler
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 184
Database Systems II Query Compiler CMPT 454, Simon Fraser - - PDF document
Database Systems II Query Compiler CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 183 Introduction The Query Compiler translates an SQL query into a physical query plan, which can be executed, in three steps: The query is parsed
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 183
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 184
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 185
{(P1,C1),(P2,C2)...}
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 186
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 187
B,D R.A=“c” S.E=2 R.C=S.C
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 188
B,D R.A = “c” S.E = 2
R S
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 189
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 190
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 191
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 192
<Query> <SFW> SELECT <SelList> FROM <FromList> WHERE <Condition> <Attribute> <RelName> <Tuple> IN <Query> title StarsIn <Attribute> ( <Query> ) starName <SFW> SELECT <SelList> FROM <FromList> WHERE <Condition> <Attribute> <RelName> <Attribute> LIKE <Pattern> name MovieStar birthDate „%1960‟
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 193
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 194
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 195
c where C is given by <Condition>.
L where L is the list of
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 196
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 197
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 198
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 199
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 200
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 201
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 202
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 203
p1vp2 (R) = p1(R) U p2(R)
p1vp2 (R) = {a,a,b,b,b,c} p1(R) = {a,a,b,b,b} p2(R) = {b,b,b,c} p1 (R) U p2 (R) = {a,a,b,b,b,c} CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 204
p1vp2 (R) = p1(R) U p2(R)
yr,state Senators, T2 = yr,state Reps
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 205
p(R U S) = p(R) U p(S) p(R - S) = p(R) - S = p(R) - p(S) CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 206
p (R S) = q (R S) =
p (R)] S
q (S)]
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 207
p q (R S) = [ p (R)] [ q (S)] p q m (R S) = m[( p R) ( q S)] pvq (R S) =
p R) S] U [R
q S)]
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 208
p q (R S) = p [ q (R S) ] = p [ R q (S) ] =
p (R)] [ q (S)]
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 209
xy (R) =
x [ y (R)]
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 210
x ( pR) =
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 211
xy { p (R S)} = xy { p [ xz (R) yz‟ (S)]}
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 212
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 213
p1 p2 (R) p1 [ p2 (R)] p (R S)
p (R)] S
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 214
x [ p (R)] x { p [ xz (R)]}
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 215
E {
p (R)} vs. E { p{ ABE(R)}} CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 216
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 217
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 218
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 219
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 220
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 221
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 222
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 223
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 224
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 225
A=a (R)
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 226
z val (R)
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 227
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 228
z 15 (R)
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 229
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 230
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 231
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 232
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 233
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 234
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 235
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 236
A=a (R1) ] R2
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 237
A=a (R1)
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 238
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 239
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 240
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 241