Esercitazione 2

Commenti

Transcript

Esercitazione 2
Sistemi Informativi – Laboratorio guidato
SQL
Mercoledì 13 ottobre 2004
e
Access
1 – Interrogazioni sulla base di dati “cia.mdb”
La base di dati è costituita da una singola relazione di nome CIA con 265 tuple. La
relazione ha cinque attributi, e cioè:
1.
2.
3.
4.
5.
name (nome della nazione)
region (macroregione di appartenenza)
area (misurata in chilometri quadrati)
population (numero di abitanti)
gdp (Gross Domestic Product = Prodotto Interno Lordo)
Si ricorda che la struttura di una interrogazione SQL è la seguente:
SELECT <target-list>
FROM <table-name>
WHERE condizione
Nella target list si usa * (asterisco) per selezionare tutti gli attributi delle tavole specificate
nella clausola FROM.
La condizione è una espressione booleana che ogni tupla deve soddisfare per essere
inclusa nel risultato.
Possono essere usati gli operatori AND, OR, NOT, >, >=, =, <, <= e l'operatore LIKE, che
permette di comparare una stringa con caratteri jolly
1.1 – Interrogazioni semplici con SELECT, FROM e WHERE
1.1.1 La densità di popolazione in Francia
106.22664204
1.1.2 Il nome e le densità di popolazione dei paesi molto grandi
Si consideri molto grande un paese con un'area maggiore di cinque milioni di chilometri
quadrati.
Australia
Brazil
Canada
China
Russia
United States
2.3835811808
18.883711222
2.8502552089
125.36233015
8.7793460105
28.147339108
1.1.3 In quali regioni si trovano paesi piccoli ma ricchi?
Si consideri piccolo un paese la cui area è minore di 2000 chilometri quadrati. Si consideri ricco
un paese il cui PIL è maggiore di cinque miliardi di dollari.
1
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
Bahrain Middle East
Hong Kong Southeast Asia
Mali Africa
Mauritius World
Singapore Southeast Asia
1.1.4 Quale di questi è il nome corretto della nazione? Sri Lanka o Ceylon? Persia o Iran?
Iran
Sri Lanka
1.1.5 Quali sono i paesi il cui nome comincia per D?
Nota: in Access i caratteri jolly sono diversi rispetto allo standard SQL:
?
Qualsiasi carattere singolo
*
Zero o più caratteri
#
Qualsiasi cifra singola (0 – 9)
[elencocar]
Qualsiasi carattere singolo contenuto in elencocar
[!elencocar]
Qualsiasi carattere singolo non contenuto in elencocar
Denmark
Djibouti
Dominica
Dominican
Republic
1.1.6 Trovare i nomi e i PIL delle Nazioni molto popolose
Si consideri molto popolosa una nazione con più di 200 milioni di abitanti
China
India
Indonesia
United States
2978800000000.
1253900000000.
619400000000.0
6738400000000.
1.1.7 Trovare i nomi e il PIL pro capite per le nazioni molto popolose
Si consideri molto popolosa una nazione con più di 200 milioni di abitanti.
Si noti che Access richiede che le stringhe contenenti spazi siano chiuse tra parentesi quadre per
essere interpretate correttamente. Es.: [pil pro capite]
China
India
Indonesia
United States
2475.9427378
1338.8560464
3042.4805015
25542.234939
1.1.8 Mostrare i nomi e le popolazioni (in milioni) per le nazioni sudamericane
Argentina
Bolivia
34.292742
7.896254
2
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
Brazil
160.737489
Chile
14.161216
Colombia
36.200251
Ecuador
10.89095
FalklandIslands (Islas 0.002317
French Guiana
0.14527
Guyana
0.723774
Paraguay
5.358198
Peru
24.087372
Suriname
0.429544
Uruguay
3.222716
Venezuela
21.004773
1.1.9 Mostrare le nazioni in cui nome è formato da almeno cinque parole
French Southern and Antarctic Lands
Heard Island and McDonald Islands
Macedonia, The Former Yugoslav Republic of
Saint Vincent and the Grenadines
South Georgia and the South Sandwich Islands
1.1.10 Mostrare il PIL pro capite di Francia, Germania e Italia
France
Germany
Italy
18587.430891
17853.994803
17144.973934
1.1.11 Quali paesi hanno la parola 'United' nel nome?
United Arab Emirates
United Kingdom
United States
1.2 – Interrogazioni ordinate e senza ripetizioni
1.2.1 Mostra i paesi popolosissimi ordinati per popolazione
Si consideri popolosissimo un paese con più di cento milioni di abitanti
China
India
United States
Indonesia
Brazil
Russia
Pakistan
Bangladesh
Japan
Nigeria
1203097268
936545814
263814032
203583886
160737489
149909089
131541920
128094948
125506492
101232251
3
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
1.2.2 Elenca tutte le regioni
Africa
Antarctic Region
Arctic Region
Asia
Central America and the Caribbean
Commonwealth of Independent States-Central Asian States
Commonwealth of Independent States - European States
Ethnic Groups in Eastern Europe, Europe
Europe
Middle East
North America
Oceania
South America
Southeast Asia
World
4
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
2 – Interrogazioni sulla base di dati “movie.mdb”
Tutte le interrogazioni che abbiamo provato finora in laboratorio avevano come oggetto la relazione
"cia" della base di dati "cia.mdb". Ora consideriamo una base di dati più complessa, in cui
partecipano diverse relazioni.
Si apra la base di dati "movie.mdb", contenente la relazione "film" (titoli di film), "attori" (gli attori
dei film stessi), e "cast" (la corrispondenza tra gli attori e i film).
In ogni film partecipano diversi attori, e ogni attore partecipa in diversi film. Gli attributi delle tre
relazioni sono i seguenti:
film
Attributo
id_film
titolo
anno
punteggio
Tipo
INTEGER
CHAR(70)
DECIMAL(4)
FLOAT
voti
INTEGER
Note
un identificatore unico arbitrario
Il nome del film
Anno di produzione
Media dei voti (gli utenti di Internet hanno votato i film con un
voto tra zero e dieci)
il numero dei votanti
attori
Attributo
id_attore
nome
Tipo
INTEGER
CHAR(36)
Note
un identificatore unico arbitrario
Il nome dell'attore o dell'attrice
cast
Attributo
id_film
id_attore
ord
Tipo
INTEGER
INTEGER
INTEGER
Note
riferimento al film
riferimento all'attore
la posizione dell'attore nel casting: il protagonista è il numero 1, il
coprotagonista il numero 2, gli altri seguono
Sono inclusi solo i film che hanno avuto almeno 200 voti. Le liste degli attori sono state
semplificate eliminando gli attori che hanno partecipato in un solo film (per questo motivo i valori
dell'attributo "ord" potrebbero non essere consecutivi per lo stesso film). I film "nuovi" (cioè quelli
del 1997, il database è un po’ datato) e quelli in lingua inglese sono predominanti. I registi non sono
stati inclusi.
2.1 – Interrogazioni semplici con SELECT, FROM e WHERE
2.1.1 Mostrare tutti i film che hanno avuto almeno 5000 voti
Star Wars
Pulp Fiction
Blade Runner
Titanic
Braveheart
Empire Strikes Back, The
5
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
Shawshank Redemption, The
Independence Day
Usual Suspects, The
Raiders of the Lost Ark
2001: A Space Odyssey
Forrest Gump
Aliens
Silence of the Lambs, The
Princess Bride, The
Terminator 2: Judgment Day
Casablanca
Monty Python and the Holy Grail
Star Trek: First Contact
Fargo
Twelve Monkeys
Trainspotting
Godfather, The
Se7en
Back to the Future
2.1.2 In quale anno fu fatto "Citizen Kane"?
1941
2.1.3 Mostrare titoli e media dei voti dei film della serie "Scuola di polizia"
Police Academy
Police Academy 2: Their First Assignment
Police Academy 4: Citizens on Patrol
Police Academy 5: Assignment: Miami Beach
Police Academy 3: Back in Training
Police Academy 6: City Under Siege
5.3
4.1
3.4
2.9
3.6
2.9
2.1.4 Mostrare titoli e punteggi dei film contenenti la parola 'cane' nel titolo
Si cerchi contemporaneamente sia con la minuscola (dog) che con la maiuscola (Dog).
Reservoir Dogs
Truth About Cats and Dogs, The
Dog Day Afternoon
Wag the Dog
Boy and His Dog, A
Mad Dog and Glory
Straw Dogs
8.3
7.5
7.9
7.5
6.8
6.5
7.9
2.1.5 Quali sono i titoli dei film con id_film 1, 2 e 3?
1 Star Wars
2 Pulp Fiction
6
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
3 Blade Runner
2.1.6 Chi sono gli attori con id_attore 1555, 3272, 5653?
1555
3272
5653
Clint Eastwood
Harrison Ford
Marilyn Monroe
2.1.7 Qual'è l'id_film del film 'Casablanca'?
17
Casablanca
2.2 – Interrogazioni con più relazioni
2.2.1 Qual'è il cast di Star Wars?
Alec Guinness
Angus MacInnes
Anthony Daniels
Carrie Fisher
David Prowse
Denis Lawson
Don Henderson (II)
Garrick Hagon
Harrison Ford
Jack Purvis
Jeremy Sinden
Kenny Baker (I)
Leslie Schofield
Mark Hamill
Peter Mayhew (II)
Peter Cushing
Richard Le Parmentier
Shelagh Fraser
William Hootkins
2.2.2 Qual'è il cast di 'Alien' in ordine alfabetico inverso?
Yaphet Kotto
Veronica Cartwright
Tom Skerritt
Sigourney Weaver
John Hurt
Ian Holm
Helen Horton
Harry Dean Stanton
7
Sistemi Informativi – Laboratorio guidato
Mercoledì 13 ottobre 2004
2.2.3 In quali film ha recitato Harrison Ford?
Star Wars
Blade Runner
Empire Strikes Back, The
Raiders of the Lost Ark
Apocalypse Now
Indiana Jones and the Last Crusade
Indiana Jones and the Temple of Doom
Witness
Air Force One
American Graffiti
Patriot Games
Working Girl
Sabrina
Presumed Innocent
Devil's Own, The
Conversation, The
Frantic
Mosquito Coast, The
Regarding Henry
Force 10 from Navarone
2.2.4 In quali film ha recitato Harrison Ford ma non come protagonista?
Star Wars
Empire Strikes Back, The
Apocalypse Now
American Graffiti
Conversation, The
Force 10 from Navarone
2.2.5 Quali film e con quali protagonisti sono stati fatti nel 1962?
Lawrence of Arabia
To Kill a Mockingbird
Dr. No
Manchurian Candidate, The
Lolita
Longest Day, The
Man Who Shot Liberty Valance, The
Music Man, The
Peter O'Toole
Gregory Peck
Sean Connery
Frank Sinatra
James Mason
Eddie Albert
James Stewart
Robert Preston
8