CS 4432query processing - lecture 131 CS4432: Database Systems II Lecture #13 Query Processing Professor Elke A. Rundensteiner.

Slides:



Advertisements
Similar presentations
พีชคณิตแบบสัมพันธ์ (Relational Algebra) บทที่ 3 อ. ดร. ชุรี เตชะวุฒิ CS (204)321 ระบบฐานข้อมูล 1 (Database System I)
Advertisements

CS CS4432: Database Systems II Logical Plan Rewriting.
Lecture 07: Relational Algebra
Relational Algebra Ch. 7.4 – 7.6 John Ortiz. Lecture 4Relational Algebra2 Relational Query Languages  Query languages: allow manipulation and retrieval.
CS4432: Database Systems II Query Operator & Algebraic Expressions 1.
INFS614, Fall 08 1 Relational Algebra Lecture 4. INFS614, Fall 08 2 Relational Query Languages v Query languages: Allow manipulation and retrieval of.
Relational Algebra – Basis for Relational Query Languages Based on presentation by Juliana Freire.
By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental.
CMPT 454, Simon Fraser University, Fall 2009, Martin Ester 183 Database Systems II Query Compiler.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Oct 28, 2003Murali Mani Relational Algebra B term 2004: lecture 10, 11.
CS 4432query processing - lecture 141 CS4432: Database Systems II Lecture #14 Query Processing – Size Estimation Professor Elke A. Rundensteiner.
By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental.
CS Spring 2002Notes 61 CS 277: Database System Implementation Notes 6: Query Processing Arthur Keller.
CS 4432query processing1 CS4432: Database Systems II.
CS 4432logical query rewriting - lecture 151 CS4432: Database Systems II Lecture #15 Logical Query Rewriting Professor Elke A. Rundensteiner.
1 Lecture 07: Relational Algebra. 2 Outline Relational Algebra (Section 6.1)
16.2 ALGEBRAIC LAWS FOR IMPROVING QUERY PLANS Ramya Karri ID: 206.
Cs3431 Relational Algebra : #I Based on Chapter 2.4 & 5.1.
Query Processing & Optimization
Rutgers University Relational Algebra 198:541 Rutgers University.
Nov 18, 2003Murali Mani Relational Algebra B term 2004: lecture 10, 11.
CS 4432query processing - lecture 121 CS4432: Database Systems II Lecture #12 Query Processing Professor Elke A. Rundensteiner.
Murali Mani Relational Algebra. Murali Mani What is Relational Algebra? Defines operations (data retrieval) for relational model SQL’s DML (Data Manipulation.
CPS216: Advanced Database Systems Notes 03:Query Processing (Overview, contd.) Shivnath Babu.
Advanced Database Systems Notes:Query Processing (Overview) Shivnath Babu.
DBMS 2001Notes 6: Query Compilation1 Principles of Database Management Systems 6: Query Compilation and Optimization Pekka Kilpeläinen (partially based.
CPS216: Advanced Database Systems Notes 02:Query Processing (Overview) Shivnath Babu.
CPS216: Advanced Database Systems Notes 08:Query Optimization (Plan Space, Query Rewrites) Shivnath Babu.
CS 245Notes 61 CS 245: Database System Principles Notes 6: Query Processing Hector Garcia-Molina.
CS 245Notes 61 CS 245: Database System Principles Notes 6: Query Processing Hector Garcia-Molina.
CPS216: Data-Intensive Computing Systems Introduction to Query Processing Shivnath Babu.
CS 4432query processing1 CS4432: Database Systems II Lecture #11 Professor Elke A. Rundensteiner.
1.1 CAS CS 460/660 Introduction to Database Systems Relational Algebra.
From Relational Algebra to SQL CS 157B Enrique Tang.
1 Relational Algebra Chapter 4, Sections 4.1 – 4.2.
Chapters 15-16a1 (Slides by Hector Garcia-Molina, Chapters 15 and 16: Query Processing.
Database Management Systems, R. Ramakrishnan1 Relational Algebra Module 3, Lecture 1.
Relational Algebra Instructor: Mohamed Eltabakh 1 Part II.
1 CS 430 Database Theory Winter 2005 Lecture 5: Relational Algebra.
CMPT 258 Database Systems Relational Algebra (Chapter 4)
CS 245Notes 61 CS 245: Database System Principles Notes 6: Query Processing Hector Garcia-Molina.
Data Engineering SQL Query Processing Shivnath Babu.
Query Processing – Implementing Set Operations and Joins Chap. 19.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Relational Algebra Chapter 4, Part A.
CS4432: Database Systems II Query Processing- Part 1 1.
CPS216: Advanced Database Systems Notes 02:Query Processing (Overview) Shivnath Babu.
1 Ullman et al. : Database System Principles Notes 6: Query Processing.
1/14/2005Yan Huang - CSCI5330 Database Implementation – Query Optimization Query Optimization.
Advanced Database Systems: DBS CB, 2nd Edition
CS4432: Database Systems II
CS257 Query Optimization.
Relational Algebra Chapter 4 1.
CS 245: Database System Principles
Relational Algebra Chapter 4, Part A
Relational Algebra 461 The slides for this text are organized into chapters. This lecture covers relational algebra, from Chapter 4. The relational calculus.
Relational Algebra 1.
Relational Algebra Chapter 4 1.
Relational Algebra : #I
CS 3630 Database Design and Implementation
Focus: Relational System
Relational Algebra Chapter 4, Sections 4.1 – 4.2
CS 245: Database System Principles
Algebraic Laws.
Lecture 33: The Relational Model 2
CPS216: Data-Intensive Computing Systems Query Processing (contd.)
Yan Huang - CSCI5330 Database Implementation – Query Processing
CPS216: Advanced Database Systems Notes 03:Query Processing (Overview, contd.) Shivnath Babu.
CPS216: Data-Intensive Computing Systems Query Processing (Overview)
Presentation transcript:

CS 4432query processing - lecture 131 CS4432: Database Systems II Lecture #13 Query Processing Professor Elke A. Rundensteiner

CS 4432query processing - lecture 132 Query in SQL  Query Plan in Algebra (logical)  Other Query Plan in Algebra (logical)

CS 4432query processing - lecture 133 Query plan 1 (in relational algebra)  B,D  R.A =“c”  S.E=2  R.C=S.C  X RS

CS 4432query processing - lecture 134 Query plan 2 (in relational algebra)  B,D  R.A = “c”  S.E = 2 R S natural join

CS 4432query processing - lecture 135 Relational algebra optimization What are transformation rules ? –preserve equivalence What are good transformations? –reduce query execution costs

CS 4432query processing - lecture 136 Rules: Natural joins & cross products & union R S=SR (R S) T= R (S T)

CS 4432query processing - lecture 137 Note: Carry attribute names in results, so order is not important Can also write as trees, e.g.: T R R SS T

CS 4432query processing - lecture 138 R x S = S x R (R x S) x T = R x (S x T) R U S = S U R R U (S U T) = (R U S) U T Rules: Natural joins & cross products & union R S=SR (R S) T= R (S T)

CS 4432query processing - lecture 139 Rules: Selects  p1  p2 (R) =  p1vp2 (R) =  p1 [  p2 (R)] [  p1 (R)] U [  p2 (R)]

CS 4432query processing - lecture 1310 Bags vs. Sets R = {a,a,b,b,b,c} S = {b,b,c,c,d} RUS = ? Option 1 SUM RUS = {a,a,b,b,b,b,b,c,c,c,d} Option 2 MAX RUS = {a,a,b,b,b,c,c,d}

CS 4432query processing - lecture 1311 Option 2 (MAX) makes this rule work:  p1vp2 (R) =  p1 (R) U  p2 (R) Example: R={a,a,b,b,b,c} P1 satisfied by a,b; P2 satisfied by b,c  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}

CS 4432query processing - lecture 1312 “Sum” option makes more sense: Senators (……)Rep (……) T1 =  yr,state Senators; T2 =  yr,state Reps T1 Yr State T2 Yr State 97 CA 99 CA 99 CA 99 CA 98 AZ 98 CA Union?

CS 4432query processing - lecture 1313 Executive Decision -> Use “SUM” option for bag unions -> Some rules cannot be used for bags

CS 4432query processing - lecture 1314 Rules: Project Let: X = set of attributes Y = set of attributes XY = X U Y  xy (R) =  x [  y (R)]

CS 4432query processing - lecture 1315 Let p = predicate with only R attribs q = predicate with only S attribs m = predicate with only R,S attribs  p (R S) =  q (R S) = Rules:  combined [  p (R)] S R [  q (S)]

CS 4432query processing - lecture 1316 Some Rules can be Derived:  p  q (R S) =  p  q  m (R S) =  pvq (R S) = Rules:  combined (continued)

CS 4432query processing - lecture 1317 Do one, others for homework:  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) ]

CS 4432query processing - lecture > Derivation for first one:  p  q (R S) =  p [  q (R S) ] =  p [ R  q (S) ] = [  p (R)] [  q (S)]

CS 4432query processing - lecture 1319 Rules:  combined Let x = subset of R attributes z = attributes in predicate P (subset of R attributes)  x [  p ( R ) ] =  {  p [  x ( R ) ] } x x  xz

CS 4432query processing - lecture 1320 Rules:  combined Let x = subset of R attributes y = subset of S attributes z = intersection of R,S attributes  xy (R S) =  xy { [  xz ( R ) ] [  yz ( S ) ] }

CS 4432query processing - lecture 1321  xy {  p (R S) } =  xy {  p [  xz’ (R)  yz’ (S)] } z’ = z U { attributes used in P }

CS 4432query processing - lecture 1322 Rules for    combined with X similar... e.g.,  p (R X S) = ?

CS 4432query processing - lecture 1323  p (R U S) =  p (R) U  p (S)  p (R - S) =  p (R) - S =  p (R) -  p (S) Rules   U  combined:

CS 4432query processing - lecture 1324  p1  p2 (R)   p1 [  p2 (R)]  p (R S)  [  p (R)] S R S  S R  x [  p (R)]   x {  p [  xz (R)] } Which are “good” transformations?

CS 4432query processing - lecture 1325 Conventional wisdom: do projects early Example: R(A,B,C,D,E) x={E} P: (A=3)  (B=“cat”)  x {  p (R)} vs.  E {  p {  ABE (R)} }

CS 4432query processing - lecture 1326 What if we have A, B indexes? B = “cat” A=3 Intersect pointers to get pointers to matching tuples But

CS 4432query processing - lecture 1327 Bottom line: No transformation is always good Usually good: early selections

CS 4432query processing - lecture 1328 In textbook: more transformations Eliminate common sub-expressions Other operations, such as, duplicate elimination and others.