Corso di Laurea in Ingegneria dell'Informazione (Sede di LT) - SAPIENZA Università di Roma

Corso di Basi di Dati ed Ingegneria del Software - A.A. 2016/2017

Esercitazione Autoguidata su SQL

OBIETTIVI DELL'ESERCITAZIONE:

Utilizzare l'interprete di comandi mysql (client) per accedere al DBMS MySQL 5 (server) per:

INSTALLAZIONE CLIENT E CONNESSIONE

Operate come indicato nella precedente esercitazione. Se la cartella basi_di_dati è già presente sul desktop della macchina che state utilizzando non è necessario ricrearla

Operate come indicato al punto 1 della precedente esercitazione. Per questa esercitazione create la base dati db2_studi, sostituendo ad i il numero assegnatovi per questa esercitazione.

2. CREARE LE TABELLE

Si consideri la tabella PERSONE, contenente i seguenti attributi

e la tabella GENITORI, contenente i seguenti attributi

(Figlio,Genitore) è chiave primaria. Inoltre, ogni figlio è una persona ed ogni genitore è una persona. Si forniscano le istruzioni SQL per creare le due tabelle.

Per scrivere le istruzioni SQL, utilizzate un qualsiasi editor di testo. Una volta scritto il codice salvatelo su un file, ad esempio persone.sql, e ponetelo nella cartella corrispondente alla posizione da cui avete lanciato mysql (per questa esercitazione, la cartella 'basi_di_dati' creata sul desktop del PC che state usando)  e richiamate lo script cosÏ creato da mysql  tramite il comando 

mysql> source persone.sql

Se il file non si trova direttamente nella cartella indicata, sostituite il nome del file con il path relativo.

3. POPOLARE LA BASE DATI

Per popolare la base di dati, copiate il file eser2SQL-db.sql nell'unità C, ed eseguite il comando

source eser2SQL-db.sql

4. EFFETTUARE INTERROGAZIONI CON OPERATORI AGGREGATI E GROUP BY

Fornite le interrogazioni SQL per rispondere alle seguenti domande. 

  1. Trovare il numero di luoghi di residenza distinti;
  2. Trovare il minimo, il massimo, la somma e la media dei redditi di persone raggruppate per residenza;
  3. Trovare il reddito medio dei padri per città di residenza;
  4. Trovare il minimo, il massimo, la somma e la media dei redditi delle donne residenti a Milano;

Per verificare la correttezza delle proprie soluzioni, confrontate i risultati ottenuti con quelli contenuti nel file eser2SQL-4-ris.txt

5. EFFETTUARE INTERROGAZIONI CON ANNIDAMENTO

Fornite le interrogazioni SQL per rispondere alle seguenti domande. 

  1. Trovare le persone con l'età massima;
  2. Trovare i padri con il maggior numero di figli (si utilizzi l'attributo ordFiglio);
  3. Trovare le persone che hanno almeno un figlio con l'età più piccola fra le età dei figli;
  4. Trovare l'elenco ordinato dei genitori i cui figli guadagnano tutti più di 20;
  5. Trovare le persone che non hanno figli.

Per verificare la correttezza delle proprie soluzioni, confrontate i risultati ottenuti con quelli contenuti nel file eser2SQL-5-ris.txt


Soluzioni