Question: Given the following schema (primary keys are underlined) and SQL query: Hotel ( hotelNo , hotelName, city) Room ( roomNo , hotelNo , type, price)
Given the following schema (primary keys are underlined) and SQL query: Hotel (hotelNo, hotelName, city) Room (roomNo, hotelNo, type, price) Booking (hotelNo, guestNo, dateFrom, dateTo, roomNo) Guest (guestNo, guestName, guestAddress)
SELECT g.guestNo, g.guestName FROM Room r, Booking b, Hotel h, Guest g WHERE h.hotelNo = b.hotelNo AND g.guestNo = b.guestNo AND h.hotelNo = r.hotelNo AND h.hotelName = "Ritz" AND dateFrom >= "Jan 01, 2001" AND dateTo <= "Dec 31, 2001"; a) Draw the initial canonical query tree
b) use heuristic optimization to transform it into the most efficient query tree possible.
Please show all intermediate steps and transformations involved. You can make appropriate assumptions for the database statistics to to support your claim
I've been struggling on these 2 questions for a while, all help is appreciated!
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
