Basi di Dati e Sistemi Informativi

Basi di Dati e Sistemi Informativi
A.A. 2011/2012 – 15/02/12 -A
COGNOME
NOME
MATRICOLA
T
AR
A
1
Prof. Paolo Brunasti
PC
SQL-DML
SQL-DDL
DIAG
ER
Teoria (2 punti)

Definire "trigger" e "stored procedure"

Descrivere la proprietà dell'Isolamento delle transazioni
Algebra relazionale (4 punti)
Si assuma il seguente schema di base di dati :
STUDENTE (Matricola, Nome, Cognome, CodiceLaurea, AnnoIscrizione, DataDiLaurea )
FACOLTA (Sigla, Nome)
LAUREA (CodiceLaurea, Titolo, Facoltà)
CORSO (Codice, Titolo, Crediti)
ISCRIZIONE_CORSO ( CodiceCorso, Matricola, Anno)
ESAME (CodiceCorso, Matricola, Data, Voto)
(dove l'attributo”Facoltà” della relazione “LAUREA” è chiave esterna verso la relazione
“FACOLTA” e gli attributi “CodiceCorso” delle relazioni “ISCRIZIONE_CORSO” ed “ESAME”
sono chiavi esterne verso la relazione “CORSO”)
Esprimere in algebra relazionale le seguenti query:
1.Elenco di tutti i corsi che non hanno studenti iscritti
2.Lista di tutti gli studenti che sono si iscritti più di 2 anni fa al corso di "Basi di Dati" e non
hanno ancora superato l'esame
Pagina 1 di 4
Basi di Dati e Sistemi Informativi
A.A. 2011/2012 – 15/02/12 -A
A
2
Prof. Paolo Brunasti
SQL (10 punti)
Con riferimento allo schema di basi dati precedente, si implementino in SQL le seguenti
query:
1.Lista degli studenti che non hanno ancora sostenuto nessun esame (non importa se l'hanno
passato ma solo che si sono almeno presentati) e che sono iscritti da più di sette anni
2.Lista di tutti gli studenti di Economia che sono inscritti a corsi dell'anno 2005 e non hanno
ancora sostenuto l'esame di "Informatica Generale"
3.Calcolare la media delle medie degli studenti delle varie facoltà (valore medio della media
personale dei singoli studenti aggregata per facoltà)
4.Aggiornare gli Esami del corso “BDSI” in modo che per gli studenti che sono già passati
risulti un voto maggiore di 2 punti, mentre per quelli che non sono passati risulti per tutti 18
Utilizzando l’opportuna istruzione SQL, si creino le tabelle STUDENTE, FACOLTA e
LAUREA dello schema di base di dati sopra riportato, inserendo vincoli necessari a
soddisfare i vincoli di cui sotto e utilizzando opportuni domini per gli attributi presenti nelle
relazioni
Pagina 2 di 4
Basi di Dati e Sistemi Informativi
A.A. 2011/2012 – 15/02/12 -A
A
3
Prof. Paolo Brunasti
Modello Entità-Relazioni
Traduzione modello E-R in modello relazionale (4 punti)
Tradurre il seguente modello Entità-Relazione nel modello relazionale, evidenziando chiavi
primarie e specificando eventuali chiavi esterne.
Pagina 3 di 4
Basi di Dati e Sistemi Informativi
A.A. 2011/2012 – 15/02/12 -A
A
4
Prof. Paolo Brunasti
Progettazione schema Entità-Relazione (10 punti)
Una società ha bisogno di gestire i propri progetti di sviluppo.
I singoli progetti sono caratterizzati da una scomposizione gerarchica in task via via più di dettaglio,
dove ogni task è caratterizzato da un codice univoco, un titolo ed una descrizione, una data d'inizio
ed un effort previsto (quantità di lavoro necessario al completamento del task espresso in unità di
tempo).
Ogni task può quindi essere scomposto in una serie di sotto task, ed è associato ad una serie di
risorse che dovranno essere impegnate per la realizzazione dello stesso.
Le risorse possono essere persone o attrezzature fisiche, le prime caratterizzate ovviamente da un
nome, un cognome, una data di nascita, un indirizzo di residenza ed una retribuzione oraria, mentre
le seconde hanno una categoria tecnologica, una descrizione dell'oggetto ed un costo di nolo orario.
Le persone che svolgono attività di progetto possono essere dipendenti della società oppure dei
consulenti esterni.
Per i dipendenti devono essere registrate anche le seguenti informazioni:
 responsabile gerarchico
 anzianità aziendale
 livello d'inquadramento
 skill personali (al fine di meglio poter allocare i dipendenti sui progetti in via di ideazione)
Per i consulenti esterni si richiedono i seguenti dati:
 data di prima collaborazione
 forma di contratto in essere
 eventuale società a cui riferisce
Infatti i consulenti esterni possono essere liberi professionisti o dipendenti di altre società che li
forniscono in "body rental" o altra forma contrattuale.
Per ogni progetto viene indicato un responsabile, una data di inizio, una data di presunta fine del
progetto, una percentuale di completamento, un budget allocato per il progetto.
Durante la vita di un progetto possono avvenire delle revisioni del progetto stesso che portano a
modificare informazioni quali data di presunta dine e budget, ma queste modifiche devono essere
memorizzate in modo da poter ricostruire successivamente la storia del progetto.
Pagina 4 di 4