Corso di Basi di Dati (laurea n

Corso di Basi di Dati A, A.A. 2002-2003
Esame del 28/4/2003
Tema 1
Sia dato il seguente schema di base di dati:
STUDENTI(Matricola, Nome, Cognome, Indirizzo, Telefono, Cod_CorsodiLaurea)
DOCENTI(Codice_Docente, Nome, Cognome)
CORSO_DI_LAUREA(Codice_CdL, Nome, Cod_Fac)
INSEGNAMENTO(Codice_Insegnamento, Nome, Cod_Docente, Codice_Corso_di_Laurea)
ESAMI(Matr, Voto, Data, Lode, Cod_Ins)
FACOLTA(Codice_Fac, Nome, Indirizzo_Sede, N_Telefonico)
A) Date le seguenti query SQL:
select *
from STUDENTI LEFT JOIN ESAMI
ON Matr=Matricola
where Matricola > 140255
(6 punti)
e
select *
from STUDENTI S,ESAMI E
where S.Matricola >= 140256
and E.Matr = S.Matricola
Stabilire, giustificando le proprie conclusioni, se è possibile che una delle due query
restituisca un numero di tuple maggiore di rispetto all'altra, specificando, nel caso di
risposta affermativa, per quale delle due query ciò può accadere o se può accadere per
entrambe, in funzione dei dati contenuti nelle due tabelle.
B) Introdurre brevemente il concetto di indipendenza dei dati.
(7 punti)
C) Descrivere in breve l’operatore selezione in algebra relazionale e come viene
espresso in SQL, evidenziando eventuali differenze di comportamento.
(7 punti)
D) Scrivere le query SQL per trovare:
1.Il nome e il cognome del docente della facoltà di Ingegneria titolare del maggior
numero di insegnamenti.
(7 punti)
2.Quanti insegnamenti prevede il corso di laurea in Ingegneria delle
Telecomunicazioni.
(7 punti)