A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE
Esercizio 1 Scrivere una istruzione in SQL che permetta di creare una tabella di nome fotografia che sia composta dai seguenti campi: 1. fotoid (Valore numerico) Deve essere la chiave primaria della tabella 2. nome_fotografo (Stringa di lunghezza massima pari a 30 caratteri) Il campo deve essere non nullo 3. data_scatto (Data) 4. fotocamera (Stringa di lunghezza massima pari a 50 caratteri) 5. descrizione (Stringa di lunghezza massima pari a 50 caratteri) Il campo deve essere non nullo 1/2 CREATE TABLE fotografia ( fotoid INT PRIMARY KEY, nome_fotografo VARCHAR(30) NOT NULL, data_scatto DATE, fotocamera VARCHAR(50), descrizione VARCHAR(50) NOT NULL )
Esercizio 1 Scrivere una istruzione in SQL che permetta di creare una tabella di nome fotografia che sia composta dai seguenti campi: 1. fotoid (Valore numerico) Deve essere la chiave primaria della tabella 2. nome_fotografo (Stringa di lunghezza massima pari a 30 caratteri) Il campo deve essere non nullo 3. data_scatto (Data) 4. fotocamera (Stringa di lunghezza massima pari a 50 caratteri) 5. descrizione (Stringa di lunghezza massima pari a 50 caratteri) Il campo deve essere non nullo 2/2 CREATE TABLE fotografia ( fotoid FLOAT PRIMARY KEY, nome_fotografo VARCHAR(30) NOT NULL, data_scatto DATE, fotocamera VARCHAR(50), descrizione VARCHAR(50) NOT NULL )
Esercizio 2 Rappresentare la tabella dell Esercizio 1, mediante il modello E-R [Schema E-R] fotoid fotografia nome_fotografo data_scatto fotocamera descrizione
Esercizio 3 Scrivere una istruzione in SQL che permetta l inserimento di un record, nella tabella fotografia NOTA: I dati da inserire nei relativi campi sono a piacere INSERT INTO nome_tabella ( fotoid, nome_fotografo, data_scatto, fotocamera, descrizione, ) VALUES ( 10, Mario Rossi, 2017/12/20, Nikon, Albero di Natale )
Tabella fotografia Esercizio 4 Si supponga di avere la seguente tabella (definita secondo la modalità esposta dall Esercizio 1) in un database: fotoid nome_fotografo data_scatto fotocamera descrizione 24 Mario 2017/10/20 Canon Foto Panoramica 25 Giovanni 2017/10/25 Nikon Dettaglio Palazzo 10 Pasquale 2017/11/05 Sony Foto Mare 40 Alberto 2017/11/05 Canon Foto Lago Scrivere una istruzione SQL che permetta di modificare il nome del fotografo da Mario a Dario, per la foto identificata dall identificativo che ha valore 24 UPDATE fotografia SET nome_fotografo = Dario WHERE fotoid = 24
Esercizio 5 Supponendo di avere la tabella, riportata nell Esercizio 4, scrivere una istruzione SQL che cancelli tutti i record ove le foto sono state scattate con una fotocamera Canon DELETE FROM fotografia WHERE fotocamera = Canon Esercizio 6 Supponendo di avere la tabella, riportata nell Esercizio 4, scrivere una istruzione SQL che interroghi il database e restituisca come risultato tutti i record nella tabella fotografia, in cui le foto sono state scattate con una fotocamera Canon e sono state scattate dal fotografo di nome Alberto. Il risultato della interrogazione deve contenere esclusivamente le informazioni sulla descrizione SELECT descrizione FROM fotografia WHERE fotocamera = Canon AND nome_fotografo = Alberto
Esercizio 7 Supponendo di avere la tabella, riportata nell Esercizio 4, scrivere una istruzione SQL che interroghi il database e restituisca come risultato tutti i record nella tabella fotografia, in cui nella descrizione è contenuta la stringa Dettaglio. Il risultato della interrogazione deve contenere esclusivamente le seguenti informazioni: fotoid e nome_fotografo SELECT fotoid, nome_fotografo FROM fotografia WHERE descrizione LIKE %Dettaglio% Esercizio 8 Supponendo di avere la tabella, riportata nell Esercizio 4, scrivere una istruzione SQL che interroghi il database e restituisca come risultato tutti i record nella tabella fotografia, in cui il nome del fotografo risulta essere non nullo. Il risultato della interrogazione deve contenere esclusivamente le seguenti informazioni: fotoid SELECT fotoid FROM fotografia WHERE nome_fotografo IS NOT NULL
Esercizio 9 Supponendo di avere la tabella, riportata nell Esercizio 4, scrivere una istruzione SQL che interroghi il database e restituisca come risultato tutti i record nella tabella fotografia, in cui la descrizione inizia con la stringa Foto. Il risultato della interrogazione deve contenere tutte le informazioni della tabella SELECT * FROM fotografia WHERE descrizione LIKE Foto%