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
Using relational algebra expression to answer below queries
1. Find the names of sailors who have reserved boat 103
Sid Sname Ratin Age
g
22 Dustin 7 45.0
31 Lubber 8 55.5
74 Horatio 9 35.0
π[Link](σ[Link]=[Link] AND([Link]= “103”))
2. Find the names of sailors who have reserved a red boat
Sid Sname Ratin Age
g
22 Dustin 7 45.0
31 Lubber 8 55.5
64 Horatio 7 35.0
π[Link](σ[Link]= “Red” AND ([Link]=[Link] ) AND ([Link]=[Link])
3. Find the colors of boats reserved by Lubber.
Bid Bname Color
102 Interlake Red
103 Clipper Green
π[Link](σ[Link]=“Lubber” AND ([Link]=[Link] )AND([Link]=[Link]))
4. Find the names of sailors who have reserved at least one boat.
Sid Sname Ratin Age
g
74 Horatio 9 35.0
π[Link](σ[Link]=[Link])
5. Find the names of sailors who have reserved a red or a green boat
Sid Sname Ratin Age
g
22 Dustin 7 45.0
31 Lubber 8 55.5
64 Horatio 7 35.0
74 Horatio 9 35.0
π[Link](σ[Link]=“Red”OR [Link]=“Green”AND([Link]=[Link])AND([Link]=[Link]))
6. Find the names of sailors who have reserved a red and a green boat
Sid Sname Ratin Age
g
22 Dustin 7 45.0
31 Lubber 8 55.5
π[Link](σ[Link]= “Red”AND [Link]= “Green”AND([Link]=[Link])AND([Link]=[Link]))
7. Find the sids of sailors with age over 20 who have not reserved a red boat
Sid Sname Ratin Age
g
29 Brutus 1 33.0
32 Andy 8 25.5
58 Rusty 10 35.0
74 Horatio 9 35.0
85 Art 3 25.5
95 Bob 3 63.5
π[Link](σ[Link]>20 AND ([Link]! = “Red”) AND ([Link]=[Link]) AND ([Link]=[Link]))
8. Find the names of sailors who have reserved all boats
Sid Sname Ratin Age
g
22 Dustin 7 45.0
π[Link](σCOUNT(DISTINCT [Link])=COUNT(DISTINCT [Link])AND([Link]=[Link]) AND ([Link]=[Link]))
9. Find the names of sailors who have reserved all boats called Interlake
Sid Sname Ratin Age
g
22 Dustin 7 45.0
64 Horatio 7 35.0
π[Link](σCOUNT ([Link]) = COUNT(DISTINCT [Link]) AND ([Link]=Reserves.)AND ([Link]=[Link]))
10. Find the names of sailors who have reserved at least two boats
π[Link](σCOUNT ([Link]) >=2 AND ([Link]=[Link])AND ([Link]=[Link]))