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