Pizza Queries Solutions
Pizza Queries Solutions
Pizza dataset
Solutions
Setup
Person ( name, age, gender )
Frequents ( name, pizzeria )
Eats ( name, pizza )
Serves ( pizzeria, pizza, price )
πname(
σgender='female' AND (pizza='mushroom' OR pizza='pepperoni')(Person⋈Eats)
)
Person ( name, age, gender )
Frequents ( name, pizzeria )
Eats ( name, pizza )
Serves ( pizzeria, pizza, price )
Explanation
πname(Person) on the next
page
−
πname(Frequents − πname,pizzeria(Eats⋈Serves))
17. Find the names of all people who frequent only
pizzerias serving at least one pizza they eat.
−
πname(πname,pizzeria(Eats⋈Serves)−Frequents)
18. Find the names of all people who frequent every pizzeria
serving at least one pizza they eat.
1. List of all pizzerias per person which serve at least one pizza
this person can eat:
πname,pizzeria(Eats⋈Serves)
1. Finds all pizzerias where price for pepperoni pizza is greater than in
some other pizzeria
σprice>price2(
πpizzeria,price(σpizza='pepperoni'Serves)
×
ρpizzeria2,price2[πpizzeria,price(σpizza='pepperoni'Serves)]
)
πpizzeria(σpizza='pepperoni'Serves)
−
π pizzeria [σprice>price2(
πpizzeria,price(σpizza='pepperoni'Serves)
×
ρpizzeria2,price2πpizzeria,price(σpizza='pepperoni'Serves))]