Basi di Dati Esercitazione Modello Relazionale 19 ottobre 2015 Luigi Bellomarini
Esercitazione Basi di Dati2 Modello Relazionale Esercizio 1 Si supponga di voler rappresentare in una base di dati relazionale le informazioni relative al calendario d’esami di un dipartimento universitario, che vengono pubblicate con avvisi con la seguente struttura: CodiceTitoloProfAppelloData 1FisicaNeri 101/06/ /07/ /09/ /09/2013 2ChimicaRossi 106/06/ /07/ Geometria Bruni da definire
Esercitazione Basi di Dati3 Modello Relazionale Le relazioni Si supponga di voler rappresentare in una base di dati relazionale le informazioni relative al calendario d’esami di un dipartimento universitario, che vengono pubblicate con avvisi con la seguente struttura: CodiceTitoloProfAppelloData 1FisicaNeri 101/06/ /07/ /09/ /09/2013 2ChimicaRossi 106/06/ /07/ Geometria Bruni da definire
Esercitazione Basi di Dati4 Le relazioni Modello Relazionale CodiceTitoloProf 1FisicaNeri 2ChimicaRossi 3GeometriaBruni CodiceCorsoAppelloData 1101/06/ /07/ /09/ /09/ /06/ /07/2013 Corsi Appelli Vincolo di integrità referenziale tra CodiceCorso nella relazione Appelli e la chiave della relazione Corsi.
Esercitazione Basi di Dati5 Esercizio 2 Considerare le relazioni R 1 (A,B,C), R 2 (D,E,F) e R 3 (G,H,L) aventi rispettivamente cardinalità n 1, n 2 e n 3. Assumere che sia definito un vincolo di integrità referenziale tra l’attributo C di R 1 e la chiave D di R 2. Indicare la cardinalità di ciascuno dei seguenti join, specificando l’intervallo nel quale essa può variare. Modello Relazionale
Esercitazione Basi di Dati6 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 esattamente n 1
Esercitazione Basi di Dati7 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 compresa tra 0 e n 1
Esercitazione Basi di Dati8 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 esattamente n 1
Esercitazione Basi di Dati9 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 compresa tra 0 e n 2
Esercitazione Basi di Dati10 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 compresa tra 0 e il minimo tra n 1 e n 2
Esercitazione Basi di Dati11 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 compresa tra 0 e n 1 x n 2
Esercitazione Basi di Dati12 Esercizio 2 Modello Relazionale R 1 (A, B, C * ), R 2 (D *, E, F), R 3 (G, H, L) |R 1 | = n 1 |R 2 | = n 2 |R 3 | = n 3 compresa tra 0 e n 1
Esercitazione Basi di Dati13 Esercizio 3 Considerare una base di dati relativa a studenti ed esami da essi superati. Studenti(Matricola, Cognome, Nome) Esami(Studente, Materia, Voto, Data) con vincolo di integrità referenziale tra l’attributo Studente di Esami e la chiave della relazione Studenti. Formulare in algebra relazionale le interrogazioni che seguono. Modello Relazionale
Esercitazione Basi di Dati14 Esercizio 3 Modello Relazionale Studenti(Matricola *, Cognome, Nome) Esami(Studente *, Materia, Voto, Data) Trovare matricola, cognome e nome degli studenti che hanno preso almeno un 30. Matricola, Cognome, Nome (Studenti ⋈ Matricola=Studente Voto = 30 (Esami))
Esercitazione Basi di Dati15 Esercizio 3 Modello Relazionale Matricola, Cognome, Nome (Studenti ⋈ Matricola=Studente Voto = 30 (Esami)) StudenteMateriaVotoData Fisica2001/06/ Chimica3005/07/ Analisi3015/07/ Geometria2504/09/2013 MatricolaCognomeNome BruniEnzo BianchiMario RossiGiulio Studenti Esami
Esercitazione Basi di Dati16 Esercizio 3 Modello Relazionale Studenti(Matricola *, Cognome, Nome) Esami(Studente *, Materia, Voto, Data) Trovare matricola, cognome e nome degli studenti che hanno superato almeno un esame dopo il 1/1/2010. Matricola, Cognome, Nome (Studenti ⋈ Matricola=Studente Data > 1/1/2010 (Esami))
Esercitazione Basi di Dati17 Esercizio 3 Modello Relazionale StudenteMateriaVotoData Fisica2001/06/ Chimica3005/07/ Analisi3015/07/ Geometria2504/09/2013 MatricolaCognomeNome BruniEnzo BianchiMario RossiGiulio Studenti Esami Matricola, Cognome, Nome (Studenti ⋈ Matricola=Studente Data > 1/1/2010 (Esami))
Esercitazione Basi di Dati18 Esercizio 3 Modello Relazionale Studenti(Matricola *, Cognome, Nome) Esami(Studente *, Materia, Voto, Data) Trovare gli studenti (mostrando il numero di matricola) che hanno superato almeno due esami dopo il 1/1/2010. Studente ( Data>1/1/2010 and Data’>1/1/2010 and Materia<>Materia’ ( Esami ⋈ Studente=Studente’ ( Studente’,Materia’,Data’, Voto’ ← Studente, Materia, Data, Voto (Esami ))))
Esercitazione Basi di Dati19 Esercizio 3 Modello Relazionale StudenteMateriaVotoData Fisica2001/06/ Geometria2504/09/ Algebra2605/09/2013 Esami StudenteMateriaVotoDataStudente’Materia’Voto’Data’ Fisica2001/06/ Fisica2001/06/ Geometria2504/09/ Geometria2504/09/ Algebra2605/09/ Algebra2605/09/ Geometria2504/09/ Algebra2605/09/ Algebra2605/09/ Geometria2504/09/2013 […Esami…] ⋈ Studente=Studente’ […Esami…]
Esercitazione Basi di Dati20 Esercizio 3 Modello Relazionale Studenti(Matricola *, Cognome, Nome) Esami(Studente *, Materia, Voto, Data) Trovare matricola, cognome e nome degli studenti che hanno preso tutti 30. Matricola, Cognome, Nome (( Studente (Esami) - Studente ( Voto<>30 (Esami))) ⋈ Studente=Matricola Studenti)
Esercitazione Basi di Dati21 Esercizio 3 Modello Relazionale StudenteMateriaVotoData Fisica3001/06/ Chimica3005/07/ Analisi3015/07/ Geometria2504/09/2013 StudenteMateriaVotoData Geometria2504/09/2013 Esami - Studente Studente ⋈ Studente=Matricola Studenti