Uploaded by Khôi Phạm Đăng

Lab1-DBI202

advertisement
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
22
29
31
32
58
64
71
74
85
95
Sname
Dustin
Brutus
Lubber
Andy
Rusty
Horatio
Zorba
Horatio
Art
Bob
Rating
7
1
8
8
10
7
10
9
3
3
Age
45.0
33.0
55.5
25.5
35.0
35.0
16.0
35.0
25.5
63.5
Sid
22
22
22
22
31
31
31
64
64
74
Sailors
Bid
101
102
103
104
102
103
104
101
102
103
Day
10/10/08
10/10/08
10/08/08
10/07/08
11/10/08
11/06/08
11/12/08
9/05/08
9/08/08
9/08/08
Bid
101
102
103
104
Bname
Interlake
Interlake
Clipper
Marine
Boats
Reserves
Using relational algebra expression to answer below queries:
1. Find the names of sailors who have reserved boat 103.
πSname(σBid=103(Sailors⋈Reserves))
2. Find the names of sailors who have reserved a red boat.
πSname(σColor=”Red”(Boats)⋈((Sailors⋈Reserves))
3. Find the colors of boats reserved by Lubber.
πColor(σSname=”Lubber”(Sailors)⋈(Boats⋈Reserves))
4. Find the names of sailors who have reserved at least one 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))
Color
Blue
Red
Green
Red
8. Find the names of sailors who have reserved all boats.
πSname(σsid=101(Sailors⋈Reserves)) ∩ πSname(σsid=102(Sailors⋈Reserves))∩
πSname(σsid=103(Sailors⋈Reserves)) ∩ πSname(σsid=104(Sailors⋈Reserves)
9. Find the names of sailors who have reserved all boats called Interlake.
πSname(σsid=101(Sailors⋈Reserves))∩ πSname(σsid=102(Sailors⋈Reserves))
10.Find the names of sailors who have reserved at least two boats.
πSname(σsid=101(Sailors⋈Reserves)) ∩ πSname(σsid=102(Sailors⋈Reserves))∩
πSname(σsid=103(Sailors⋈Reserves)) ∩ πSname(σsid=104(Sailors⋈Reserves)
Download