Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday,...

59
Esercitazione sull’Algebra Relazionale Thursday, January 12, 12

Transcript of Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday,...

Page 1: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Esercitazione sull’Algebra Relazionale

Thursday, January 12, 12

Page 2: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Schema

Thursday, January 12, 12

Page 3: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Elencare i libri della biblioteca pubblicati dopo il 1997

Thursday, January 12, 12

Page 4: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Elencare i libri della biblioteca pubblicati dopo il 1997

Thursday, January 12, 12

Page 5: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Elencare i libri della biblioteca pubblicati dopo il 1997

Thursday, January 12, 12

Page 6: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 7: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i titoli dei libri di informatica presi a prestito nel giugno 2002

Thursday, January 12, 12

Page 8: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i titoli dei libri di informatica presi a prestito nel giugno 2002

Thursday, January 12, 12

Page 9: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i titoli dei libri di informatica presi a prestito nel giugno 2002

Thursday, January 12, 12

Page 10: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 11: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 12: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 13: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 14: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 15: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Query non ottimizzata

Thursday, January 12, 12

Page 16: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i codici e i nomi degli utenti che non hanno mai preso in prestito libri di Informatica dell’Apogeo

Thursday, January 12, 12

Page 17: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i codici e i nomi degli utenti che non hanno mai preso in prestito libri di Informatica dell’Apogeo

Thursday, January 12, 12

Page 18: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i codici e i nomi degli utenti che non hanno mai preso in prestito libri di Informatica dell’Apogeo

Thursday, January 12, 12

Page 19: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 20: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 21: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 22: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 23: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 24: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 25: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 26: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Codice=CodiceUtente

Thursday, January 12, 12

Page 27: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i titoli dei libri presi a prestito nel mese di giugno 2002 oppure archiviati nel mese di giugno 2002

Thursday, January 12, 12

Page 28: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare i titoli dei libri presi a prestito nel mese di giugno 2002 oppure archiviati nel mese di giugno 2002

Thursday, January 12, 12

Page 29: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 30: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 31: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 32: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 33: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 34: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 35: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 36: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 37: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 38: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Trovare per ciascun utente il titolo dell’ultimo libro preso in prestito

Thursday, January 12, 12

Page 39: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

DATILIBRO(ISBN, Titolo, AnnoPubblicazione, CasaEditrice, PrimoAutore, Genere)

LIBRO(Collocazione, ISBN, DataArchiviazione)

PRESTITO(Collocazione, CodiceUtente, DataPrestito, DataRestituzione)

UTENTE(Codice, Cognome, Nome, Indirizzo, Telefono)

Trovare per ciascun utente il titolo dell’ultimo libro preso in prestito

Thursday, January 12, 12

Page 40: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

DATILIBRO(ISBN, Titolo, AnnoPubblicazione, CasaEditrice, PrimoAutore, Genere)

LIBRO(Collocazione, ISBN, DataArchiviazione)

PRESTITO(Collocazione, CodiceUtente, DataPrestito, DataRestituzione)

UTENTE(Codice, Cognome, Nome, Indirizzo, Telefono)

Trovare per ciascun utente il titolo dell’ultimo libro preso in prestito

Thursday, January 12, 12

Page 41: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

DATILIBRO(ISBN, Titolo, AnnoPubblicazione, CasaEditrice, PrimoAutore, Genere)

LIBRO(Collocazione, ISBN, DataArchiviazione)

PRESTITO(Collocazione, CodiceUtente, DataPrestito, DataRestituzione)

UTENTE(Codice, Cognome, Nome, Indirizzo, Telefono)

Trovare per ciascun utente il titolo dell’ultimo libro preso in prestito

Thursday, January 12, 12

Page 42: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

DATILIBRO(ISBN, Titolo, AnnoPubblicazione, CasaEditrice, PrimoAutore, Genere)

LIBRO(Collocazione, ISBN, DataArchiviazione)

PRESTITO(Collocazione, CodiceUtente, DataPrestito, DataRestituzione)

UTENTE(Codice, Cognome, Nome, Indirizzo, Telefono)

Trovare per ciascun utente il titolo dell’ultimo libro preso in prestito

Thursday, January 12, 12

Page 43: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Thursday, January 12, 12

Page 44: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

ΠCognome,Nome,Titolo ( ( PRESTITO – ( ρCU1ßCodiceUtente,DP1ßDataPrestito PRESTITO w< CU1=CU2 ∧ DP1<DP2 ρCU2ßCodiceUtente,DP2ßDataPrestito PRESTITO ) ) wv CodiceUtente=Codice UTENTE

wv LIBRO wv DATILIBRO )

Thursday, January 12, 12

Page 45: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Consideriamo lo schema

VOLO(SitoPartenza, SitoArrivo)

Determinare tutti i possibili collegamenti tra due aeroporti in cui si debbano prendere al massimo due voli

Thursday, January 12, 12

Page 46: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Consideriamo lo schema

VOLO(SitoPartenza, SitoArrivo)

Determinare tutti i possibili collegamenti tra due aeroporti in cui si debbano prendere al massimo due voli

VOLO2=VOLO

VOLO U ΠVOLO.Partenza,VOLO2.Arrivo ( VOLO wv VOLO.Arrivo=VOLO2.Partenza VOLO2)

Thursday, January 12, 12

Page 47: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

Supponiamo ora di voler determinare tutti i possibili collegamenti:

non è possibile con l’algebra: per farlo è necessaria la ricorsione

Thursday, January 12, 12

Page 48: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

IMPIEGATO (Nome, Età, Stipendio) DIPENDENZA (Manager, Sottoposto)

Abbreviando: IMP (Nome, Età, Stip) DIP (Mngr, Sott)

15) Trovare gli impiegati dipendenti di Mario

Gerarchia aziendale

Thursday, January 12, 12

Page 49: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

IMPIEGATO (Nome, Età, Stipendio) DIPENDENZA (Manager, Sottoposto)

Abbreviando: IMP (Nome, Età, Stip) DIP (Mngr, Sott)

15) Trovare gli impiegati dipendenti di Mario

Gerarchia aziendale

ΠNome((σMngr = “Mario” DIP) wv Sott = Nome IMP) oppureρNome<-Sott ΠSottσMngr = “Mario” DIP

Thursday, January 12, 12

Page 50: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

17) Le coppie di impiegati che collaborano alle dipendenze di Mario (ipotesi: chi ha lo stesso superiore collabora)

Thursday, January 12, 12

Page 51: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

17) Le coppie di impiegati che collaborano alle dipendenze di Mario (ipotesi: chi ha lo stesso superiore collabora)

ΠS1,S2 (( σMngr=“Mario” ( ρS1ßSottDIP)) wv S1<>S2 ( σMngr=“Mario” ( ρS2ßSottDIP)))

Thursday, January 12, 12

Page 52: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

18) Trovare gli impiegati che non hanno un manager, cioè non sono in relazione di dipendenza da nessuno

Thursday, January 12, 12

Page 53: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

18) Trovare gli impiegati che non hanno un manager, cioè non sono in relazione di dipendenza da nessuno

ΠNome ( IMP – (IMP w< Nome=Sott DIP ))

Thursday, January 12, 12

Page 54: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

19) Impiegati di 30 anni oppure che guadagnano 30000 €

Thursday, January 12, 12

Page 55: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

19) Impiegati di 30 anni oppure che guadagnano 30000 €

ΠNome (σEtà=30 ∨ Stip=30000 IMP)

Thursday, January 12, 12

Page 56: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

20) Impiegati di meno di 30 anni che guadagnano almeno 30000 €

Thursday, January 12, 12

Page 57: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

20) Impiegati di meno di 30 anni che guadagnano almeno 30000 €

ΠNome (σEtà<30 ∧ Stip>=30000 IMP)

Thursday, January 12, 12

Page 58: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

21) Manager con un loro dipendente che guadagna di più

Thursday, January 12, 12

Page 59: Esercitazione sull’Algebra Relazionale - Alfonso Fuggetta · sull’Algebra Relazionale Thursday, January 12, 12. Schema Thursday, January 12, 12. Elencare i libri della biblioteca

21) Manager con un loro dipendente che guadagna di più

ΠNomeM( ( (ρNomeSßNome,StipSßStipIMP) wvStipS>StipM

(ρNomeMßNome,StipMßStipIMP) ) wvNomeM=Mngr∧NomeS=Sott DIP )

Thursday, January 12, 12