Progettazione - Parte A
1. Sono date le relazioni seguenti (le chiavi primarie sono sottolineate):
SALA-CINEMATOGRAFICA(CodSC, NomeSala, NomeCinema, NumPostiDisponibili) FILM(CodF, Titolo, Regista)
PROIEZIONE(CodSC, Data, OraInizio, CodF, NumBigliettiVenduti)
Esprimere le seguenti interrogazioni
(a) in algebra (4 punti): Visualizzare il codice e il titolo dei film che sono stati proiettati solo in sale cinematografiche con un numero di posti disponibili superiore a dieci volte il numero dei biglietti venduti per la proiezione.
(b) in linguaggio SQL (5 punti): Visualizzare il codice, il titolo e il regista dei film che, nel mese di gennaio 2011, sono stati proiettati in pi`u di dieci sale diverse nello stesso giorno.
(c) in linguaggio SQL (5 punti): Visualizzare il codice e il nome delle sale in cui sono state tenute tutte le proiezioni di (almeno) un film.
3
Progettazione - Parte B
2. Una ditta organizzatrice di fiere vuole realizzare una base di dati per la gestione della propria attivit`a.
• I paesi dove si organizzano le fiere sono identificati dal codice di avviamento postale (CAP) e sono caratterizzati da provincia, regione e numero di abitanti. Ogni fiera `e identificata da un nome univoco per ogni paese ed `e caratterizzata dal nome dell’organizzatore e dal periodo in cui si svolge.
• Alle fiere partecipano i principali fornitori locali per presentare i loro prodotti tipici. I fornitori sono caratterizzati dal numero di partita iva e, eventualmente, dal numero di telefono. Per ciascun fornitore sono inoltre note le certificazioni possedute e le fiere alle quali ha partecipato. I prodotti sono identificati dal nome di vendita e caratterizzati da fornitore, data e luogo di produzione. `E noto inoltre se i prodotti posseggano o meno un marchio di alta qualit`a. Per i prodotti alimentari `e nota altres`ı la data di scadenza.
• I fornitori devono registrarsi per poter prendere parte a ciascuna fiera. La registrazione prevede l’assegnazione di uno stand. Gli stand sono identificati da un codice univoco e caratterizzati dal nome. Tracciare lo storico di tutte le assegnazioni degli stand ai vari fornitori tenendo conto che allo stesso fornitore pu`o essere assegnato pi`u volte il medesimo stand in giorni differenti ma uno stand `e assegnato a un solo fornitore al giorno.
• Per i prodotti alimentari sono previste delle aree di assaggio per i visitatori. Ciascuna area
`e identificata da un codice alfanumerico e caratterizzata dai prodotti alimentari offerti, dal numero di tavoli presenti e dalla fiera in cui `e presente. Per ogni prodotto alimentare tenere traccia di tutte le sessioni di assaggio offerte nelle diverse aree. Una sessione pu`o essere svolta pi`u volte nello stesso giorno in aree diverse. Inoltre lo stesso prodotto pu`o essere assaggiato in pi`u aree e in sessioni differenti.
(a) Esercizio obbligatorio (9 punti). Descrivere con un diagramma E-R lo schema concettuale di una base di dati per tale applicazione.
(b) Esercizio obbligatorio (3 punti). Costruire uno schema logico relazionale normalizzato per la stessa base di dati.
2