Presentation is loading. Please wait.

Presentation is loading. Please wait.

Initial QGM. Q1.CDept=‘mgmt’ And Q1.Grade>=Q2.$1 took Max took Q1 Q2 Q3 SELECT Grade FROM took Q3 WHERE Q3.CName=Q1.CName SELECT Max(Grade) AS Grade FROM.

Similar presentations


Presentation on theme: "Initial QGM. Q1.CDept=‘mgmt’ And Q1.Grade>=Q2.$1 took Max took Q1 Q2 Q3 SELECT Grade FROM took Q3 WHERE Q3.CName=Q1.CName SELECT Max(Grade) AS Grade FROM."— Presentation transcript:

1 Initial QGM

2 Q1.CDept=‘mgmt’ And Q1.Grade>=Q2.$1 took Max took Q1 Q2 Q3 SELECT Grade FROM took Q3 WHERE Q3.CName=Q1.CName SELECT Max(Grade) AS Grade FROM Child Q4 Q4 SELECT Q1.SName FROM took Q1, temp1 Q2 WHERE Q1.CDept = ‘mgmt’ AND Q1.Grade >= Q2.$1 temp1 SName, CName, CDept, Grade CName, Grade

3 Performing Feed for the topmost Box

4 Q1.Grade>=Q2.$1 CDept=‘mgmt’ Max Q1 Q2 supp took distinct Magic_1 SELECT DISTINCT CName FROM supp SELECT MAX (Grade) AS Grade FROM Child SName, CName, CDept, Grade SName, CName, Grade SELECT Q1.SName FROM took Q1, temp1 Q2 WHERE Q1.Grade >= Q2.$1 temp1 Q4 Grade

5 Q1.Grade>=Q2.$1 CDept=‘mgmt’ Max Q1 Q2 supp took distinct Magic_1 DCOBox SELECT Q4.cName, Q5.$1 FROM Magic_1 Q4, temp1 Q5 Q3.CName=Q1.CName CIBox SELECT Q3.Grade FROM DCOBox Q3 WHERE Q3.CName = Q1.CName Q4Q5 Q3 CName SELECT Q1.SName FROM took Q1, CIBox Q2 WHERE Q1.Grade >= Q2.$1 SName, CName, Grade SName, CName, CDept, Grade CName CName, Grade Grade temp1 Q6

6 Can merge the C1Box and the topmost box into one box as every tuple in the topmost box joins with atmost one tuple in the C1Box

7 Q1.Grade>=Q2.Grade Q1.cName=Q2.cName CDept=‘mgmt’ Max Q1 Q2 supp took distinct Magic_1 DCOBox SELECT Q4.cName,Q5.$1 FROM Magic_1 Q4, temp1 Q5 Q4Q5 CName SELECT Q1.sName FROM supp Q1, DCOBox Q2 WHERE Q1.cName=Q2.cName AND Q1.Grade>=Q2.Grade temp1 SName, CName, CDept, Grade SName, CName, Grade CName CName, Grade Grade Q6

8 Starting Point for the Aggregation Box

9 Max distinct Magic_1 DCOBox Q4Q5 Q4.CName=Q3.CName Q3 took CName, Grade SELECT Q4.CName, Q5.$1 AS Grade FROM Magic_1 Q4, temp1 Q5 temp1 CName CName, Grade Q6 SELECT Max(Grade) AS Grade FROM Child Q6 SELECT Grade FROM took Q3 WHERE Q3.CName=Q1.CName Grade

10 Performing Feed for the aggregate Box

11 Max distinct Magic_1 DCOBox Q4Q5 Q1.CName=Q3.CName Q3 took CName, Grade SELECT Q4.CName,Q5.$1 From Magic_1 Q4, temp1 Q5 Q7.cName=Q4.cName CIBox Q7 DCOBox Q8Q9 distinct Magic_2 CName CName, Grade Grade temp1 SELECT Grade FROM DCOBox Q7 WHERE Q7.CName = Q4.CName SELECT Max(Grade) AS Grade FROM Child Q6 Q6 Grade SELECT Grade FROM took Q3 WHERE Q3.CName = Q1.CName SELECT Q8.CName, Q9.Grade FROM Magic_2 Q8, Child Q9

12 Performing Absorb for the aggregate Box – introduce the Group By and the LOJ

13 Max distinct Magic_1 DCOBox Q4Q5 Q1.cName=Q3.cName Q3 took CName, Grade CIBox Q7 DCOBox Q8 Q9 distinct Magic_2 SELECT CName, MAX (Grade) AS Grade FROM Child Q6 GROUPBY Q6.CName Q6 CName CName, Grade Grade CName, Grade SELECT Q4.CName, Q5.Grade FROM Magic_1 Q4 LOJ temp1 Q5 ON CName temp1

14 The LOJ is unnecessary here, and the C1Box is also unnecessary.

15 Max Q1.CName=Q3.CName Q3 took DCOBox Q8Q9 distinct Magic_2 Q6 Q1.Grade>=Q2.Grade Q1.CName=Q2.CName SELECT CName, MAX (Grade) AS Grade FROM Child Q6 GROUPBY Q6.CName CName, Grade Grade CName SELECT Q1.SName FROM supp Q1, temp1 Q2 WHERE Q1.CName = Q2.CName AND Q1.Grade >= Q2.Grade Q2 Q1 temp1

16 Starting Point for the bottommost SPJ Box

17 Q8.CName=Q3.CName Q3 took DCOBox Q8Q9 distinct Magic_2 CName Grade CName, Grade SELECT Grade FROM took Q3 WHERE Q3.CName = Q1.CName SELECT Q8.CName, Q9.Grade FROM Magic_2 Q8, temp2 Q9 temp2

18 Performing Absorb for the SPJ Box

19 Q10.CName=Q3.CName Q3 took DCOBox Q8Q9 distinct Magic_2 Q10 SELECT Q3.CName, Q3.Grade FROM Magic_2 Q10, took Q3 WHERE Q3.CName = Q10.CName SELECT Q9.CName, Q9.Grade FROM temp2 Q9 CName CName, Grade temp2

20 Remove unnecessary DCOBox

21 Q10.cName=Q3.cName Q3 took distinct Magic_2 Q10 CName, Grade CName SELECT Q3.CName, Q3.Grade FROM Magic_2 Q10, took Q3 WHERE Q3.CName = Q10.CName

22 The Final QGM

23 Q10.CName=Q3.CName Q3 took distinct Magic_2 Q10 CName, Grade Max Q6 Q1.Grade>=Q2.Grade Q1.CName=Q2.CName CDept=‘mgmt’ took SELECT Q3.CName, Q3.Grade FROM Magic_2 Q10, took Q3 WHERE Q3.CName = Q10.CName CName, Grade CName SELECT CName, MAX (Grade) AS Grade FROM Child Q6 GROUPBY Q6.CName SName, CName, CDept, Grade SName, CName, Grade CName, Grade SELECT Q1.sName FROM supp Q1, temp1 Q2 WHERE Q1.CName=Q2.CName AND Q1.Grade>=Q2.Grade Q2Q1 temp1


Download ppt "Initial QGM. Q1.CDept=‘mgmt’ And Q1.Grade>=Q2.$1 took Max took Q1 Q2 Q3 SELECT Grade FROM took Q3 WHERE Q3.CName=Q1.CName SELECT Max(Grade) AS Grade FROM."

Similar presentations


Ads by Google