You are on page 1of 25











• name addr license
Great 363 Main St., 41-437844098
• American Bar SD, CA 92390
• Beer Paradise 6450 Mango 41-973428319
Drive, SD, CA
Bars(name, addr, license) 92130
Beers(name, manf) Have a Good 8236 Adams 32-032263401
Time Avenue, SD,
Sells(bar, beer, price) CA 92116
Drinkers(name, addr, phone)
Frequents(drinker, bar)
Likes(drinker, beer)

Select manf=‘Heineken’ (Beers)
SELECT name Output attribute(s)

FROM Beers Table(s) to use


Project(name)
WHERE manf = ‘Heineken’ name

Heineken Lager
The condition(s) to satisfy Beer
Strings like ‘Heineken’ are case- Amstel Lager
sensitive and are put in quotes
Amstel Light


name addr license
• Great 363 Main St., 41-437844098
• American Bar SD, CA 92390
• Beer Paradise 6450 Mango 41-973428319
• Drive, SD, CA
92130
• Have a Good 8236 Adams 32-032263401
Time Avenue, SD,
CA 92116


• AND


name manf name manf name manf


A… Gambrinus C… MillerCoors H… Heineken
A… Heineken C… MillerCoors H… Pabst
… …
… …

B… Anheuser- D… Duvel H… Anheuser-
Busch Moortgat Busch
Machine 1 Machine 2 Machine 5
name manf name manf name manf SELECT * pattern
A… Gambrinus C… MillerCoors H… Heineken FROM Beers
A… Heineken C… MillerCoors H… Pabst WHERE name like ‘Am%’
… …
… …

SELECT name
B… Anheuser- D… Duvel H… Anheuser- FROM Beers
Busch Moortgat Busch
WHERE manf = ‘Heineken’
Machine 1 Machine 2 Machine 5



name manf name manf name manf SELECT *
A… Gambrinus C… MillerCoors H… Heineken FROM Beers
A… Heineken C… MillerCoors H… Pabst WHERE name like ‘Am%’
… …
… …

B… Anheuser- D… Duvel H… Anheuser-
Busch Moortgat Busch
Machine 1 Machine 2 Machine 5




name manf name manf name manf SELECT name
A… Gambrinus C… MillerCoors H… Heineken FROM Beers
A… Heineken C… MillerCoors H… Pabst WHERE manf = ‘Heineken’
… …
… …

B… Anheuser- D… Duvel H… Anheuser-
Busch Moortgat Busch
Machine 1 Machine 2 Machine 5

Broadcast query
In each machine in parallel:
Select manf=‘Heineken’ (Beers)
Project(name)
Gather Partial Results
Union
Return
• manf

RecordIDs

MillerCoors 34, 35, 87, 129, …

• Duvel Moortgat
Heineken
5, 298, 943, 994,…
631, 683, 882,…
• … …

• manf machineIDs
• … …
• MillerCoors 10
• Duvel Moortgat 3, 4
Heineken 1, 3, 5
… …

Frequents(drinker, bar)
• Likes(drinker, beer)






Frequents(drinker, bar)
Likes(drinker, beer)
SELECT DISTINCT beer
FROM Likes L, Frequents F
• WHERE bar = ‘The Great American Bar’
AND F.drinker = L.drinker
bar = ‘The Great American Bar’

No intermediate storage

R(drinker, beer)
Frequents(drinker, bar)
Likes(drinker, beer)



• Project

• Ship

• Reduce
Site1 Drinkers Site2
Output of Selection Joe
on Frequents Sally Likes
Drinkers Bars Pete Ship(1) Drinkers Beer
projection
Joe TGAB
Sally Bud
Sally BP
Pete HGAT Sam Miller
Pete BP Jeff Coors

reduce

Sally Bud
Ship(3) Likes’
Ship(2)
J
Site1 Drinkers Site2
Output of Selection Joe
on Frequents Sally Likes
Drinkers Bars Pete Ship(1) Drinkers Beer
projection
Joe TGAB
Sally Bud
Sally BP
Pete HGAT Sam Miller
Pete BP Jeff Coors
Ship(3)
reduce
reduce
Sally BP
R’
Sally Bud Likes’
Ship(5)
Ship(4)
J


1.
2.
The price at
which TGAB
sells Bud

• Beers(name, manf)
SELECT * Likes(drinker, beer)
FROM Beers
WHERE name NOT IN
( SELECT beer
FROM Likes
WHERE drinker = ’Fred’);
Bar Beer Price
• HGAT Bud 5
BP Michelob 4
TGAB Heineken 6
HGAT Guinness 10
• SELECT AVG (DISTINCT price)
• FROM Sells
5 WHERE beer = ‘Bud’
• 3
• 4 4.24.2a
4
4
• 5



Drinker Bar Price
Pete HGAT 5

• Pete BP 4
Joe TGAB 6
Joe HGAT 5

Drinker Price
Pete 4.5
Joe 5.5
Drinker Bar Price Drinker Bar Price
Pete HGAT 5 Pete HGAT 5 Drinker Price
Pete BP 4 Pete BP 4 Pete 5
Joe TGAB 6 Pete BO 6 Joe 6
John HGAT 5 Joe TGAB 6

Drinker Bar Price Drinker Bar Price


Pete BO 6 John HGAT 5 Drinker Price
John BP 4 John BP 4 John 4.5
Sally TGAB 6 Sally TGAB 6 Sally 5.5
Sally HGAT 5 Sally HGAT 5

You might also like