Reference no: EM13380157
Consider the following schema of an online flight reservation agency.
Customer(cid, lastName, firstName, dob)
Flight(fid, airline, fromCity, toCity, stops, onTime)
Reservation(cid, fid, date)
Attribute dob is the customer's date of birth, stops is the number of stops (0-??) a flight requires, and onTime is a percentage (0-100) indicating how often a flight is on time. Keys are underlined.
The set {lastName, firstName, dob} is also a key for Customer. However, the set {airline, fromCity, toCity, stops, onTime} is not a key for Flight since an airline may provide, say, di_erent flights with two stops from Bu_alo to Orlando, one stopping in Atlanta and one in New York, both of which are always on time. Attributes cid and fid in Reservation are foreign keys referencing homonymous attributes in Customer and Flight, respectively. Write Relational Algebra queries only that find (each 6 marks, except last two which weight 8 marks - total 52 marks):
1. cid's of customers who reserved some flight to Boston and some flight to New York.
2. cid's of customers who reserved some flight to Miami or some flight to Houston, but not both.
3. cid's of customers who never reserved AirTran flights or flights to Houston.
4. cid's of customers who reserved every flight that is on time at least 85% of the time.
5. cid's of customers who reserved every flight that the customer with cid=5 reserved.
6. cid's of customers who reserved at least three distinct JetBlue flights to Miami.
7. Pairs of cid's of distinct customers who reserved the same flight and the first in the pair reserved before the second.
8. Pairs of cid's of distinct customers who reserved all the same flights. If (c1, c2) is returned, do not return (c2, c1).