SlideShare a Scribd company logo
Esercizio
Dato il seguente schema relazionale:
AUTO(TARGA, MARCA, MODELLO, ANNO_IMMATRICOLAZIONE)
OFFICINA(CODO, DESCRIZIONE, CITTA)
REVISIONE(TARGA, CODO, ANNO, COSTO)
FK: TARGA REFERENCES AUTO
     CODO REFERENCES OFFICINA
Si richiede di scrivere in SQL le seguenti interrogazioni:
   1) Selezionare le città in cui nessuna officina ha revisionato auto di marca ‘FIAT’ nel 2004;
   2) Selezionare le città nelle quali sono state effettuate revisioni (almeno una) di auto di marca
      ‘Ferrari’ ad un costo inferiore ai 200 EURO;
   3) Selezionare le officine che si trovano in una città in cui sono state revisionate auto di marca
      ‘BMW’;
   4) Selezionare i modelli di marca ‘BMW’ immatricolati nel 2003 che non sono stati revisionati a
      ‘Modena’ (o mai revisionati);
   5) Selezionare l’incasso totale complessivo che le officine di Modena hanno realizzato grazie alle
      revisioni del 2004 su auto di marca ‘FIAT’;
   6) Selezionare le marche delle auto che sono state revisionate nelle officine di Reggio Emilia nel
      2006
   7) Selezionare la targa della vettura la cui revisione ha avuto costo massimo
   8) Contare le revisione che sono state effettuate a Modena nel 2006
1) Selezionare le città in cui nessuna officina ha revisionato auto di marca ‘FIAT’ nel 2004;

SELECT DISTINCT CITTA
FROM   OFFICINA
WHERE CITTA NOT IN (SELECT CITTA
                      FROM OFFICINA O,
                           REVISIONE R,
                           AUTO A
                      WHERE O.CODO = R.CODO
                      AND   R.TARGA = A.TARGA
                      AND   A.MARCA = ‘FIAT’
                      AND   R.ANNO = 2004)




2) Selezionare le città nelle quali sono state effettuate revisioni (almeno una) di auto di marca ‘Ferrari’
ad un costo inferiore ai 200 EURO;

SELECT DISTINCT O.CITTA
FROM OFFICINA O,
     AUTO A,
     REVISIONE R
WHERE O.CODO = R.CODO
AND   A.TARGA = R.TARGA
AND   A.MARCA = ‘Ferrari’
AND   R.COSTO < 200


3) Selezionare le officine che si trovano in una città in cui sono state revisionate auto di marca ‘BMW’;

SELECT *
FROM OFFICINA
WHERE CITTA IN (SELECT O.CITTA
                   FROM OFFICINA O,
                        AUTO A,
                        REVISIONE R
                   WHERE O.CODO = R.CODO
                   AND   A.TARGA = R.TARGA
                   AND   A.MARCA = ‘BMW’)
4) Selezionare i modelli di marca ‘BMW’ immatricolati nel 2003 che non sono stati revisionati a
‘Modena’ (o mai revisionati);

SELECT DISTINCT A.MODELLO
FROM AUTO A
WHERE A.ANNO_IMMATRICOLAZIONE = 2003
AND   A.MARCA = ‘BMW’
AND   MODELLO NOT IN (SELECT A1.MODELLO
                      FROM OFFICINA O, AUTO A1,REVISIONE R
                      WHERE O.CODO = R.CODO
                      AND   A1.TARGA = R.TARGA
                      AND   O.CITTA = ‘Modena’)


5) Selezionare l’incasso totale complessivo che le officine di Modena hanno realizzato grazie alle
revisioni del 2004 su auto di marca ‘FIAT’.

SELECT SUM(COSTO)
FROM   OFFICINA O, AUTO A, REVISIONE R
WHERE O.CODO = R.CODO
AND   A.TARGA = R.TARGA
AND   O.CITTA = ‘Modena’
AND   R.ANNO = 2004
AND   A.MARCA = ‘FIAT’


6) Selezionare le marche delle auto che sono state revisionate nelle officine di Reggio Emilia nel 2006.

SELECT A. MARCA
FROM   OFFICINA O,AUTO A, REVISIONE R
WHERE O.CODO = R.CODO
AND   A.TARGA = R.TARGA
AND   O.CITTA = ‘Reggio Emilia’
AND   R.ANNO = 2006


7) Selezionare la targa della vettura la cui revisione ha avuto costo massimo.

SELECT TARGA
FROM   REVISIONE
WHERE COSTO IN (SELECT MAX(COSTO)
                 FROM REVISIONE)

8) Contare le revisione che sono state effettuate a Modena nel 2006.

SELECT Count(*)
FROM   OFFICINA O, REVISIONE R
WHERE O.CODO = R.CODO
AND   O.CITTA = ‘Modena’
AND   R.ANNO = 2006

More Related Content

More from Majong DevJfu

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA CloudMajong DevJfu
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processesMajong DevJfu
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product lineMajong DevJfu
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture PortfolioMajong DevJfu
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural stylesMajong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architectureMajong DevJfu
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a productMajong DevJfu
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 

More from Majong DevJfu (20)

9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud9 - Architetture Software - SOA Cloud
9 - Architetture Software - SOA Cloud
 
8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes8 - Architetture Software - Architecture centric processes
8 - Architetture Software - Architecture centric processes
 
7 - Architetture Software - Software product line
7 - Architetture Software - Software product line7 - Architetture Software - Software product line
7 - Architetture Software - Software product line
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio4 - Architetture Software - Architecture Portfolio
4 - Architetture Software - Architecture Portfolio
 
3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles3 - Architetture Software - Architectural styles
3 - Architetture Software - Architectural styles
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product1 - Architetture Software - Software as a product
1 - Architetture Software - Software as a product
 
10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Uml3
Uml3Uml3
Uml3
 
Uml2
Uml2Uml2
Uml2
 
6
66
6
 
5
55
5
 
4 (uml basic)
4 (uml basic)4 (uml basic)
4 (uml basic)
 
3
33
3
 
2
22
2
 
1
11
1
 
Tmd template-sand
Tmd template-sandTmd template-sand
Tmd template-sand
 
26 standards
26 standards26 standards
26 standards
 

Esercizio sigda n 6

  • 1. Esercizio Dato il seguente schema relazionale: AUTO(TARGA, MARCA, MODELLO, ANNO_IMMATRICOLAZIONE) OFFICINA(CODO, DESCRIZIONE, CITTA) REVISIONE(TARGA, CODO, ANNO, COSTO) FK: TARGA REFERENCES AUTO CODO REFERENCES OFFICINA Si richiede di scrivere in SQL le seguenti interrogazioni: 1) Selezionare le città in cui nessuna officina ha revisionato auto di marca ‘FIAT’ nel 2004; 2) Selezionare le città nelle quali sono state effettuate revisioni (almeno una) di auto di marca ‘Ferrari’ ad un costo inferiore ai 200 EURO; 3) Selezionare le officine che si trovano in una città in cui sono state revisionate auto di marca ‘BMW’; 4) Selezionare i modelli di marca ‘BMW’ immatricolati nel 2003 che non sono stati revisionati a ‘Modena’ (o mai revisionati); 5) Selezionare l’incasso totale complessivo che le officine di Modena hanno realizzato grazie alle revisioni del 2004 su auto di marca ‘FIAT’; 6) Selezionare le marche delle auto che sono state revisionate nelle officine di Reggio Emilia nel 2006 7) Selezionare la targa della vettura la cui revisione ha avuto costo massimo 8) Contare le revisione che sono state effettuate a Modena nel 2006
  • 2. 1) Selezionare le città in cui nessuna officina ha revisionato auto di marca ‘FIAT’ nel 2004; SELECT DISTINCT CITTA FROM OFFICINA WHERE CITTA NOT IN (SELECT CITTA FROM OFFICINA O, REVISIONE R, AUTO A WHERE O.CODO = R.CODO AND R.TARGA = A.TARGA AND A.MARCA = ‘FIAT’ AND R.ANNO = 2004) 2) Selezionare le città nelle quali sono state effettuate revisioni (almeno una) di auto di marca ‘Ferrari’ ad un costo inferiore ai 200 EURO; SELECT DISTINCT O.CITTA FROM OFFICINA O, AUTO A, REVISIONE R WHERE O.CODO = R.CODO AND A.TARGA = R.TARGA AND A.MARCA = ‘Ferrari’ AND R.COSTO < 200 3) Selezionare le officine che si trovano in una città in cui sono state revisionate auto di marca ‘BMW’; SELECT * FROM OFFICINA WHERE CITTA IN (SELECT O.CITTA FROM OFFICINA O, AUTO A, REVISIONE R WHERE O.CODO = R.CODO AND A.TARGA = R.TARGA AND A.MARCA = ‘BMW’)
  • 3. 4) Selezionare i modelli di marca ‘BMW’ immatricolati nel 2003 che non sono stati revisionati a ‘Modena’ (o mai revisionati); SELECT DISTINCT A.MODELLO FROM AUTO A WHERE A.ANNO_IMMATRICOLAZIONE = 2003 AND A.MARCA = ‘BMW’ AND MODELLO NOT IN (SELECT A1.MODELLO FROM OFFICINA O, AUTO A1,REVISIONE R WHERE O.CODO = R.CODO AND A1.TARGA = R.TARGA AND O.CITTA = ‘Modena’) 5) Selezionare l’incasso totale complessivo che le officine di Modena hanno realizzato grazie alle revisioni del 2004 su auto di marca ‘FIAT’. SELECT SUM(COSTO) FROM OFFICINA O, AUTO A, REVISIONE R WHERE O.CODO = R.CODO AND A.TARGA = R.TARGA AND O.CITTA = ‘Modena’ AND R.ANNO = 2004 AND A.MARCA = ‘FIAT’ 6) Selezionare le marche delle auto che sono state revisionate nelle officine di Reggio Emilia nel 2006. SELECT A. MARCA FROM OFFICINA O,AUTO A, REVISIONE R WHERE O.CODO = R.CODO AND A.TARGA = R.TARGA AND O.CITTA = ‘Reggio Emilia’ AND R.ANNO = 2006 7) Selezionare la targa della vettura la cui revisione ha avuto costo massimo. SELECT TARGA FROM REVISIONE WHERE COSTO IN (SELECT MAX(COSTO) FROM REVISIONE) 8) Contare le revisione che sono state effettuate a Modena nel 2006. SELECT Count(*) FROM OFFICINA O, REVISIONE R WHERE O.CODO = R.CODO AND O.CITTA = ‘Modena’ AND R.ANNO = 2006