Basi di Dati e Sistemi
Informativi
Esercitazione:
L’algebra relazionale
Home page del corso:
http://www.cs.unibo.it/~difelice/dbsi/
Esercizio 1
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
ROMANZIERE (Nome, Cognome, Anno, LuogoNatio)
Scrivere in algebra relazionale la query che
determina:
1. Il cognome dei poeti nati a Bologna nel 1966.
Esercizio 1
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
ROMANZIERE (Nome, Cognome, Anno, LuogoNatio)
Scrivere in algebra relazionale la query che
determina:
2. Nome, cognome e Luogo di nascita dei poeti
che NON sono romanzieri.
Esercizio 1
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
ROMANZIERE (Nome, Cognome, Anno, LuogoNatio)
Scrivere in algebra relazionale la query che
determina:
3. Nome e cognome degli scrittori (poeti +
romanzieri) il cui anno di nascita non sia definito.
Esercizio 2
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
POESIA(Titolo, NumVersi, NomePoeta, CognomePoeta)
RACCOLTA(TitoloRaccolta,Editore, Anno)
CONTENUTO(NomeRaccolta, TitoloPoesia)
Scrivere in algebra relazionale la query che
determina:
1. I titoli delle poesie scritte da un poeta
bolognese.
Esercizio 2
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
POESIA(Titolo, NumVersi, NomePoeta, CognomePoeta)
RACCOLTA(TitoloRaccolta,Editore, Anno)
CONTENUTO(NomeRaccolta, TitoloPoesia)
Scrivere in algebra relazionale la query che
determina:
2. I nomi delle raccolte in cui compaiono poesie
del poeta Eugenio Montale.
Esercizio 2
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
POESIA(Titolo, NumVersi, NomePoeta, CognomePoeta)
RACCOLTA(TitoloRaccolta,Editore, Anno)
CONTENUTO(NomeRaccolta, TitoloPoesia)
Scrivere in algebra relazionale la query che
determina:
3. Gli editori di raccolte in cui compaiono poesie
del poeta Salvatore Quasimodo.
Esercizio 2
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
POESIA(Titolo, NumVersi, NomePoeta, CognomePoeta)
RACCOLTA(TitoloRaccolta,Editore, Anno)
CONTENUTO(NomeRaccolta, TitoloPoesia)
Scrivere in algebra relazionale la query che
determina:
4. Titoli delle poesie che appaiono in piu’ di una
raccolta.
Esercizio 2
 Dato il seguente schema:
POETA(Nome, Cognome, AnnoNascita, LuogoNascita)
POESIA(Titolo, NumVersi, NomePoeta, CognomePoeta)
RACCOLTA(TitoloRaccolta,Editore, Anno)
CONTENUTO(NomeRaccolta, TitoloPoesia)
Scrivere in algebra relazionale la query che
determina:
5. Titoli delle poesie che appaiono SOLO in una
raccolta.
Esercizio 3
Data la seguente relazione:
R(A, B, C, D, E, F)
Quali delle seguenti proiezioni hanno lo stesso
numero di righe di R?
P A,B,C,D,E,F (R)
P A,B,D,E (R)
P A,B,C,F (R)
P A,D (R)
Esercizio 4
Data la seguenti relazioni:
R1(A,B,C)
R2(D,E,F)
Con cardinalita’: |R1|=N1 e |R2|=N2.
Indicare la cardinalita’ del join nei seguenti casi:
R1
A=D
R2
R1
A=E
R2
R1
R1
A=E
B=E
R2
R2
(con vincolo di integrita’ referenziale tra A ed E)
Esercizio 5
Dato lo schema
R1(A,B) R2(C,D,E) R3(F,G,H)
Ottimizzare la seguente query, riducendo la
dimensione dei risultati intermedi …
P ADH (s (B=C)Ù(E=F )Ù( A>20)Ù(G=15) (R1
R3 )
R2 )
Esercizio 6
 Dato il seguente schema:
ESAME(CODESAME, MATERIA, NOMEPROF)
AULA(CODAULA, NOME, EDIFICIO, CAPIENZA)
PRENOTAZIONE(CODAULA, CODESAME, DATA)
Scrivere in algebra relazionale la query che
determina:
1. Nome degli edifici in cui si svolgono esami in
data 10/2/2012.
Esercizio 6
 Dato il seguente schema:
ESAME(CODESAME, MATERIA, NOMEPROF)
AULA(CODAULA, NOME, EDIFICIO, CAPIENZA)
PRENOTAZIONE(CODAULA, CODESAME, DATA)
Scrivere in algebra relazionale la query che
determina:
2. Nome e capienza delle aule prenotate per esami
tenuti dal Prof. Rossi.
Esercizio 6
 Dato il seguente schema:
ESAME(CODESAME, MATERIA, NOMEPROF)
AULA(CODAULA, NOME, EDIFICIO, CAPIENZA)
PRENOTAZIONE(CODAULA, CODESAME, DATA)
Scrivere in algebra relazionale la query che
determina:
3. Edificio e nome delle aule con capienza di
almeno 120 posti le quali non hanno prenotazioni in
data 9/11/99.
Esercizio 6
 Dato il seguente schema:
ESAME(CODESAME, MATERIA, NOMEPROF)
AULA(CODAULA, NOME, EDIFICIO, CAPIENZA)
PRENOTAZIONE(CODAULA, CODESAME, DATA)
Scrivere in algebra relazionale la query che
determina:
4. Nomi dei professori che hanno prenotato la stessa
aula nello stesso giorno.
Esercizio 6
 Dato il seguente schema:
ESAME(CODESAME, MATERIA, NOMEPROF)
AULA(CODAULA, NOME, EDIFICIO, CAPIENZA)
PRENOTAZIONE(CODAULA, CODESAME, DATA)
Scrivere in algebra relazionale la query che
determina:
5. Nomi dei professori che non hanno prenotato
aule per i loro esami.
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
1. P A,B (R1 )
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
2. P H,I (R3 )
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
3. P E (R2 )
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
4. R1
A=E
R2
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
5. PCF (R1
A=F
R2 )
(vincolo di integrita’ tra F e la relazione R1)
Esercizio 7
 Dato il seguente schema:
R1(A,B,C,D), |R1|=50
R2(E,F), |R2|=100
R3(G,H,I), |R3|=150
Indicare la cardinalita’ delle seguenti espressioni:
6. (R2
I =E
R3 )
F=D
R1
(vincolo di integrita’ tra I e la relazione R2)
Esercizio 8
 Dato il seguente schema:
UTENTE(CODUTENTE,NOME,COGNOME)
LIBRO(CODLIBRO,TITOLO,AUTORE)
PRESTITI(CODLIBRO,CODUTENTE,DATA)
Scrivere in algebra relazionale la query che
determina:
1. I titoli dei libri avuti in prestito da “Giovanni
Rossi”.
Esercizio 8
 Dato il seguente schema:
UTENTE(CODUTENTE,NOME,COGNOME)
LIBRO(CODLIBRO,TITOLO,AUTORE)
PRESTITI(CODLIBRO,CODUTENTE,DATA)
Scrivere in algebra relazionale la query che
determina:
2. I titoli dei libri che non sono in prestito.
Esercizio 8
 Dato il seguente schema:
UTENTE(CODUTENTE,NOME,COGNOME)
LIBRO(CODLIBRO,TITOLO,AUTORE)
PRESTITI(CODLIBRO,CODUTENTE,DATA)
Scrivere in algebra relazionale la query che
determina:
3. Nome e cognome degli utenti che hanno avuto in
prestito libri di “Verga” in data 10/5/2012.