Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013...
-
Upload
truongcong -
Category
Documents
-
view
222 -
download
0
Transcript of Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013...
![Page 1: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/1.jpg)
Matteo Picozzihttp://home.dei.polimi.it/picozzi
Algebra relazionaleBasi di Dati 1Esercitazione16/10/2012
![Page 2: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/2.jpg)
Mi presento
Matteo Picozzihttp://home.dei.polimi.it/picozzi
Ricevimento su appuntamento.
2
![Page 3: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/3.jpg)
Note pratiche
• Orario esercitazioni: 13.45 - 17.00• Materiali: sul sito del corso trovate:
- Riferimento all’eserciziario• D. Braga, M. Brambilla, A. Campi. " Eserciziario di Basi di Dati". ISBN:
88-7488-139-8. Progetto Leonardo - BOLOGNA, 2006.- Esercizi supplementari- Temi d’esame
3
![Page 4: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/4.jpg)
Algebra relazionale
• Linguaggio- Formale- Procedurale- Per formulare interrogazioni
4
![Page 5: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/5.jpg)
Algebra relazionale - Operazioni• Fondamentali
- Unarie• Proiezione (∏)• Selezione (σ)
- Binarie• Unione (∪)• Differenza (-)• Prodotto cartesiano (×)
• Derivate- Binarie• Intersezione (∩)• Join (⋈)• Divisione (÷)
5
![Page 6: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/6.jpg)
Algebra relazionale - Operazioni• Fondamentali
- Unarie• Proiezione (∏)• Selezione (σ)
- Binarie• Unione (∪)• Differenza (-)• Prodotto cartesiano (×)
• Derivate- Binarie• Intersezione (∩)• Join (⋈)• Divisione (÷)
5
Operazioni più usate
![Page 7: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/7.jpg)
Esercizio 16
STUDENTE(matricola, nome, cognome, città, cds)ESAME(matricola, cod_corso, data, voto)CORSO(cod_corso, titolo, docente)
![Page 8: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/8.jpg)
Esercizio 1.1
• Trovare cognomi e nomi degli studenti di Cremona del corso di studi (CDS) Ingegneria Informatica.
7
STUDENTE(matricola, nome, cognome, città, cds)ESAME(matricola, cod_corso, data, voto)CORSO(cod_corso, titolo, docente)
![Page 9: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/9.jpg)
Esercizio 1.2
• Trovare il codice dei corsi di Informatica 1 in cui almeno uno studente non appartenente al CDS Ingegneria Gestionale ha preso 30.
8
STUDENTE(matricola, nome, cognome, città, cds)ESAME(matricola, cod_corso, data, voto)CORSO(cod_corso, titolo, docente)
![Page 10: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/10.jpg)
Esercizio 1.3
• Trovare cognomi e nomi degli studenti che hanno preso 30 in qualche esame ma che hanno sostenuto anche Analisi 1.
9
STUDENTE(matricola, nome, cognome, città, cds)ESAME(matricola, cod_corso, data, voto)CORSO(cod_corso, titolo, docente)
![Page 11: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/11.jpg)
Esercizio 1.4
• Trovare cognomi e nomi degli studenti che hanno preso almeno un 30 in qualche esame e non hanno mai preso meno di 24.
10
STUDENTE(matricola, nome, cognome, città, cds)ESAME(matricola, cod_corso, data, voto)CORSO(cod_corso, titolo, docente)
![Page 12: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/12.jpg)
Esercizio 2 - dal TdE 23/11/200411
VITIGNO(nome, colore, data_fruttificazione, località)VINO(nome, colore, tipo, gradazione)PRODUTTORE(nome, località)PRODUZIONE(produttore, anno, vino, quantità)DISCIPLINARE(vino, vitigno, percentuale)
![Page 13: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/13.jpg)
Esercizio 2.1 - dal TdE 23/11/2004
• Trovare i nomi dei vini prodotti da produttori di Milano ma che non hanno vitigni che sorgono in Franciacorta.
12
VITIGNO(nome, colore, data_fruttificazione, località)VINO(nome, colore, tipo, gradazione)PRODUTTORE(nome, località)PRODUZIONE(produttore, anno, vino, quantità)DISCIPLINARE(vino, vitigno, percentuale)
![Page 14: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/14.jpg)
Esercizio 2.2 - dal TdE 23/11/2004
• Trovare i nomi dei produttori che hanno prodotto almeno due vini nel 2000 ma che non hanno mai usato uve “Grignolino” per più del 20%.
13
VITIGNO(nome, colore, data_fruttificazione, località)VINO(nome, colore, tipo, gradazione)PRODUTTORE(nome, località)PRODUZIONE(produttore, anno, vino, quantità)DISCIPLINARE(vino, vitigno, percentuale)
![Page 15: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/15.jpg)
Esercizio 3 - Eserciziario esercizio 3.614
CITTÀ(nome, regione, abitanti)ATTRAVERSAMENTI(città, fiume)FIUMI(fiume, lunghezza)
![Page 16: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/16.jpg)
Esercizio 3.1 - Eserciziario esercizio 3.6
• Trovare nome, regione e abitanti di città che hanno più di 50.000 abitanti e sono attraversate dal Po o dall’Adige.
15
CITTÀ(nome, regione, abitanti)ATTRAVERSAMENTI(città, fiume)FIUMI(fiume, lunghezza)
![Page 17: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/17.jpg)
Esercizio 3.2 - Eserciziario esercizio 3.6
• Trovare il nome delle città attraversate da almeno due fiumi e il nome del più lungo dei fiumi che la attraversano.
16
CITTÀ(nome, regione, abitanti)ATTRAVERSAMENTI(città, fiume)FIUMI(fiume, lunghezza)
![Page 18: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/18.jpg)
Esercizio 417
IMPIEGATO(nome, età, stipendio)DIPENDENZA(manager, dipendente)
nome età stipendioMario 31 60000Luca 32 40000
Andrea 35 30000Stefano 36 20000
manager dipendenteMario LucaMario Andrea
Andrea Stefano
![Page 19: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/19.jpg)
Esercizio 4.1
• Trovare il nome degli impiegati dipendenti direttamente da Mario.
18
IMPIEGATO(nome, età, stipendio)DIPENDENZA(manager, dipendente)
nome età stipendioMario 31 60000Luca 32 40000
Andrea 35 30000Stefano 36 20000
manager dipendenteMario LucaMario Andrea
Andrea Stefano
![Page 20: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/20.jpg)
Esercizio 4.2
• Trovare l’età dei dipendenti sottoposti di Mario.
19
IMPIEGATO(nome, età, stipendio)DIPENDENZA(manager, dipendente)
nome età stipendioMario 31 60000Luca 32 40000
Andrea 35 30000Stefano 36 20000
manager dipendenteMario LucaMario Andrea
Andrea Stefano
![Page 21: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/21.jpg)
Esercizio 4.3
• Trovare i nomi degli impiegati che non hanno un manager.
20
IMPIEGATO(nome, età, stipendio)DIPENDENZA(manager, dipendente)
nome età stipendioMario 31 60000Luca 32 40000
Andrea 35 30000Stefano 36 20000
manager dipendenteMario LucaMario Andrea
Andrea Stefano
![Page 22: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/22.jpg)
Esercizio 4.4
• Trovare il nome delle coppie di impiegati che collaborano e sono alle dipendenze di Mario.
21
IMPIEGATO(nome, età, stipendio)DIPENDENZA(manager, dipendente)
nome età stipendioMario 31 60000Luca 32 40000
Andrea 35 30000Stefano 36 20000
manager dipendenteMario LucaMario Andrea
Andrea Stefano
![Page 23: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/23.jpg)
Esercizio 522
CLIENTI(codice, cognome, nome, indirizzo)NOLEGGI(cliente, vettura, data)VETTURE(codice, modello, anno_immatricolazione)MODELLO(codice_modello, nome)
![Page 24: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/24.jpg)
Esercizio 5.1
• Trovare cognome e nome dei clienti che hanno noleggiato una Fiat Panda prima del 01/09/2012.
23
CLIENTI(codice, cognome, nome, indirizzo)NOLEGGI(cliente, vettura, data)VETTURE(codice, modello, anno_immatricolazione)MODELLO(codice_modello, nome)
![Page 25: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/25.jpg)
Esercizio 5.2
• Trovare cognome e nome dei clienti che hanno noleggiato lo stesso modello almeno due volte.
24
CLIENTI(codice, cognome, nome, indirizzo)NOLEGGI(cliente, vettura, data)VETTURE(codice, modello, anno_immatricolazione)MODELLO(codice_modello, nome)
![Page 26: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/26.jpg)
Esercizio 625
VIAGGI(codice, descrizione, luogo, durata)VACANZE(codice, viaggio, data_partenza, costo)PARTECIPAZIONE(cliente, vacanza)CLIENTI(codice, cognome, nome, indirizzo, città)
![Page 27: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/27.jpg)
Esercizio 6.1
• Trovare luoghi, descrizione e durata dei viaggi a cui hanno partecipato i clienti di Firenze con partenza in data successiva al 25/03/2010.
26
VIAGGI(codice, descrizione, luogo, durata)VACANZE(codice, viaggio, data_partenza, costo)PARTECIPAZIONE(cliente, vacanza)CLIENTI(codice, cognome, nome, indirizzo, città)
![Page 28: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/28.jpg)
Esercizio 6.2
• Trovare date di partenza e costo di vacanze a cui hanno partecipato almeno 2 clienti di Cremona.
27
VIAGGI(codice, descrizione, luogo, durata)VACANZE(codice, viaggio, data_partenza, costo)PARTECIPAZIONE(cliente, vacanza)CLIENTI(codice, cognome, nome, indirizzo, città)
![Page 29: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/29.jpg)
Esercizio 728
ESAMI(studente, materia, voto, data)PIANIDISTUDIO(studente, materia, anno, semestre)
![Page 30: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/30.jpg)
Esercizio 7.1
• Studenti che hanno passato tutti gli esami nel piano di studi.
29
ESAMI(studente, materia, voto, data)PIANIDISTUDIO(studente, materia, anno, semestre)
![Page 31: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/31.jpg)
Esercizio 830
CLIENTE(num_tessera, nome, cognome, genere, via, città, iscritto_piscina, data_iscrizione)ISTRUTTORE(cod_fiscale, nome, cognome, genere, via, città, data_assunzione)CORSO(nome_corso, turno, città_corso, cf_istruttore)ISCRIZIONE_CORSO(num_tessera, nome_corso, turno, data)
![Page 32: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/32.jpg)
Esercizio 8.1
• Trovare i turni dei corsi tenuti dalle istruttrici assunte dopo il 01/01/2010 e che al 01/06/2012 non abbiano ancora nessun iscritto a Milano.
31
CLIENTE(num_tessera, nome, cognome, genere, via, città, iscritto_piscina, data_iscrizione)ISTRUTTORE(cod_fiscale, nome, cognome, genere, via, città, data_assunzione)CORSO(nome_corso, turno, città_corso, cf_istruttore)ISCRIZIONE_CORSO(num_tessera, nome_corso, turno, data)
![Page 33: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/33.jpg)
Esercizio 8.1
• Trovare i turni dei corsi tenuti dalle istruttrici assunte dopo il 01/01/2010 e che al 01/06/2012 non abbiano ancora nessun iscritto a Milano.
31
CLIENTE(num_tessera, nome, cognome, genere, via, città, iscritto_piscina, data_iscrizione)ISTRUTTORE(cod_fiscale, nome, cognome, genere, via, città, data_assunzione)CORSO(nome_corso, turno, città_corso, cf_istruttore)ISCRIZIONE_CORSO(num_tessera, nome_corso, turno, data)
di
![Page 34: Algebrarelazionale - Intranet DEIBhome.deib.polimi.it/picozzi/teaching/20122013 basididati/20121016... · Esercizio8.2 • Trovare i corsi di aerobica che hanno almeno due iscritti](https://reader030.fdocumenti.com/reader030/viewer/2022021723/5c6a7c9c09d3f2b2078cb532/html5/thumbnails/34.jpg)
Esercizio 8.2
• Trovare i corsi di aerobica che hanno almeno due iscritti di Sesto S. Giovanni ma nessuno iscritto di Lodi.
32
CLIENTE(num_tessera, nome, cognome, genere, via, città, iscritto_piscina, data_iscrizione)ISTRUTTORE(cod_fiscale, nome, cognome, genere, via, città, data_assunzione)CORSO(nome_corso, turno, città_corso, cf_istruttore)ISCRIZIONE_CORSO(num_tessera, nome_corso, turno, data)