Lab 1
Lab 1
LAB 1
Giving a database schema:
- Sailors(sid: integer, sname: string, rating: integer, age:real)
- Boats(bid:integer , bname: string, color: string)
- Reserves(sid: integer, bid: integer , day: date )
Sid Sname Ratin Age Sid Bid Day Bid Bname Color
g 22 101 10/10/08 101 Interlake Blue
22 Dustin 7 45.0 22 102 10/10/08 102 Interlake Red
29 Brutus 1 33.0 22 103 10/08/08 103 Clipper Green
31 Lubber 8 55.5 22 104 10/07/08 104 Marine Red
32 Andy 8 25.5 31 102 11/10/08
58 Rusty 10 35.0 Boats
31 103 11/06/08
64 Horatio 7 35.0 31 104 11/12/08
71 Zorba 10 16.0 64 101 9/05/08
74 Horatio 9 35.0 64 102 9/08/08
85 Art 3 25.5 74 103 9/08/08
95 Bob 3 63.5
Sailors Reserves
πSname(σBid=103 (Sailors▷◁Reserves)).
2. Find the names of sailors who have reserved a red boat
πSname (Sailors▷◁Reserves)
5. Find the names of sailors who have reserved a red or a green boat
πSname(σColor=’Red’ or Color=’Green’
(Boats)▷◁(Sailors▷◁Reserves))
6. Find the names of sailors who have reserved a red and a green boat
πSname(σColor=’Red’(Boats)▷◁(Sailors▷◁Reserves))
∩
πSname (σColor= Green (Boats)▷◁(Sailors▷◁Reserves))
’ ’
7. Find the sids of sailors with age over 20 who have not reserved a red boat
πSid(σAge>20(Sailors))-πSid(σColor=’Red’(Boats)▷◁Reserves)
8. Find the names of sailors who have reserved all boats
10. Find the names of sailors who have reserved at least two boats
πSname (σReserves.Sid=Reserves.Sid^Reserves.Bid≠Reserves2.Bid
(Boats×PReserves2 (Reserves))▷◁Sailors)