1 - Cinema Hollywood Si deve progettare una base di dati a supporto della programmazione cinematografica della catena di cinema Hollywood. Al momento dell acquisto di un film da proiettare vengono memorizzati il titolo, il genere, il regista, la durata e la data della prima proiezione. Ogni film ha un solo regista di cui si memorizzano il nome, cognome, età e tipo di regia (comico, drammatico, ). Gli attori che recitano nel film sono caratterizzati dal nome, cognome, età e dal tipo di recitazione (comico, drammatico, ). Ogni film può essere trasmesso contemporaneamente in soli tre cinema della catena. Ogni cinema è caratterizzato dal nome, città, indirizzo e dalle sale che lo compongono, ciascuna con un determinato numero di posti disponibili. Ulteriori ipotesi - (Nome, Cognome) è chiave per Attore e Regista - (Nome, Città) è chiave per Cinema - Un Film può essere inserito nel DB anche se non se ne conoscono gli attori - Un Film ha uno e un solo regista Modello relazionale 1
Note alla traduzione E-R relazionale: - Notare le chiavi esterne su Sala e Film - Attore Partecipa Film: N-N, traduzione tre tabelle - Film Dirige Regista: 1-N, traduzione due tabelle - Film Proietta Cinema: N-N, traduzione tre tabelle - Cinema Appartiene Sala: 1-N, traduzione due tabelle 2
2 - Centro sportivo La Federazione Italiana di Tennis gestisce un centro sportivo dotato di numerosi campi da tennis e di un certo numero di dipendenti, distinti in maestri e addetti alla manutenzione. Ogni dipendente è caratterizzato dal codice fiscale, nome, cognome e stipendio percepito. Ogni maestro è qualificato a tenere corsi di un determinato livello (principianti, agonistico, ). Ogni addetto alla manutenzione ha un descrittore che ne indica la mansione. I clienti sono caratterizzati da: numero di tessera, nome e cognome. Per poter partecipare ad un corso, i clienti devono preventivamente iscriversi, pagando l importo relativo e presentando certificato medico. Ogni addetto alla manutenzione è responsabile di un certo numero di campi. Ogni campo ha una serie di caratteristiche: numero, tipo di fondo, orario di manutenzione giornaliera. I clienti che intendono utilizzare un campo, lo prenotano indicando la data e l orario in cui intendono giocare. Ulteriori ipotesi - I clienti si iscrivono al più ad un corso 3
Modello relazionale Note alla traduzione E-R relazionale: - Gerarchia Dipendente, Addetto, Maestro: collasso verso il basso (associazioni diverse sulle foglie, e attributi in più) - Gerarchia Cliente, Iscritto a corso: collasso verso l alto (per i clienti che non sono iscritti a corsi, gli attributi Certificato_medico e Codice saranno null: spreco un po di spazio ma semplifico il modello relazionale) - Campo Prenotazione Cliente: N-N, traduzione tre tabelle - Campo Gestione Addetto: 1-N, traduzione due tabelle - Maestro Insegnamento Corso: 1-N, traduzione due tabelle - Cliente Iscrizione Corso: 1-N (in realtà 0-N perché non tutti i clienti partecipano a un corso), traduzione due tabelle 4
3 - Servizio taxi Si vuole realizzare una base di dati per una società che gestisce un insieme di taxi. Ogni taxi è caratterizzato dalla targa, tipo di macchina e numero identificativo. Ogni macchina ha una capienza massima. Ai taxi sono associati gli autisti, ognuno caratterizzato dai propri dati anagrafici, da un codice e dall indirizzo di abitazione. I clienti telefonano alla sede centrale per richiedere un taxi. La sede centrale associa i taxi alle richieste dei clienti. Al momento della richiesta, il cliente specifica il proprio nome, cognome e indirizzo, oltre che il luogo e l ora in cui ha bisogno del taxi, nonché la destinazione richiesta. Qualora abbia bisogno di un veicolo particolarmente capiente lo deve segnalare al momento della richiesta. Al termine della corsa, al cliente viene fornita una ricevuta per l importo della corsa. Sulla ricevuta sono indicati nome e cognome del cliente, codice del taxi e dell autista, luogo e ora della partenza e dell arrivo e distanza percorsa. Ad ogni ricevuta deve corrispondere una prenotazione, ma il viceversa può non essere vero. In questo caso la prenotazione viene conservata come annullata. 5
4 - Comunità scientifica Si vuole realizzare una base di dati per una comunità scientifica di ricerca paleontologica. Si devono memorizzare i dati riguardanti i reperti fossili di vertebrati custoditi dai musei. I reperti sono caratterizzati da un codice, dal luogo e dall anno di ritrovamento, dal ricercatore responsabile della scoperta (di cui sono registrati il nome, cognome e data di nascita), dal museo e dalla sala in cui è custodito. Ogni reperto può essere attribuito a diverse specie, con diverso grado di probabilità. Ad ogni specie è assegnato un nome ufficiale che la contraddistingue. I musei sono caratterizzati dalle sale, dai loro ricercatori e dal loro direttore (che può essere un paleontologo o un altro ricercatore di altra materia). 6