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.