Corso di Basi di Dati (laurea n

Corso di Basi di Dati A, A.A. 2002-2003
Esame del 28/4/2003
Tema 4
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 NATURAL JOIN ESAMI
where Matricola > 125234
(6 punti)
e
select *
from STUDENTI S,ESAMI E
where S.Matricola >= 125235
and S.Matricola=E.Matr
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 chiave.
(7 punti)
C) Descrivere in quali modi può essere realizzato un inner join in algebra relazionale
e in SQL senza usare esplicitamente l’operatore JOIN.
(7 punti)
D) Scrivere le query SQL per trovare:
1.Il nome più comune fra gli iscritti a Giurisprudenza.
(7 punti)
2.Quanti insegnamenti sono tenuti a Ingegneria dal docente Gianni Rossi. (7 punti)