Sei sulla pagina 1di 7

Esercizio

ESERCIZIO:

Gli studenti di una classe sono valutati nel corso dell'anno scolastico in diverse
materie con differenti tipi di prova (per esempio: interrogazioni, quiz, prove
scritte…).

Derivare dal modello E/R il corrispondente modello relazionale dei dati e


produrre la pseudo codifica per le seguenti interrogazioni:
studenti interrogati in una materia di cui si conosce il codice (elenco con
cognome, nome, voto);
materie nelle quali è stato valutato positivamente (voto non minore di 6) uno
studente del quale si conosce la matricola (elenco con nome materia, data e
voto);
studenti interrogati in una materia di cui si conosce il nome (elenco con
cognome, nome, data, voto);
materie insegnate per più di 3 ore settimanali;
studenti senza voti (elenco con nome, cognome, matricola).
Esercizio
SCHEMA E/R
N VIENE INTERROGATO SU N
STUDENTE MATERIA
(0;N) (0;N)
data
MATRICOLA voto COD_MATERIA
nome tipologia nomeMateria
cognome ore

MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)


MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)

1) Studenti interrogati in una materia di cui si conosce il codice (elenco


con cognome, nome, voto). σ Π ⋈

temp = σstudentiMaterie.cod_materia = [ … ] studentiMaterie

temp1 = Studentistudenti.matricola ⋈ temp.matricolatemp

Πtemp1.cognome, temp1.nome, temp1.voto temp1


Esercizio

MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)

2) Materie nelle quali è stato valutato positivamente (voto non minore di


6) uno studente del quale si conosce la matricola (elenco con nome
materia, data e voto). σ Π ⋈

temp = σstudenti.matricola = [...]studenti


temp1 = temptemp.matricola⋈studentiMaterie.matricolastudentiMaterie
temp2 = σtemp1.voto > 6temp1
temp3 = materiematerie.cod_materia⋈temp2temp2.cod_materia
Πtemp3.nomeMateria,temp3.data,temp3.vototemp3
Esercizio

MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)

3) Studenti interrogati in una materia di cui si conosce il nome (elenco


con cognome, nome, data, voto). σ Π ⋈
temp = σmaterie.nomeMateria = [...]materie
temp1 = temptemp.codMateria ⋈studentiMaterie.cod_materiastudentiMaterie
temp2 = studentistudenti.matricola ⋈ temp1.matricolatemp1
Π temp2.cognome, temp2.nome, temp2.data, temp2.cognome temp2
Esercizio

MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)

4) Materie insegnate per più di 3 ore settimanali. σ Π⋈

σ materie.ore>3 materie
Esercizio

MODELLO LOGICO RELAZIONALE

STUDENTI ( matricola, nome, cognome)


MATERIE( cod_materia, nomeMateria, ore )

studentiMaterie ( matricola, cod_materia , data , voto, tipologia)

5) studenti senza voti (elenco con nome, cognome, matricola). σ Π⋈

temp = σstudentiMaterie.voto is null studentiMaterie


temp1 = studentistudenti.matricola ⋈ temp.matricolatemp
Πtemp1.nome, temp1.cognome, temp1.matricolatemp1

Potrebbero piacerti anche