Esercizi Schema E-R

Qui trovi un insieme di esercizi riguardo la realizzazione dello schema E-R relativo a diversi progetti di database.
Realizza la tua soluzione e poi confronta la tua soluzione con quella proposta dal professore.

Esercizi di progettazione dello schema E-R

Per ogni esercizio individuare le entità, le associazioni, gli attributi e la chiave primaria. Infine, verificare lo schema con le regole di lettura ed identificare il formato di ogni attributo.

Esercizio 1: La società di calcio

La società calcistica Giorgi Calcio vuole creare un database in grado di gestire le informazioni dei:

  • Giocatori iscritti, memorizzando il nome, il cognome, il telefono, l'indirizzo di residenza, l'età ed il codice fiscale;

  • La categoria calcistica a cui appartiene il giocatore. Della categoria calcistica memorizzare il nome, il numero di anni minimo e massimo che i giocatori possono avere per far parte di tale categoria;

  • Il ruolo ricoperto dal giocatore, memorizzandone il nome e la descrizione del ruolo.

Nota Bene: In fase di iscrizione ad un giocatore viene assegnata una sola categoria ed almeno un ruolo che è in grado di ricoprire.

(Suggerimento: Ragiona su come memorizzare l'età e l'indirizzo di residenza del giocatore nel database)

Esercizio 2: Lo zoo

Il bioparco di Roma vuole informatizzare la gestione delle informazioni relative agli animali che vivono al suo interno. In particolare, si vuole memorizzare le informazioni relative al nome, alla data di nascita, al colore predominante che lo caratterizza e alla specie a cui appartengono. Riguardo la specie si vuole salvare nel DB anche una descrizione della specie ed il cibo preferito.
Per il giardino zoologico è importante capire in quale settore dello zoo si trova ciascun animale. Inoltre, per ciascun settore si vuole conoscere la posizione del settore ed il suo nome.

Nota Bene: Un animale non può appartenere a più di una specie.

(Suggerimento: Ragiona su come memorizzare la posizione del settore)

Esercizio 3: Il fantacalcio

Due appassionati di fantacalcio vogliono realizzare un sito che gestisca le informazioni relative al fantacalcio. In particolar modo, il sito deve poter mostrare la lista dei giocatori presenti nel database. Tramite la base di dati si deve poter risalire sia alla squadra dove un giocatore milita nell'anno in corso e sia quelle dove ha giocato in passato. In più per ogni giocatore si vuole conoscere le partite in cui è sceso in campo. Di ogni partita si devono conoscere le squadre coinvolte e i goal realizzati da entrambe.

Nota bene: se il testo non specifica molti attributi, l'amministratore della base di dati è libero di inserire attributi a sua scelta.

(Suggerimento: Se un attributo non è proprio di un'entità ma si riferisce a due entità legate da un'associazione... Allora tale attributo va messo a tale associazione che lega le entità).

Esercizio 4: Olimpiadi scolastiche

Si vuole raccogliere e organizzare le informazioni relative ai risultati nelle diverse olimpiadi scolastiche (matematica, fisica, informatica...) svolte dagli studenti della scuola nel corso dei diversi anni. Per ogni olimpiade a cui partecipa uno studente, gli sarà assegnato un punteggio ed una posizione. Grazie ai dati raccolti nel database sarà possibile estrapolare l'informazione del vincitore di ogni gara.

Esercizio 5: La gestione dei progetti

Il capo della Tech Company vuole gestire i progetti della propria azienda. A tal proposito vuole memorizzare le informazioni dei progetti, delle fasi che lo compongono, delle attività che si svolgono in ogni singola fase e dei dipendenti che lavorano al progetto. Inoltre, il database deve poter far comprendere:

  • quale dipendente dell'azienda svolge il ruolo di project manager per ogni singolo progetto;

  • quale dipendente coordina ogni singola attività;

  • quali sono i dipendenti che per ogni attività devono essere consultati, informati o coinvolti operativamente.

Nota bene: per ogni progetto esiste un solo project manager. Per ogni attività esiste un solo dipendente che la coordina. Un'attività deve essere inclusa in una sola fase.

Esercizio 6: L'allenatore nel pallone

Le informazioni sui giocatori di calcio, che giocano per una squadra, devono essere catalogate e memorizzate in un database. Di particolare interesse è la città dove normalmente si allena la squadra. Inoltre, si vuole tenere traccia di quale allenatore attualmente stia allenando ogni giocatore.

Per ogni città memorizzare il nome, la descrizione, la nazione ed un codice identificativo.

Tale database servirà per gestire i dati di un'applicazione usata dal CONI. Si consideri che le città siano i primi dati ad essere inseriti all'interno del database. Tale software permette all'utente di:

  • inserire una nuova società di calcio.

    • Nota Bene: Quando si inserisce la squadra l'utente dovrà obbligatoriamente indicare anche la città dove è situata la squadra.

  • inserire un giocatore.

    • Nota Bene: Quando si inserisce un giocatore l'utente dovrà specificare sia la squadra dove gioca e sia l'allenatore che lo allena.

  • inserire un nuovo allenatore.

    • Nota Bene: Quando si inserisce un allenatore non bisogna subito specificare quali siano gli atleti che allenerà.

Esercizio 7: Le biblioteche

Due proprietari di biblioteche vogliono catalogare le informazioni relative ai libri, ai loro auotori e agli scaffali che contengono i libri. I due bibliotecari però hanno una visione diversa di come tale database vada progettato. Di seguito si riportano le specifiche regole di lettura necessarie per poter realizzare il corretto schema E-R voluto dai due proprietari.

Regole di lettura dello schema E-R del database voluto del primo proprietario

  • Ogni libro deve essere scritto da uno o più autori autori.

  • Ogni autore può scrivere uno o più libri.

  • Ogni libro deve trovarsi in uno scaffale.

  • Ogni scaffale può contenere uno o più libri.

Regole di lettura dello schema E-R del database voluto del secondo proprietario

  • Ogni libro deve essere scritto da un autore.

  • Ogni autore deve scrivere uno o più libri.

  • Ogni libro può trovarsi in uno scaffale.

  • Ogni scaffale deve contenere uno o più libri.

Realizzare due schemi E-R separati. Uno schema per ogni proprietario.

Esercizio 8: Il negozio di riparazione Smartphone

Un negozio di riparazione Smartphone intende informatizzare le proprie attività per gestire al meglio il proprio lavoro. Per tale motivo si intende progettare un database che consenta di registrare le informazioni relative a:

  • ai clienti e agli smartphone;

  • alle richieste di riparazione con indicazione dello smartphone da riparare, del cliente che ha richiesto la riparazione, della durata in ore, della data e dei pezzi di ricambio utilizzati;

  • ai pezzi di ricambio. In particolare, si è interessati a conoscere la quantità presente in negozio per ogni pezzo di ricambio.

  • ai fornitori dei pezzi di ricambio.

Esercizio 9: Ricette, ingredienti, utensili necessari, cuoco che ha ideato la ricetta

Il rinomato chef Michelin intende realizzare un'applicazione in grado di raccogliere le migliori ricette stellate. In particolare, lo chef per ogni ricetta vuole tenere traccia dell'elenco degli ingredienti da usare. Nello specifico, per ogni ingrediente usato in una ricetta si vuole indicare la quantità da usare. Inoltre, ogni ricetta può avere degli utensili specifici che si dovrebbero usare per ottenere un buon risultato. Di ogni utensile va riportato il nome, la descrizione ed il sito dove poterlo acquistare.

Nota bene: tale database raccoglie ricette ideate da diversi chef stellati, di cui si vuole memorizzare il nome, cognome ed il ristorante dove stanno lavorando attualmente. Di ogni ristorante si è interessati a conoscere il nome, l'indirizzo, il numero telefonico, il sito web e la descrizione.

Esercizio 10: Gite scolastiche

La scuola Informatica & Co. vuole informatizzare la gestione delle gite scolastiche. A tal proposito si forniscono le seguenti regole di lettura:

  • Ogni gita deve essere svolta da una o più classi;

  • Ogni classe può svolgere una o più gite;

  • Ogni gita deve essere gestita da un docente;

  • Ogni docente può gestire una gita;

  • Ogni classe deve essere coordinata da un docente;

  • Ogni docente può coordinare una classe.

Realizzare lo schema E-R che deriva dalle regole di lettura. Aggiungere chiavi primarie e attributi per le entità coinvolte.

Esercizio 11: I corsi pomeridiani

La scuola Informatica & Co. vuole organizzare dei corsi tenuti dai propri docenti. Ogni corso è specifico per una materia e vi possono partecipare gli studenti della scuola.

Per la progettazione del database tenere conto che:

  • Ci possono essere delle materie che per mancanza di richiesta non prevedano alcun corso;

  • Ci possono essere delle materie per cui si attiveranno più corsi, in quanto vi sono molteplici richieste;

  • La scuola ha sicuramente docenti per tutte le materie (anche più di uno);

  • Gli studenti non sono obbligati ad iscriversi ai corsi, in quanto l'iscrizione ai corsi pomeridiana è facoltativa.