Consento la pubblicazione su internet dei risultati Università degli Studi di Ferrara Firma: ____________________________ Corso di Laurea in Informatica Prima prova scritta parziale del 19/02/2007 – Basi di Dati Corso di Laurea in Informatica e comunanze Esercizio 1 La redazione della trasmissione “Il grande fratello” vuole realizzare un sistema informativo per la memorizzazione di tutti i dati e gli eventi relativi alla permanenza dei concorrenti nella casa. Si vogliono mantenere le informazioni personali relative ai concorrenti (nome, cognome, data di nascita, segno zodiacale, città di provenienza, foto, professione, hobby, motivazioni) e quelle relative alla loro permanenza (data di ingresso, eventuale data di uscita). Inoltre si vogliono memorizzare le news giornaliere, caratterizzate da data, ora, un titolo e una breve descrizione. Devono essere modellate anche le attività settimanali: ogni settimana i concorrenti hanno a disposizione un budget che è costituito da un ammontare iniziale più o meno la percentuale scommessa durante la prova settimanale (nome, descrizione) che può avere esito positivo o negativo e determina la scelta di uno o più concorrenti migliori e peggiori. Per i migliori di ogni settimana si devono registrare le scelte relative ai premi (costo e tipo di premio scelto). Infine le nomination: ogni settimana (oppure ogni 2) vengono fatte le nomination: ciascun concorrente nomina due suoi compagni, i concorrenti (2 o più) che hanno avuto il maggior numero di voti sono candidati all’eliminazione stabilita in base ai voti (memorizzati in percentuale) dei telespettatori. (a) (b) (c) Considerando le specifiche sopra riportate, si definisca il relativo schema E/R (specificando le entità, le associazioni e gli attributi di maggiore rilievo) evidenziando eventuali vincoli inespressi e dati derivati; Indicare il rapporto di cardinalità di ciascuna associazione nella notazione 1:1, 1:N, N:M; Esprimere esplicitamente i vincoli di partecipazione, utilizzando la notazione (min, max), per ciascuna associazione, motivando le scelte e giustificando eventuali ulteriori vincoli assunti. [FACOLTATIVO: Supponendo di adottare il diagramma sviluppato al punto (a) per un’implementazione nel modello relazionale, quante e quali relazioni (tabelle) saranno necessarie?] Cognome e Nome ______________________________________ Matricola _________________ Esercizio 2 Dato il seguente schema relazionale: ARTISTA(IDArtista, NomeArtista, Localita, Regione, Sesso) CANZONE(IDCanzone, NomeCanzone, Durata, Anno, Vendite) SCRIVE(IDArtista, IDCanzone) (a) Specificare le chiavi esterne per questo schema, enunciando esplicitamente le assunzioni fatte; (b) indicare tutte le possibili superchiavi per la relazione CANZONE; (c) esprimere un’operazione di inserimento di una nuova canzone (non ancora presente nel database) scritta da un artista già presente nel database; (d) fornire un esempio di operazione di aggiornamento delle relazioni che violi un vincolo di integrità referenziale. Cognome e Nome ______________________________________ Matricola _________________ Esercizio 3 Considerando lo schema relazionale dell’esercizio 2, riportato di seguito: ARTISTA(IDArtista, NomeArtista, Localita, Regione, Sesso) CANZONE(IDCanzone, NomeCanzone, Durata, Anno, Vendite) SCRIVE(IDArtista, IDCanzone) esprimere le seguenti interrogazioni in algebra relazionale: (a) (b) (c) (d) (e) elenco delle canzoni (IDCanzone, NomeCanzone) che sono state scritte nel 2006 e che hanno una durata maggiore di 5 minuti; elenco di tutte le canzoni (IDCanzone, NomeCanzone, Anno) scritte dall’artista “Vasco Rossi” nel 2004; elenco degli artisti (IDArtista, NomeArtista) che hanno scritto almeno una canzone che ha avuto un volume di vendite superiore a 200; elenco che indichi, per ogni artista, il numero di canzoni scritte per ciascun anno (IDArtista, Anno, NumeroCanzoni); elenco delle canzoni scritte da un solo artista (IDCanzone, NomeCanzone). Cognome e Nome ______________________________________ Matricola _________________ Esercizio 4 Si considerino le relazioni R e S: R A 1 2 3 B x y z C 9 8 7 S D x x z E 1 3 3 F 3 2 1 Mostrare i risultati delle seguenti operazioni di algebra relazionale: (a) (b) (c) (d) (e) (f) R |><|R.A=S.E S; R |><|R.A=S.F S; R =|><|R.B=S.D S; (left outer join) R |><|R.A=S.D S; R |><|=R.A=S.D S; (right outer join) R∪S Cognome e Nome ______________________________________ Matricola _________________