Download presentation
Presentation is loading. Please wait.
1
16.3 Parser to Logical Query Plans
2
16.3.0 Review Query Algebra Expression Tree Query Algebra in SQL Form
(force DBMS follow you) 2
3
Review Expression Tree π starName ,studioName year=1996 Movie StarsIn Query Algebra π starName ,studioName ( year=1996 (Movie StarsIn ))
4
Review SELECT MSN.STARNAME, MSN.STUDIONAME From (Select *
FROM Movies M, starsIn S) MS Where year =1996) MSN
5
Review SELECT STARNAME, STUDIONAME From Movies M, starsIn S
Where year =1996
6
(Select * From Movies where year=2009)M,
Quiz3/12 Convert the SQL into (1) Query Algebra (2) expression Tree Select MS.studioname, MS.starname From (Select M.title, M.year, M.length, M.inColor, M.studioname, M.producerC#, S.Starname (Select * From Movies where year=2009)M, (Select * From starsIn where Movieyear=2009)S where M.year= S.movieyear and S.movietitle=M.title) MS ;
7
16.2.3c Pushing Selections starName ,studioName StarsIn π
Year=movieyear, Name=starname σ year = 1996 σ movieyear = 1996 Movie StarsIn π starName ,studioName (σ year = 1996(Movie StarsIn )= π starName ,studioName (σ year = 1996(Movie) σ year = 1996(StarsIn ))
8
16.1. SQL(not RAE) Figure 16.2 select distinct movietitle from starsIn
where starname in (select name from moviestar where birthdate like '%1974%'); NOTRAE=Relational Algebra NOT Expressible SQL
9
16.3. SQL/RAE of Figure 16.19 select distinct movietitle
from starsIn a, (select name from moviestar where birthdate like '%1974%') temp where a.starname = temp.name; RAE=Relational Algebra Expressible SQL
10
16.3Example16.19 Figure 16.24 starname=name σ movieYear lile ‘%1974’
πmovie title starname=name πname StarsIn σ movieYear lile ‘%1974’ MovieStar This is the RAE SQL
11
16.3. SQL/RAE of Figure 16.19 select movietitle
from (select starname,movietitle From starsIn) a, (select name from moviestar where birthdate like '%1974%') b where a.starname = b.name;
12
16.3Example16.19 Figure 16.24 starname=name σ movieYear lile ‘%1974%’
πmovie title starname=name starame, movie title πname σ movieYear lile ‘%1974%’ StarsIn MovieStar This is the RAE SQL
13
SQL in Figure 16.20 Select distinct m1.movieTitle, m1.movieYear
From StarsIn m1 Where m1.movieYear – 40 <= ( Select AVG(birthdate) From StarsIn m2, Moviestar s Where m2.starName=s.name AND m1.movieTitle = m2.movieTitle AND m1.movieyear = m2.movieyear )P;
14
SQL in Figure 16.22 Select distinct m.movieTitle, m.movieYear
From StarsIn m1, ( Select m2.movieTitle, m2.movieyear, AVG(birthdate) as ave From StarsIn m2, Moviestar s Where m2.starName=s.name Group by m2.movieTitle, m2.movieyear ) m Where m1.movieTitle = m.movieTitle and m1.movieYear – 40 <=ave;
15
SQL in Figure 16.22 Select distinct movieTitle, movieYear From (
Select m1.movieTitle, m1.movieYear,m1.Starname, m.Ave From StarsIn m1, ( Select m2.movieTitle, m2.movieyear, AVG(birthdate) as ave From StarsIn m2, Moviestar s Where m2.starName=s.name Group by m2.movieTitle, m2.movieyear ) m Where m1.movieTitle = m.movieTitle and m1.movieYear-40 <=m.ave)P;
16
m2,starname=s.name m1.movieYear -40 abd
π m1.movieYear m1.movieYear m1.movieYear -40 abd m2.movietitle=m1.movietitle and m2.movietitle=m1.movietitle γm2.movieTitle, m2.movieyear,AVG(birthDate)ave StarsIn m2,starname=s.name StaesIn MovieStar
17
m2,starname=s.name m1.movieYear -40 abd
π m1.movieYear m1.movieYear m1.movieYear -40 abd m2.movietitle=m1.movietitle and m2.movietitle=m1.movietitle π m1.movieYear,m1.movieYear γm2.movieTitle, m2.movieyear,AVG(birthDate)ave StarsIn m2,starname=s.name StaesIn MovieStar
18
m2,starname=s.name m1.movieYear -40 abd
π m1.movieYear m1.movieYear m1.movieYear -40 abd γm2.movieTitle, m2.movieyear,AVG(birthDate)ave m2,starname=s.name MovieStar StaesIn
19
m2,starname=s.name m1.movieYear -40 abd
π m1.movietitle m1.movieYear m1.movieYear -40 abd γm2.movieTitle, m2.movieyear,AVG(birthDate)ave m2,starname=s.name m1.movietitle m1.movieYear m1.movietitle m1.movieYear StaesIn MovieStar
20
Lecture on Whiteboard Will be on EXAM2 Select PNAME, Sum (QTY)
From Parts natural join Shipments Group by PNAME; Red part has to be written in Select **** from **** where *****
21
Lecture on Whiteboard pname ,SUM(qty) -->sum (Natural Join)
Shipments Parts pname ,SUM(qty) -->sum (Shipment Parts)
22
General Groupby Select F.PNAME, Sum (F.QTY) as sum
From ( Select PNAME, QTY FROM ( SELECT PNUM,PNAME From Parts) natural join ( Select PNUM, QTY From Shipments) incorrect )F Group by F.pname; When two reds are the same THIS SQL is Gamma
23
General Groupby Select F.PNAME, Sum (F.QTY) as sum
From ( Select PNAME, QTY FROM ( Select LL From (SELECT PNUM,PNAME From Parts) A, ( Select PNUM, QTY From Shipments) B where A.PNUM= B.PNUM )F Group by F.pname;
24
pname ,SUM(qty) -->sum
pname. qty (Natural join) π pnum,qty π pnum, pname Shipments Parts
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.