ESERCIZIO 1 SCHEMA RELAZIONALE

Похожие документы
Il linguaggio di Interrogazione SQL Esercizi

Esercizi di SQL. R.Gori G.Leoni 1

1. Per ogni film in cui appaiono solo attori nati prima del 1970 restituire il titolo del film.

Compiti d Esame di Basi di Dati e Sistemi Informativi per il CdL in Scienze dei Beni Culturali

Data management a.a Il linguaggio SQL

Basi di Dati Esempi di prove di verifica con soluzioni

Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.

Data Management Software. Il linguaggio SQL. Raggruppamenti. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management Marzo 2004

Esercitazione su SQL

Istruzioni DML di SQL

SQL: definizione schema

Basi di Dati. Esercizi di SQL (2) - Soluzioni

Basi di Dati. Esercitazione SQL. Ing. Paolo Cappellari

Corso di Basi di Dati

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

SQL - Funzioni di gruppo

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

UTENTE (Codice, Nome, Cognome, Indirizzo, Telefono) PRESTITO (Collocazione, CodUtente, DataPrestito, DataRest)

Prova Scritta di Basi di Dati

Compito Basi di Dati. Tempo concesso: 90 minuti 08 Giugno 2006 Nome: Cognome: Matricola:

1) Semplicissimi esercizi introduttivi

Squadra Giocatore Partita Goal Ingresso Ingresso SELECT FROM WHERE AND AND SELECT FROM WHERE AND AND AND AND SELECT FROM WHERE AND AND

Basi di Dati Corso di Laura in Informatica Umanistica

Eserciziario SQL. Costantino, Luca, Santoro, Marchese. 29 aprile Utilizzando le relazioni Comune e Terremoto, risolvete le seguenti query SQL

Esercitazione SQL. Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica

cliente... nuovo cliente trasloco

Interrogazioni complesse. SQL avanzato 1

Appello di BD del Corso di laurea in Informatica del 9/1/2007 Compito e soluzioni

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Modello concettuale dei dati. Paolo Brunasti - UniMiB 1 / 12

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

ESAME di INFORMATICA e ARCHIVIAZIONE

1 Database universitario 1.1 Elenco tabelle PERSONA (ID, is_studente, is_docente, nome, cognome) STUDENTE (matricola, persona references persona(id))

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Interrogazione 1 Trovare nomi e cognomi dei contatti dei clienti di nazionalità italiana.

Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Esame di Sistemi Informativi e Basi di Dati 6 crediti Aprile 2006

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

SQL (STRUCTURED QUERY LANGUAGE)

CAPITOLO 4 ESERCIZI SU SQL

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Data la seguente tabella :

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

SQL IL LINGUAGGIO DI INTERROGAZIONE

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Il linguaggio SQL: viste e tabelle derivate

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Prova scritta. Mercoledì 11 Febbraio Appello di Informatica II - Corso di Laurea in Ottica e Optometria A.A. 2007/2008

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

CONCETTO DI ANNIDAMENTO

Il linguaggio SQL: query innestate

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Esercizi SQL. Dato il seguente schema di una base di dati dove gli attributi che compongono la chiave sono scritti in grassetto

MAX, SUM, AVG, COUNT)

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

SQL come linguaggio di interrogazione. Basi di dati. Interrogazioni SQL. Interpretazione algebrica delle query SQL

Corso di Laboratorio di Basi di Dati

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

COGNOME MATRICOLA. Con vincoli di integrita referenziale: INTERVENTO.CodTecnico à TECNICO.Codice INTERVENTO.MatCaldaia à CALDAIA.

Basi di Dati. S Q L Lezione 5

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

PROGRAMMA DI CLASSE 5AI

Join in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a

OR true null false true true true true null true null null false true null false NOT

Vogliamo creare una anagrafe e poi creare delle query che rispondono a delle domandi. Utilizzando Microsoft Access

Esempio di database relazionale con l utilizzo del prodotto MySQL

Le cose che non vogliamo vedere

2011 Politecnico di Torino 1

Informatica. Sintassi. Interrogazioni in SQL. Significato dell interrogazione. Tabella Impiegato. Basi di dati parte 4 SQL

A.S. 2014/2015- Programma svolto di INFORMATICA ITCG E. Fermi Tivoli classe V C SIA. Programma svolto di. Informatica. classe VC S.I.A a.s.

ESAME di INFORMATICA e ARCHIVIAZIONE

Trovare l aeroporto italiano con il maggior numero di piste

Elaborazione Automatica dei Dati. SQL come Query Language. Enrico Cavalli. Anno Accademico Il linguaggio SQL

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

Interrogazione della base di dati

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

Esame Basi di Dati. 21 Gennaio 2013

RISOLUZIONE APPELLI DI SISTEMI INFORMATIVI

Alessandra Raffaetà. Esercizio

SQL (STRUCTURED QUERY LANGUAGE)

DATABASE PER IL WEB. Programmazione Web 1

Sistemi Informativi Esercitazione di Laboratorio: SQL e Access (1)

Esercizio ER 1. Soluzione ER 1

S.Q.L. Introduzione a Structured Query Language. I.T.C. "V.Emanuele II" - Perugia. Prof.Claudio Maccherani INDICE

Esame di Basi di Dati, SOLUZIONE APPELLO 12/01/2010

Sistemi per la gestione di database: MySQL ( )

Esercizio 4.1. Soluzione:

SQL seconda parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/13

Introduzione a phpmyadmin

Транскрипт:

Esercizi di SQL R.Gori G.Leoni 2 ESERCIZIO 1 SCHEMA RELAZIONALE: ATTORI (CodAttore, Nome, AnnoNascita, Nazionalità); RECITA (CodAttore*, CodFilm*) FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm*, CodSala*, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) Scrivere le interrogazioni SQL che restituiscono le seguenti informazioni: 1- Il nome di tutte le sale di Pisa 2- Il titolo dei film di F. Fellini prodotti dopo il 1960. 3- Il titolo e la durata dei film di fantascienza giapponesi o francesi prodotti dopo il 1990 4- Il titolo dei film di fantascienza giapponesi prodotti dopo il 1990 francesi 5- I titolo dei film dello stesso regista di Casablanca 6- Il titolo ed il genere dei film proiettati il giorno di Natale 2004 7- Il titolo ed il genere dei film proiettati a Napoli il giorno di Natale 2004 8- I nomi delle sale di Napoli in cui il giorno di Natale 2004 è stato proiettato un film con R.Williams 9- Il titolo dei film in cui recita M. Mastroianni S.Loren 10- Il titolo dei film in cui recitano M. Mastroianni e S.Loren 11- Per ogni film in cui recita un attore francese, il titolo del film e il nome dell attore 12- Per ogni film che è stato proiettato a Pisa nel gennaio 2005, il titolo del film e il nome della sala. 13- Il numero di sale di Pisa con più di 60 posti 14- Il numero totale di posti nelle sale di Pisa 15- Per ogni città, il numero di sale 16- Per ogni città, il numero di sale con più di 60 posti 17- Per ogni regista, il numero di film diretti dopo il 1990 18- Per ogni regista, l incasso totale di tutte le proiezioni dei suoi film 19- Per ogni film di S.Spielberg, il titolo del film, il numero totale di proiezioni a Pisa e l incasso totale 20- Per ogni regista e per ogni attore, il numero di film del regista con l attore 21 - Il regista ed il titolo dei film in cui recitano meno di 6 attori 22- Per ogni film prodotto dopo il 2000, il codice, il titolo e l incasso totale di tutte le sue proiezioni 23 - Il numero di attori dei film in cui appaiono solo attori nati prima del 1970 24- Per ogni film di fantascienza, il titolo e l incasso totale di tutte le sue proiezioni 25- Per ogni film di fantascienza il titolo e l incasso totale di tutte le sue proiezioni successive al 1/1/01 26- Per ogni film di fantascienza che non è mai stato proiettato prima del 1/1/01 il titolo e l incasso totale di tutte le sue proiezioni 27- Per ogni sala di Pisa, che nel mese di gennaio 2005 ha incassato più di 20000, il nome della sala e l incasso totale (sempre del mese di gennaio 2005) 28- I titoli dei film che non sono mai stati proiettati a Pisa 29- I titoli dei film che sono stati proiettati solo a Pisa 30- I titoli dei film dei quali non vi è mai stata una proiezione con incasso superiore a 500 31- I titoli dei film le cui proiezioni hanno sempre ottenuto un incasso superiore a 500 32- Il nome degli attori italiani che non hanno mai recitato in film di Fellini 33- Il titolo dei film di Fellini in cui non recitano attori italiani 34- Il titolo dei film senza attori 35- Gli attori che prima del 1960 hanno recitato solo nei film di Fellini 36- Gli attori che hanno recitato in film di Fellini solo prima del 1960

ESERCIZIO 1 - Soluzioni SCHEMA RELAZIONALE: ATTORI (CodAttore, Nome, AnnoNascita, Nazionalità); RECITA (CodAttore*, CodFilm*) FILM (CodFilm, Titolo, AnnoProduzione, Nazionalità, Regista, Genere) PROIEZIONI (CodProiezione, CodFilm*, CodSala*, Incasso, DataProiezione) SALE (CodSala, Posti, Nome, Città) 1- Il nome di tutte le sale di Pisa SELECT s.nome WHERE s.città = 'Pisa' 2- Il titolo dei film di F. Fellini prodotti dopo il 1960. WHERE f.regista = Fellini AND f.annoproduzione > 1960 3- Il titolo e la durata dei film di fantascienza giapponesi o francesi prodotti dopo il 1990, f.durata WHERE f.genere= Fantascienza and ((f.nazionalità= Giapponese or f.nazionalità= Francese ) and f.annoproduzione >1990 4- Il titolo dei film di fantascienza giapponesi prodotti dopo il 1990 francesi WHERE f.genere= Fantascienza and ((f.nazionalità= Giapponese and f.anno>1990) or f.nazionalità= Francese ) 5- I titolo dei film dello stesso regista di Casablanca WHERE f.regista = (SELECT f.regista WHERE f.titolo = Casablanca ) 6- Il titolo ed il genere dei film proiettati il giorno di Natale 2004 SELECT DISTINCT f.titolo, f.genere, Proiezioni p WHERE p DataProiezione =25/12/04 and f.codfilm=p.codfilm 7- Il titolo ed il genere dei film proiettati a Napoli il giorno di Natale 2004 SELECT DISTINCT f.titolo, f.genere, Proiezioni p, Sale s WHERE p.dataproiezione =25/12/04 and s.città= Napoli and f.codfilm=p.codfilm and p.codsala=s.codsala 8- I nomi delle sale di Napoli in cui il giorno di Natale 2004 è stato proiettato un film con R.Williams SELECT DISTINCT s.nome FROM Attori a, Recita r, Film f, Proiezioni p, Sale s WHERE p.dataproiezione =25/12/04 and s.città= Napoli and a.nome = R.Williams and a.codattore = r.codattore and r.codfilm = f.codfilm and f.codfilm=p.codfilm and p.codsala=s.codsala 9- Il titolo dei film in cui recita M. Mastroianni S.Loren SELECT DISTINCT f.titolo, Recita r, Attore a WHERE (a.nome = M.Mastrianni OR a.nome = S.Loren ) AND f.codfilm = r.codfilm

AND r.codattore = a.codattore 10- Il titolo dei film in cui recitano M. Mastroianni e S.Loren, WHERE M.Mastrianni IN (SELECT a.nome FROM Attori A, Recita R WHERE f.codfilm = r.codfilm AND r.codattore = a.codattore) AND S.Loren IN (SELECT a.nome FROM Attori A, Recita R WHERE f.codfilm = r.codfilm AND r.codattore = a.codattore) 11- Per ogni film in cui recita un attore francese, il titolo del film e il nome dell attore, a.nome FROM Attori a, Recita r, Film f WHERE a.codattore = r.codattore and r.codfilm = f.codfilm and a.nazionalità = Francese 12- Per ogni film che è stato proiettato a Pisa nel gennaio 2005, il titolo del film e il nome della sala. SELECT DISTINCT f.titolo, s.nome, Proiezioni p, Sale s WHERE f.codfilm = s.codfilm and p.codsala=s.codsala and s.città = Pisa and p.dataproiezione between 01/01/05 and 31/01/05 13- Il numero di sale di Pisa con più di 60 posti SELECT count(*) WHERE s.città = Pisa and s.posti > 60 14- Il numero totale di posti nelle sale di Pisa SELECT sum(s.posti) WHERE s.città = Pisa 15- Per ogni città, il numero di sale SELECT s.città, count(*) GROUP BY s.città 16- Per ogni città, il numero di sale con più di 60 posti SELECT s.città, count(*) WHERE s.posti > 60 GROUP BY s.città 17- Per ogni regista, il numero di film diretti dopo il 1990 SELECT f.regista, count(*) WHERE f.annoproduzione > 1990 GROUP BY f.regista 18- Per ogni regista, l incasso totale di tutte le proiezioni dei suoi film SELECT f.regista, sum(p.incasso) as IncassoTotale, Proiezioni p WHERE f.codfilm = p.codfilm GROUP BY f.regista 19- Per ogni film di S.Spielberg, il titolo del film, il numero totale di proiezioni a Pisa e l incasso totale (sempre a Pisa), count(*) as NumeroProiezioni, sum(p.incasso) as IncassoTotale, Proiezioni p, Sale s WHERE f.codfilm = p.codfilm and p.codsala=s.codsala

and f.regista = S.Spielberg and s.città = Pisa 20- Per ogni regista e per ogni attore, il numero di film del regista con l attore SELECT f.regista, a.nome, count(*) as NumeroFilm FROM Attori a, Recita r, Film f WHERE a.codattore=r.codattore and rcodfilm = f.codfilm GROUP BY f.regista, a.codattore, a.nome 21 - Il regista ed il titolo dei film in cui recitano meno di 6 attori SELECT f.regista, f.titolo, Recita r WHERE f.codfilm = r.codfilm, f.regista HAVING count(*) < 6 (osserviamo che questa interrogazione non restituisce I film in cui non recita alcun attore) SELECT f.regista, f.titolo WHERE 6 > (SELECT count (*) FROM Recita r WHERE f.codfilm = r.codfilm) 22- Per ogni film prodotto dopo il 2000, il codice, il titolo e l incasso totale di tutte le sue proiezioni SELECT f.codfilm, f.titolo, sum (f.incasso) as IncasssoTotale, Proiezioni p WHERE f.annoproduzione > 2000 and f.codfilm = p.codfilm 23 Il numero di attori dei film in cui appaiono solo attori nati prima del 1970, count(*) as NumeroAttori FROM Attori a, Recita r, Film f WHERE a.codattore=r.codattore and r.codfilm = f.codfilm HAVING max(a.annonascita) < 1970 24- Per ogni film di fantascienza, il titolo e l incasso totale di tutte le sue proiezioni, sum(p.incasso) as IncassoTotale, Proiezioni p WHERE f.genere= Fantascienza and f..codfilm = p.codfilm 25- Per ogni film di fantascienza il titolo e l incasso totale di tutte le sue proiezioni successive al 1/1/01, sum(p.incasso) as IncassoTotale, Proiezioni p WHERE f.genere= Fantascienza and f..codfilm = p.codfilm and p.data > 1/1/01 26- Per ogni film di fantascienza che non è mai stato proiettato prima del 1/1/01 il titolo e l incasso totale di tutte le sue proiezioni, sum(p.incasso) as IncassoTotale, Proiezioni p WHERE f.genere= Fantascienza and f..codf=p.codf HAVING min(p.data) > = 1/1/01 27- Per ogni sala di Pisa, che nel mese di gennaio 2005 ha incassato più di 20000, il nome della sala e l incasso totale (sempre del mese di gennaio 2005) SELECT s.nome, sum(p.incasso) FROM Sala s, Proiezioni p WHERE p.codsala=s.codsala and s.citta = 'Pisa' and p.dataproiezione between 1/1/05 and 31/1/05 GROUP BY s.codsala, s.nome

HAVING sum(p.incasso) > 20.000 28- I titoli dei film che non sono mai stati proiettati a Pisa WHERE not exists (SELECT * FROM Proiezioni p, Sala s WHERE s.città= Pisa and f.codfilm=p.codfilm and p.codsala =s.codsala) WHERE Pisa not in (SELECT s.città FROM Proiezioni p, Sala s WHERE f.codfilm = p.codfilm and p.codsala =s.cods) 29- I titoli dei film che sono stati proiettati solo a Pisa WHERE not exists (SELECT * FROM Proiezioni, Sala WHERE Città< > Pisa and f.codfilm = p.codfilm and p.codsala = s.codsala) WHERE Pisa = All (SELECT s.città FROM Proiezioni, Sala WHERE f.codfilm = p.codfilm and p.codsala = s.codsala) 30- I titoli dei film che non hanno mai avuto una proiezione con incasso superiore a 500 FROM Proiezioni WHERE Incasso > 500 and f.codfilm = p.codfilm) WHERE 500 > = All (SELECT p.incasso FROM Proiezioni p WHERE f.codfilm =p.codfilm) 31- I titoli dei film le cui proiezioni hanno sempre ottenuto un incasso superiore a 500 FROM Proiezioni WHERE Incasso < = 500 and f.codf=p.codf) WHERE 500 < = (SELECT min(p.incasso) FROM Proiezioni p WHERE f.codfilm = p.codfilm) 32- Il nome degli attori italiani che non hanno mai recitato in film di Fellini SELECT a.nome FROM Attori a WHERE a.nazionalità = Italiana and Not Exists (SELECT *, Recita r WHERE f.codfilm = r.codfilm and r.codattore = a.codattore and f.regista = Fellini )

33- Il titolo dei film di Fellini in cui non recitano attori italiani WHERE f.regista = Fellini and Not Exists (SELECT * FROM Attori a, Recita r WHERE f.codfilm = r.codfilm and r.codattore = a.codattore and a.nazionalità = Italiana ) 34- Il titolo dei film senza attori FROM Recita r WHERE f.codfilm = r.codfilm) 35- Gli attori che prima del 1960 (AnnoProduzione < 1960) hanno recitato solo nei film di Fellini SELECT a.nome FROM Attori a, Recita r WHERE f.codfilm = r.codfilm and r.codattore = a.codattore and f.annoproduzione < 1960 and f.regista < > Fellini ) 36- Gli attori che hanno recitato in film di Fellini solo prima del 1960 SELECT a.nome FROM Attori a, Recita r WHERE f.codfilm = r.codfilm and r.codattore = a.codattore and f.annoproduzione > 1960 and f.regista = Fellini )