Facoltà di Ingegneria – Corso di Laurea in Ingegneria Gestionale
Esame di Sistemi Informativi e Basi di Dati
18 febbraio 2013 (durata 2 ore e 30 minuti)
Esercizio 1: Progettazione di una base di dati
Si progetti una base di dati di supporto ad un sistema informativo per la gestione di un portale per la vendita di video giochi
e la gestione delle relative partite. Lo studente produca un modello E/R e la corrispondente traduzione in un modello
relazionale in accordo alle seguenti specifiche.
Gli utenti del portale sono i giocatori. Ogni giocatore è identificato da un nome-utente e presenta una password, un nome, un
cognome ed una data di nascita. I giocatori acquistano i giochi venduti sul portale. Un gioco è identificato da un codice
numerico e presenta un titolo, un prezzo di vendita ed una descrizione. Può inoltre appartenere ad uno o più generi (es.
avventura, azione, strategia, gioco di ruolo, simulazione ecc.).
Un gioco è sviluppato da una o più software house. Di ogni software house, identificata dal nome, interessa conoscere la città
della sede principale e la data in cui ha iniziato la propria attività.
I giochi appartengono a due categorie: single-player e multi-player. Dei giochi multi-player interessa conoscere il numero
massimo di giocatori che possono prendere parte ad una partita, mentre dei giochi single player interessa memorizzare il
numero medio di ore necessarie per completarli.
Ogni gioco presenta un certo numero di recensioni numerate progressivamente (un gioco non può presentare due recensioni
con lo stesso numero progressivo). Ogni recensione, caratterizzata da un testo, è scritta da un giocatore.
Prima di diventare proprietario di un gioco, il giocatore lo inserisce nel suo carrello virtuale. Periodicamente il giocatore
‘svuota’ il carrello, pagando il prezzo dei vari giochi che ha intenzione di acquistare, e questi diventano di sua proprietà. E’
essenziale assicurare che un giocatore non possa inserire nel carrello un gioco di cui è già proprietario.
Di ogni gioco multiplayer il sistema può creare partite su vari server. Un server è identificato da un indirizzo ip ed è
caratterizzato da un processore ed un ammontare di memoria RAM. Una partita relativa ad un gioco multiplayer presso un
server inizia in un certo istante di tempo. Non possono essere create due partite relative ad uno stesso gioco nello stesso
istante di tempo.
Esercizio 2: Dipendenze funzionali
Si consideri il seguente schema di relazione<R(A,B,C,D,E), F> dove F è il seguente insieme di dipendenze funzionali:
{ AB  CDE, AC  BDE, B  C, C  B, C  D, B  E }
Definire:
(1) una copertura minimale per F; (2) le chiavi di R; (3) una decomposizione in 3NF di R che sia senza perdita di
informazione e senza perdita di dipendenze funzionali.
Esercizio 3: Interrogazioni
Si consideri il seguente schema relazionale:
Stato(NomeStato,EtniaPopolazione,Continente,Estensione,NumeroAbitanti)
Confini(PrimoStato,SecondoStato, km,Ord)
Attraversamenti(Stato, CodiceFiume)
Fiumi(CodiceFiume,NomeFiume,Lunghezza)
La tupla (Italia, Svizzera, 740,1) della relazione Confini indica che l’Italia confina con la Svizzera per una lunghezza di 740
km. L’attributo Ord ha valore 1 e classifica la rilevanza del confine del SecondoStato rispetto al PrimoStato in base alla
lunghezza dello stesso, tanto più il confine è esteso tanto più è rilevante (valore di Ord pari ad 1). Pertanto, esisterà una tupla
(Italia, Città del Vaticano, 3.2, 6) che indica che l’Italia confina con la Città del Vaticano per 3.2 Km e tale confine ha una
rilevanza pari a 6. Considerando che 6 sono i paesi confinanti con l’Italia, il valore 6 indica che questo è il confine meno
esteso in lunghezza.
Risolvere in SQL e, dove possibile, in Algebra Relazionale le seguenti query:
1.
2.
3.
4.
Le coppie di stati aventi popolazioni della stessa etnia che sono attraversati da almeno un fiume di lunghezza minima.
Per ogni stato il numero di stati confinanti e il confine di lunghezza massima (ad esempio nel caso dell’Italia sarà
restituita la tupla (Italia, 6,740) poiché 6 sono gli stati confinanti e 740 è il confine di massima lunghezza.
I continenti in cui coesistono tutte le etnie.
Tra i continenti più popolosi (il numero dei suoi abitanti si ottiene sommando il numero di abitanti degli stati che li
costituiscono) quelli in cui almeno due dei suoi stati sono attraversati da almeno tre fiumi.