Esercizio DBMS & SQL 01 - CANZONI OPERAZIONI SULLA STRUTTURA 1. Crea un nuovo database a cui darai come nome CANZONI. 2. All interno del Database crea una tabella e salvala con il nome Canzoni, con i campi di seguito indicati, assegnando i giusti formati ad ognuno di essi (testo, numeri, date, ecc.) e assegnando le dimensioni adeguate ad ogni campo. I campi da creare sono i seguenti: Artista Titolo CD Titolo Brano Durata 1 Posizione 2 3. Definisci i seguenti vincoli di integrità: Artista + [Titolo Brano] è la chiave primaria Durata è un numero maggiore di 0. Posizione è un numero compreso tra 1 e 30 4. Inserisci i seguenti record nella tabella: Artista Titolo CD Titolo Brano Durata Posizione Barry White The Ultimate Collection Let The Music Play 208 3 Carole King Tapestry Tapestry 201 11 Cat Stevens Greatest Hits Wild World 199 1 Norah Jones Come Away With Me Nightingale 252 12 Norah Jones Feels Like Home Sunrise 200 1 5. Basandoti sulla Tabella Canzoni, crea una maschera e salvala con il nome Maschera Canzoni e inserisci il seguente record usando la maschera per l inserimento dei dati: Artista Titolo CD Titolo Brano Durata Posizione Barry White The Ultimate Collection Come on 346 8 6. Basandoti sulla Tabella Canzoni, genera un Report e salvalo con il nome Report Canzoni 1 Espressa in secondi 2 Posizione del brano nel CD
INTERROGAZIONI IN SQL (punteggio minimo: 2 su 4) 1. Utilizzando SQL crea la seguente query e salvala con il nome Query 01 Tutti i brani di Norah Jones, in modo da ottenere la seguente tabella: Artista Titolo CD Titolo Brano Durata Posizione Norah Jones Come Away With Me Nightingale 252 12 Norah Jones Feels Like Home Sunrise 200 1 2. Utilizzando SQL crea la seguente query e salvala con il nome Query 02: Artista, Titolo CD, Titolo Brano e Durata dei brani che durano al massimo 200 secondi. La tabella deve essere ordinata in base al campo Titolo brano, in modo da ottenere la seguente tabella: Artista Titolo CD Titolo Brano Durata Norah Jones Feels Like Home Sunrise 200 Cat Stevens Greatest Hits Wild World 199 3. Utilizzando SQL crea la seguente query e salvala con il nome Query 03: Durata e titolo dei brani che sono nelle posizioni da 3 a 8 dell artista Barry White, in modo da ottenere la seguente tabella: Durata Titolo Brano 346 Come on 208 Let The Music Play 4. Utilizzando SQL crea la seguente query e salvala con il nome Query 04 Titolo CD, Artista, Titolo Brano, e durata dei brani a) di Norah Jones oppure di Carole King che b) durano più di 200 secondi, in modo da ottenere la seguente tabella: Titolo CD Artista Titolo Brano Durata Tapestry Carole King Tapestry 201 Come Away With Me Norah Jones Nightingale 252
Esercizio DBMS & SQL 02 - CD OPERAZIONI SULLA STRUTTURA 1. Crea un nuovo database a cui darai come nome CD 2. All interno del Database crea una tabella e salvala con il nome CD, con i campi di seguito indicati, assegnando i giusti formati ad ognuno di essi (testo, numeri, date, ecc.) e assegnando le dimensioni adeguate ad ogni campo. I campi da creare sono i seguenti: Artista Titolo CD Data Acquisto Sito Web 1 Brani 3. Definisci i seguenti vincoli di integrità: Artista + [Titolo CD] è la chiave primaria Brani è il numero di brani ed è un numero compreso tra 1 e 60 Data Acquisto deve essere successiva al 31/12/2003. 4. Inserisci i seguenti record nella tabella: Vasco Rossi Platinum Collection 30/03/2008 http://www.vascorossi.net/ 50 Gianna Nannini Gianna Best 15/06/2010 http://www.giannanannini.com/ 29 Lucio Battisti Battisti-Panella. Il cofanetto 20/10/2009 http://www.celeste.it/battisti/ 40 Francesco Guccini Storia di altre storie 10/12/2010 http://www.francescoguccini.it/ 31 Pino Daniele Platinum Collection 30/03/2008 http://www.pinodaniele.com/ 37 Edoardo Bennato Quartetto d archi 30/09/2011 http://www.bennato.net/ 16 5. Basandoti sulla Tabella CD, crea una maschera e salvala con il nome Maschera CD e Inserisci il seguente record usando la maschera per l inserimento dei dati: Lucio Battisti Le avventure di Battisti e Mogol 20/12/2008 http://www.celeste.it/battisti/ 50 6. Basandoti sulla Tabella CD, genera un Report e salvalo con il nome Report CD 1 Link al sito internet dell artista
INTERROGAZIONI IN SQL 1. Utilizzando SQL crea la seguente query e salvala con il nome Query 01: Elenco, senza ripetizione, di tutti gli artisti di cui si possiede almeno un CD 1, in modo da ottenere la seguente tabella: Artista Edoardo Bennato Francesco Guccini Gianna Nannini Lucio Battisti Pino Daniele Vasco Rossi 2. Utilizzando SQL crea la seguente query e salvala con il nome Query 02 Tutti i dati presenti nella tabella, ordinati per titolo CD, in modo da ottenere la seguente tabella: Lucio Battisti Battisti-Panella. Il cofanetto 20/10/2009 http://www.celeste.it/battisti/ 40 Gianna Nannini Gianna Best 15/06/2010 http://www.giannanannini.com/ 29 Lucio Battisti Le avventure di Battisti e Mogol 20/12/2008 http://www.celeste.it/battisti/ 50 Pino Daniele Platinum Collection 30/03/2008 http://www.pinodaniele.com/ 37 Vasco Rossi Platinum Collection 30/03/2008 http://www.vascorossi.net/ 50 Edoardo Bennato Quartetto d archi 30/09/2011 http://www.bennato.net/ 16 Francesco Guccini Storia di altre storie 10/12/2010 http://www.francescoguccini.it/ 31 3. Utilizzando SQL crea la seguente query e salvala con il nome Query 03: Tutti i CD acquistati dopo il 31/12/2009 2, in modo da ottenere la seguente tabella: Gianna Nannini Gianna Best 15/06/2010 http://www.giannanannini.com/ 29 Francesco Guccini Storia di altre storie 10/12/2010 http://www.francescoguccini.it/ 31 Edoardo Bennato Quartetto d archi 30/09/2011 http://www.bennato.net/ 16 3. Utilizzando SQL crea la seguente query e salvala con il nome Query 04: Titolo Cd, Nome dell artista e numero dei brani dei CD il cui titolo comincia con la lettera P, in modo da ottenere la seguente tabella: Titolo CD Artista Brani Platinum Collection Vasco Rossi 50 Platinum Collection Pino Daniele 37 5. Utilizzando SQL crea la seguente query e salvala con il nome Query 05: Tutti i CD acquistati tra il 20/12/2008 e il 15/06/2010 che a) sono di Gianna Nannini oppure che b) presentano almeno 50 brani, indipendentemente dall artista, in modo da ottenere la seguente tabella: Gianna Nannini Gianna Best 15/06/2010 http://www.giannanannini.com/ 29 Lucio Battisti Le avventure di Battisti e Mogol 20/12/2008 http://www.celeste.it/battisti/ 50 1 Il comando SELECT DISTINCT di SQL serve ad estrarre una sola volta ogni diversa occorenza di un valore all'interno di un dato campo 2 È necessario racchiudere i valori di tipo data tra caratteri # in modo che Access sia in grado di distinguerli dalle stringhe di testo
Esercizio DBMS & SQL 03 - STUDENTI OPERAZIONI SULLA STRUTTURA 4. Crea un nuovo database a cui darai come nome STUDENTI. 5. All interno del Database crea due tabelle e salvale con i nomi Studenti e Esami, con i campi di seguito indicati, assegnando i giusti formati ad ognuno di essi (testo, numeri, date, ecc.) e assegnando le dimensioni adeguate ad ogni campo. I campi da creare sono i seguenti: STUDENTI: Matricola Nome Studente Anno Iscrizione 1 2. Definisci i seguenti vincoli di integrità: [Matricola] [Matricola] + [Nome corso] Anno Iscrizione Data esame Voto 3. Inserisci i seguenti record nelle tabelle: ESAMI Matricola Nome Corso Data Esame Voto 2 chiave primaria di STUDENTI chiave primaria di ESAMI Numero intero compreso tra il 1990 e il 2012. Data compresa tra il 1/10/1990 e il 31/12/2012 Numero intero compreso tra 0 e 31 Matricola Nome Corso Data Esame Voto 123/654321 Geometria 10/07/2005 26 123/654321 Fisica I 14/06/2006 25 123/654321 Sistemi Operativi 16/07/2006 31 123/123456 Ricerca Operativa 15/06/2007 30 123/654321 Basi di Dati 16/09/2007 27 123/123456 Basi di Dati 16/09/2007 31 123/654321 Analisi I 12/06/2009 20 123/345123 Algebra 10/07/2010 24 123/345123 Sistemi Operativi 12/06/2011 28 123/123456 Sistemi Operativi 14/06/2011 27 Studenti Matricola Nome Studente Anno Iscrizione 123/123456 Luigi Rossi 2000 123/345123 Marco Bianchi 2004 123/545432 Luigi Rossi 2008 123/654321 Franco Verdi 2009 4. Basandoti sulla Tabella Studenti crea una maschera e salvala con il nome Maschera Studenti 5. Basandoti sulla Tabella Esami, genera un Report e salvalo con il nome Report Esami 1 Anno solare della iscrizione al primo anno (es: 2006) 2 30 e Lode va codificato come 31.
INTERROGAZIONI IN SQL 1. Utilizzando SQL crea la seguente query e salvala dandole come nome Query 01: Tutti gli esami superati dopo il 31/12/2009 e il cui voto è almeno 27, in modo da ottenere la seguente tabella: Matricola Nome Corso Data Esame Voto 123/123456 Sistemi Operativi 14/06/2011 27 123/345123 Sistemi Operativi 12/06/2011 28 2. Utilizzando SQL crea la seguente query e salvala dandole come nome Query 02: Nome dello studente, matricola, nome corso, Voto e Data degli esami superati di Basi di Dati o Sistemi Operativi, in modo da ottenere la seguente tabella: Nome studente matricola nome corso Voto Data Esame Luigi Rossi 123/123456 Basi di Dati 31 16/09/2007 Franco Verdi 123/654321 Basi di Dati 27 16/09/2007 Luigi Rossi 123/123456 Sistemi Operativi 27 14/06/2011 Marco Bianchi 123/345123 Sistemi Operativi 28 12/06/2011 Franco Verdi 123/654321 Sistemi Operativi 31 16/07/2006 3. Utilizzando SQL crea la seguente query e salvala dandole come nome Query 03: Numero totale di esami e voto medio complessivo di tutti gli esami di Sistemi operativi sostenuti dopo il 1/1/2011, in modo da ottenere la seguente tabella (i campi si dovranno chiamare Numero esami e Voto medio ): Numero esami Voto medio 2 27,5 4. Utilizzando SQL crea la seguente query e salvala dandole come nome Query 04: Nome Studente, Matricola, nome corso e Voto degli studenti che hanno superato un qualsiasi esame con il voto minimo pari a 28, in modo da ottenere la seguente tabella: Nome studente Matricola Nome corso Voto Luigi Rossi 123/123456 Basi di Dati 31 Luigi Rossi 123/123456 Ricerca Operativa 30 Marco Bianchi 123/345123 Sistemi Operativi 28 Franco Verdi 123/654321 Sistemi Operativi 31
Esercizio DBMS & SQL 04 - CALCIATORI OPERAZIONI SULLA STRUTTURA 1. Crea un nuovo database a cui darai come nome il tuo cognome e nome (senza spazi e accenti). 2. All interno del Database crea una tabella e salvala con il nome Calciatori, con i campi di seguito indicati, assegnando i giusti formati ad ognuno di essi (testo, numeri, date, ecc.) e assegnando le dimensioni adeguate ad ogni campo. I campi da creare sono i seguenti: Atleta Squadra Partite Giocate Minuti Giocati Reti Voto medio 3. Definisci i seguenti vincoli di integrità: Atleta+Squadra è la chiave primaria. Partite Giocate è un numero compreso tra 0 e 7 Minuti Giocati è un numero compreso tra 0 e 750 (tempi supplementari inclusi) Reti è un numero maggiore o uguale a zero Voto medio è un numero reale (con 2 cifre decimali) compreso tra 0 e 10 4. Inserisci i seguenti record nella tabella Atleta Squadra Partite Giocate Minuti giocati Reti Voto medio Adriano Brasile 4 266 2 5,50 Del Piero Italia 5 169 1 5,99 Klose Germania 7 586 5 6.30 Ronaldo Portogallo 6 484 1 6,33 Totti Italia 7 467 1 6,86 Zidane Francia 6 560 3 5,88 5. Basandoti sulla Tabella Calciatori, crea una maschera, salvala con il nome Maschera Calciatori ed inserisci il seguente record usando la maschera per l inserimento dei dati: Atleta Squadra Partite Giocate Minuti giocati Reti Voto medio Ronaldo Brasile 5 411 2 6,00 6. Basandoti sulla Tabella Calciatori, genera un Report e salvalo con il nome Report Calciatori
INTERROGAZIONI IN SQL 1. Utilizzando SQL crea la seguente query e salvala con il nome Query 01: Tutti i Calciatori del Brasile che hanno giocato almeno 5 partite, in modo da ottenere la seguente tabella: Atleta Squadra Partite Giocate Minuti Giocati Reti Voto Medio Ronaldo Brasile 5 411 2 6 2. Utilizzando SQL crea la seguente query e salvala con il nome Query 02: Tutti i calciatori che a) hanno giocato nel Brasile o nell Italia e che b) hanno giocato almeno 5 partite oppure hanno un voto medio di almeno 6.00, in modo da ottenere la seguente tabella: Atleta Squadra Partite Giocate Minuti Giocati Reti Voto Medio Del Piero Italia 5 169 1 5,99 Totti Italia 7 467 1 6,86 Ronaldo Brasile 5 411 2 6 3. Utilizzando SQL crea la seguente query e salvala con il nome Query 03: Il numero totale di calciatori, Il numero medio di partite giocate e Il voto medio dei calciatori che hanno giocato almeno 5 partite e che hanno un voto medio compreso tra 6.0 e 6.5, in modo da ottenere la seguente tabella (i campi della tabella risposta dovranno intitolarsi: Numero Calciatori, Media Presenze, Media Voti ): Numero Calciatori Media Presenze Media Voti 3 6 6,21000003814697 4. Utilizzando SQL crea la seguente query e salvala con il nome Query 04: Il numero totale di calciatori per squadra, limitandoti alle squadre con almeno 2 calciatori, in modo da ottenere la seguente tabella (il campo della tabella risposta dovrà intitolarsi: Numero Calciatori per squadra ): Squadra Numero Calciatori per squadra Brasile 2 Italia 2 5. Utilizzando SQL crea la seguente query e salvala con il nome Query 05: Tutti i calciatori che hanno segnato almeno 2 reti, che hanno un voto medio di almeno 6.0, in modo da ottenere la seguente tabella: Atleta Squadra Partite Minuti Giocati Reti Voto Medio Klose Germania Giocate 7 586 5 6,3 Ronaldo Brasile 5 411 2 6