Database HW2 B91902033 廖予銘 資工四 a.

π person−name (σ company name="_ BankFirst nCorporatio " works))( b.

π person− ,cityname (employee>< (σ company name="_ BankFirst nCorporatio " works)))( c.

π person− ,, streetcityname (employee>< (σ company name="_ BankFirst " salaryandnCorporatio >=10000 works)))( d.

π person−name (employee>< works >< company) e.

π person−name ρ employee ,1(( employee >< manages)

><(manager name=− Employee .2 name∧employee .1 street =employee .2 street ∧employee .1 city=employee city).2 ρ employee ,2(( employee))) f.

π person−name (works −σ company name="_ BankFirst nCorporatio " works))( g.

π person−name works)( −π person−name ρ works works),1((

>

π company _ name company π city (/(( σ company name="_ BankSmall nCorporatio "(company)))) i. ρ three works → name 2,11(_( → company ,1 → name 4,23 → company ,2 → name 6,35 → company ),3 works works ×× works)

π person _ name (

σ name name name name ∧=∧= company1()32()21(( ≠company ∧ company2()2 ≠company ∧ company3()3 ≠company ))1 three works))_(

[QUERY a] SELECT T.['s Name] FROM TimeTable T WHERE T.MOVIE=3 AND T.[Character's Name]="" [Results of QUERY a] a

Planet's Name

Endor

Tatooine

[QUERY b] SELECT COUNT(T.[Character's Name]) FROM TimeTable AS T WHERE T.MOVIE=3 AND T.[Planet's Name]="" [Results of QUERY b] b

Expr1000

3

[QUERY c] SELECT C.[Name] FROM TimeTable AS T, Characters C WHERE T.[Character's Name]=C.[Name] AND T.[Movie]=2 AND C.[Homeworld]=T.[Planet's Name] [Results of QUERY c] c

Name

[QUERY d] SELECT T.[Character's Name] FROM TimeTable T, P WHERE T.[Planet's Name]=P.[Name] AND P.[Affiliation]="rebels" [Results of QUERY d] d

Character's Name

C-3 PO d

Character's Name

Chewbacca

Darth Vader

Han Solo

Luke Skywalker

Princess Leia

R2-D2

[QUERY e] SELECT T.[Planet's Name] FROM TimeTable T,Characters C WHERE T.[Character's Name]=C.[Name] AND C.[Race]="" [Results of QUERY e] e

Planet's Name

Bespin

Hoth

Tatooine

Tatooine

Bespin

Dagobah

Dagobah

Endor

Hoth

[QUERY f] SELECT C.Name, P.Name, SUM( T.[Time of Departure] - T.[Time of Arrival] + 1 ) AS amount FROM Characters AS C, TimeTable AS T, Planets AS P WHERE T.[Character's Name]=C.Name AND T.[Planet's Name]=P.Name AND P.[Affiliation]="neutral" GROUP BY C.name,P.name [Results of QUERY f] f C.Name P.Name amount

C-3 PO Bespin 5

C-3 PO Tatooine 6

Chewbacca Bespin 5

Chewbacca Endor 6

Chewbacca Tatooine 6

Darth Vader Bespin 6

Han Solo Bespin 5

Han Solo Endor 6

Han Solo Tatooine 6

Jabba the Tatooine 25

Lando Calrissian Bespin 10

Lando Calrissian Endor 2

Lando Calrissian Tatooine 3

Luke Skywalker Bespin 3

Luke Skywalker Dagobah 7

Luke Skywalker Endor 4

Luke Skywalker Tatooine 5

Obi-Wan Kanobi Tatooine 3

Owen Lars Tatooine 2

Princess Leia Bespin 5

Princess Leia Endor 6

Princess Leia Tatooine 3

R2-D2 Bespin 3

R2-D2 Dagobah 7

R2-D2 Endor 4

Rancor Tatooine 26

Yoda Dagobah 28

[QUERY g] SELECT T.[Movie],C.Name FROM Characters AS C, TimeTable AS T, Planets AS P WHERE ( ( C.Race="Human" AND C.Name=T.[Character's Name] AND P.type="desert" ) OR ( C.Race="Droid" AND P.type="swamp" ) ) AND C.Name=T.[Character's Name] AND P.Name=T.[Planet's Name] ORDER BY T.Movie, C.Name [Results of QUERY g] SimpleQuery

Movie Name

1 Han Solo

1 Luke Skywalker

1 Obi-Wan Kanobi

1 Owen Lars

2 R2-D2

3 Han Solo

3 Lando Calrissian

3 Luke Skywalker

3 Princess Leia

3 R2-D2

[QUERY h] SELECT DISTINCT T1.Movie, T1.[Character's Name] FROM TimeTable AS T1 WHERE NOT EXISTS ( SELECT * FROM TimeTable AS T2 WHERE T1.Movie=T2.Movie AND ( SELECT COUNT( T3.[Planet's name] ) From TimeTable AS T3 WHERE T1.[Character's Name] = T3.[Character's Name] AND T3.Movie = T1.Movie ) < ( SELECT COUNT( T4.[Planet's name] ) From TimeTable AS T4 WHERE T2.[Character's Name] = T4.[Character's Name] AND T4.Movie = T2.Movie ) ) [Results of QUERY h] h

Movie Character's Name

1 Luke Skywalker

2 Luke Skywalker

2 R2-D2

3 Luke Skywalker

[QUERY i] SELECT DISTINCT T1.Movie, T1.[Planet's Name] FROM TimeTable AS T1 WHERE NOT EXISTS ( SELECT * FROM TimeTable AS T2 WHERE T1.Movie=T2.Movie AND ( SELECT COUNT( T3.[Character's name] ) From TimeTable AS T3 WHERE T1.[Planet's Name] = T3.[Planet's Name] AND T3.Movie = T1.Movie ) < ( SELECT COUNT( T4.[Character's name] ) From TimeTable AS T4 WHERE T2.[Planet's Name] = T4.[Planet's Name] AND T4.Movie = T2.Movie ) ) [Results of QUERY i] i

Movie Planet's Name

1 Tatooine

2 Bespin

3 Tatooine

[QUERY j] SELECT Tmp1.[Movie],Tmp1.[Race],Tmp1.[Name] FROM ( SELECT C.[Name], C.[Race],T1.[Movie], SUM( T1.[Time of Departure] - T1.[Time of Arrival] + 1 ) AS amount FROM Characters AS C, TimeTable AS T1 WHERE C.Name = T1.[Character's Name] GROUP BY C.Name, C.[Race], T1.[Movie] ) AS Tmp1 WHERE NOT EXISTS ( SELECT * FROM ( SELECT C.[Name], C.[Race],T1.[Movie], SUM( T1.[Time of Departure] - T1.[Time of Arrival] + 1 ) AS amount FROM Characters AS C, TimeTable AS T1 WHERE C.Name = T1.[Character's Name] GROUP BY C.Name, C.[Race], T1.[Movie] ) AS Tmp2 WHERE Tmp1.[Movie]=Tmp2.[Movie] AND Tmp1.[Race]=Tmp2.[Race] AND Tmp1.[Amount] < Tmp2.[Amount] ) ORDER BY Tmp1.[Movie],Tmp1.[Race] [Results of QUERY j] j

Movie Race Name

1 Droid C-3 PO

1 Human Darth Vader

1 Hutt

1 Rancor Rancor

1 Unknown

1 Wookie Chewbacca

2 Droid R2-D2

2 Human Luke Skywalker

2 Hutt Jabba the Hutt j

Movie Race Name

2 Rancor Rancor

2 Unknown Yoda

2 Wookie Chewbacca

3 Droid R2-D2

3 Human Luke Skywalker

3 Hutt Jabba the Hutt

3 Rancor Rancor

3 Unknown Yoda

3 Wookie Chewbacca

[QUERY k] ( SELECT P1.[Name] FROM Planets AS P1 WHERE P1.[Name] NOT IN ( SELECT T1.[Planet's Name] FROM TimeTable AS T1 WHERE T1.[Movie]=1 ) ) UNION ( SELECT P2.[Name] FROM Planets AS P2 WHERE P2.[Name] NOT IN ( SELECT T2.[Planet's Name] FROM TimeTable AS T2 WHERE T2.[Movie]=2 ) ) [Results of QUERY k] k Name

Alderaan

Bespin

Corellia

Death Star

Endor

Hoth

Kashyyyk

Star Destroyer