Esercizi su Modello Entità-Relazioni



Documenti analoghi
Esercizi su Modello Entità-Relazioni

FONDAMENTI DI INFORMATICA 2

Esercizi su Modello Entità-Relazioni

Esercizio 1 ESERCIZI DI PROGETTAZIONE CONCETTUALE DI BASI DI DATI. La base di dati di una università contiene informazioni

Esercizio'1' ESERCIZI'DI'PROGETTAZIONE' CONCETTUALE'DI'BASI'DI'DATI' ! La#base#di#da/#di#una#università#con/ene# informazioni##

Esercizi su Modello Relazionale

LABORATORIO di INFORMATICA

Esercitazione ER e Algebra Relazionale

Capitolo 6. Esercizio 6.1

Si progetti e disegni un diagramma ER che rappresenti le seguenti informazioni aziendali relative alla casa discografica ABCD Records:

Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne. Copyright The McGraw-Hill Companies, srl

Esercizio 7.1. Considerate lo schema ER in figura: lo schema rappresenta varie proprietà di uomini e donne.

Della suddetta realtà fornire lo schema E/R, lo schema logico e la realizzazione in SQL.

ESERCITAZIONE ER-1. a.a Basi di Dati e di Conoscenza. Basi di dati

Esercitazione ER e Algebra Relazionale

Fondamenti di Informatica 2

Progettazione. Realizzazione

Esercitazione: Dalle Specifiche alla Modellazione ER. Roberto Basili a.a. 2011/2012

Basi di Dati. SOLUZIONE della Prova Scritta del 12 Gennaio 2007

Fondamenti di Informatica 2

Ciclo di vita di un sistema informativo

BASI DATI INFORMATICA

Fondamenti di Informatica 2

Fondamenti di Informatica 2

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Il modello Entità/Relazioni (ER)

LA PROGETTAZIONE CONCETTUALE

Esercitazione di Gestione dei Dati e della Conoscenza (Modellazione ER) Diego De Cao a.a. 2008/2009

Fondamenti di Informatica 2

Progettazione concettuale usando il modello Entità-Relazione (ER) II parte

Basi di dati (nuovo ordinamento) 16 giugno 2008 Compito A

PROGETTAZIONE CONCETTUALE

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

Progettazione concettuale usando il modello Entità-Relazione (ER)

Esercizio: tradurre le specifiche di un DB in formule logiche

Insegnamento di Basi di Dati

Prova Scritta di Basi di Dati

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

Fondamenti di Informatica 2 Simulazione d esame dell 11 Dicembre 2009

Modello Entità-Relazione

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

ESERCIZI DI MODELLAZIONE E-R

Modello Entità-Relazione

Basi di Dati 1 Esercitazione 4 27/11/2012. Matteo Picozzi

Basi di Dati 1! Esercitazione 4. Matteo Picozzi!

Modello Entità-Relazione (E-R)

GESTIONE DEI REPARTI DI UN OSPEDALE

Fondamenti di Informatica 2

Modello Entità-Relazione (E-R)

Basi di dati 14 gennaio 2019 Prova parziale Compito A Tempo a disposizione: un ora. Cognome: Nome: Matricola:

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione concettuale

Cardinalità degli attributi

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

ESERCIZI DI MODELLAZIONE E-R

Basi di dati Prova di autovalutazione 17 gennaio 2011

Corso di Basi di Dati

LA PROGETTAZIONE CONCETTUALE. Prima parte

Esercitazione ER e Algebra Relazionale

Basi di Dati 1 Esercitazione 5 08/01/2013. Matteo Picozzi

Laboratorio di Basi di Dati

Il modello Entità-Relazioni (entity-relationship)

Progetto concettuale delle basi di dati

Basi di dati Modello ER Figure ed esempi

Basi di Dati. Modello Concettuale

Esame di Basi di Dati SOLUZIONE APPELLO 05/09/2011

Progettazione di Basi di Dati Temi d esame svolti

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

Fondamenti di Informatica e Programmazione

Il modello Entity-Relationship: elementi avanzati

Corso di Basi di Dati

Il Modello Concettuale Enità-Relazione (ER)

Il modello Entity-Relationship: elementi avanzati

Progetto PC versione del 11 gennaio 2008

Basi di dati Prova di autovalutazione 16 dicembre 2010 Cenni sulle soluzioni

Unità Due. Modello E/R

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

La progettazione concettuale

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

Progettazione di basi di dati: Progettazione Concettuale e Progettazione Logica

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

Progettazione Concettuale/1

Basi di Dati e Sistemi Informativi

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Studente Data. Prof.: Sara Renata Francesca Marceglia. Esame del 20/06/2017

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

BASI DATI: modello relazionale

Indicare quale o quali delle seguenti affermazioni sono vere?

Progettazione di basi di dati

Progettazione di basi di dati: Metodologie e modelli

Laboratorio di Basi di Dati

Basi di dati (Sistemi Informativi)

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Basi di dati I 22 settembre 2014 Tempo a disposizione: un ora e trenta minuti.

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Progettazione Concettuale. Raccolta e analisi dei requisiti

IL MODELLO ENTITÀ-RELAZIONE

Raccolta e analisi dei requisiti

Transcript:

Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Esercizi su Modello Entità-Relazioni Ing. Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2009/2010 Docente: Prof. Ing. Giorgio Giacinto

2 Esercizio 5.2 (1/8) La base di dati di una università contiene informazioni sui professori (identificati dal codice fiscale cf ) e sui corsi (identificati da corsoid ). I professori insegnano nei corsi; ciascuna delle situazioni seguenti interessa l insieme di relazioni InsegnaIn. Per ciascuna situazione, disegnare un diagramma ER che la descrive (ipotizzando che non vi siano altri vincoli).

3 Esercizio 5.2 (2/8) 1. I professori possono insegnare lo stesso corso in diversi semestri, e ciascuna offerta didattica deve essere registrata. Semestre semestreid cf corsoid Professore InsegnaIn Corso

4 Esercizio 5.2 (3/8) 2. I professori possono insegnare lo stesso corso in diversi semestri, e solo l ultima di queste edizioni deve essere memorizzata (supporre che questa condizione valga in tutte le domande seguenti). cf semestre corsoid Professore InsegnaIn Corso

5 Esercizio 5.2 (4/8) 3. Ogni professore deve insegnare in qualche corso. cf semestre corsoid Professore InsegnaIn Corso

6 Esercizio 5.2 (5/8) 4. Ogni professore insegna esattamente in un corso (nessuno di più, nessuno di meno). cf semestre corsoid Professore InsegnaIn Corso

7 Esercizio 5.2 (6/8) 5. Ogni professore insegna esattamente in un corso (nessuno di più, nessuno di meno), e ogni corso deve essere tenuto da qualche professore. cf semestre corsoid Professore InsegnaIn Corso

8 Esercizio 5.2 (7/8) 6. Ora si supponga che certi corsi possano essere tenuti congiuntamente da un gruppo di professori, ma che sia possibile che nessun professore in un gruppo possa insegnare in quel corso. Modellare questa situazione, introducendo altri insiemi di entità e relazioni, se necessario.

9 Esercizio 5.2 (8/8) cf gid Professore Membro_di Gruppo semestre InsegnaIn corsoid Corso

10 Riassunto notazione cardinalità Notazione cardinalità Notazione libro (0,N) (0,1) (1,N) (1,1) Vincolo di partecipazione parziale (minimo 0) Vincolo di partecipazione parziale (min 0) + Vincolo di chiave (max 1) Vincolo di partecipazione totale (minimo 1) Vincolo di partecipazione totale (min 1) + Vincolo di chiave (max 1)

11 Esercizio A (1/3) Rappresentare, utilizzando i costrutti del modello ER, un giardino zoologico in cui ci sono degli animali appartenenti ad una specie e aventi una certa età; ogni specie è localizzata in un settore (avente un nome) del giardino zoologico.

12 Esercizio A (2/3) nome nome Settore Collocazione Specie Appartenenza id età Animale

13 Esercizio A (3/3) Nome Settore (0,N) (1,1) Collocazione Specie Nome (0,N) Appartenenza Età Id (1,1) Animale

14 Esercizio B (1/3) Rappresentare, utilizzando i costrutti del modello ER, una agenzia di noleggio di autovetture che ha un parco macchine ognuna delle quali ha una targa, un colore e fa parte di una categoria; per ogni categoria c è una tariffa di noleggio.

15 Esercizio B (2/3) Targa Colore Autoveicolo Codice Costo Appartenenza Tariffa Prezzo Categoria nome

16 Esercizio B (3/3) Colore Targa Autoveicolo (1,1) Codice Costo Appartenenza (1,N) Tariffa (1,N) (1,1) Prezzo Categoria Nome

17 Esercizio C (1/3) Rappresentare, utilizzando i costrutti del modello ER, una casa discografica che produce dischi aventi un codice ed un titolo; ogni disco è inciso da uno o più cantanti, ognuno dei quali ha un nome, un indirizzo e, qualcuno, un nome d arte.

18 Esercizio C (2/3) Codice Titolo Nome Indirizzo Disco Registrazione Cantante Nome d arte

19 Esercizio C (3/3) Codice Titolo Nome Indirizzo Disco (1,N) Registrazione (1,N) Cantante (0,1) Nome d arte

20 Esercizio D (1/6) Definire uno schema E-R che descriva i dati di una applicazione relativa ad un reparto ospedaliero. Sono di interesse le seguenti informazioni: I pazienti, con codice fiscale, nome, cognome, data di nascita I ricoveri dei pazienti, ognuno con data di inizio (identificante nell ambito dei ricoveri di ciascun paziente) e medico curante; inoltre, per i ricoveri conclusi, la data di dimissione e la motivazione (dimissione, trasferimento, ecc.), e, per i ricoveri in corso, il recapito di un parente (che si può assumere sia semplicemente una stringa) ( )

21 Esercizio D (2/6) Sono di interesse, inoltre: I medici, con un numero di matricola, cognome, nome, specializzazione e data di laurea Le visite, con la data, l ora, i medici visitanti, le medicine prescritte (con le relative quantità) e le malattie diagnosticate; ogni visita è identificata dal paziente coinvolto, dalla data e dall ora Per ogni medicina sono rilevanti un codice identificativo, un nome e un costo Per ogni malattia sono rilevanti un codice identificativo e un nome

22 Esercizio D (3/6) cf nome cognome data di nascita data matricola nome cognome Paziente Cura Ricovero Medico Responsabile motivo Data di dimissione Ricoveri conclusi ISA Ricoveri in corso specializzazione Data laurea recapito parente Analisi data Visita Presenza ora

23 Esercizio D (4/6) data ora Visita Prescrizione dosaggio Diagnosi codice Medicina nome costo codice nome Malattia

24 Esercizio D (5/6) Nome Cognome Data di Nascita Data Cognome Matricola Nome CF Paziente (0,N) Cura (1,1) Ricovero (1,1) (0,N) Responsabile Medico Analisi (0,N) Data di dimissione Motivo Ricoveri conclusi Data Ricoveri in Corso Specializzazione Recapito parente (1,1) (1,N) Visita Ora (0,N) Data di laurea Presenza

25 Esercizio D (6/6) Data Ora Dosaggio (0,N) Visita (1,1) Prescrizione Diagnosi Codice (0,N) Codice (0,N) Medicina Malattia Nome Costo Nome

26 Esercizio 5.7 (1/13) La catena di farmacie Prescrizioni-R-X si è offerta di darvi una fornitura a vita di medicine se le progettate la basi di dati. Visti l aumento dei costi della sanità, voi accettate. Ecco le informazioni che raccogliete: I pazienti sono identificati dal loro CF, e nomi, indirizzi ed età vanno registrati. I medici sono identificati dal loro CF. Per ciascun dottore vanno registrati nome, specializzazione ed anni di esperienza. Ogni compagnia farmaceutica è identificata dal nome e ha un numero di telefono. ( )

27 Esercizio 5.7 (2/13) Per ciascun preparato, la marca e la formula devono essere registrati. Ciascuno è venduto da una certa compagnia farmaceutica, e il nome li identifica univocamente tra tutti i prodotti di quella compagnia. Se una compagnia viene eliminata, non c è più possibilità di tenere traccia dei suoi prodotti. Ogni farmacia ha un nome, un indirizzo ed un numero di telefono. Ogni paziente ha un medico principale. Ogni medico ha almeno un paziente. Ogni farmacia vende diversi preparati, e ha un prezzo per ciascuno di essi. Un preparato potrebbe essere venduto da diverse farmacie, e il prezzo può variare dall una all altra. ( )

28 Esercizio 5.7 (3/13) I medici prescrivono le medicine ai pazienti. Un medico può prescrivere una o più medicine a pazienti diversi, e un paziente può ottenere una prescrizione da medici diversi. Ciascuna prescrizione ha associata una data e una quantità. Potete assumere che se un medico prescrive la stessa medicina per lo stesso paziente più di una volta, solo l ultima di queste prescrizioni debba essere memorizzata. Le compagnie farmaceutiche hanno contratti a lungo termine con le farmacie. Una compagnia può avere contatti con più farmacie, e una farmacia può avere contatti con più compagnie. Per ciascun contratto dovete memorizzare la data di inizio, la data di fine e il testo del contratto stesso.

29 Esercizio 5.7 (4/13) 1. Disegnare un diagramma ER che cattura le informazioni precedenti. Identificare ogni vincolo non catturato dal diagramma. 2. Come cambierebbe il progetto se ciascuna medicina dovesse essere venduta a un prezzo fisso da tutte le farmacie? 3. Come cambierebbe il progetto se i requisiti cambiassero come segue: se un dottore prescrive la stessa medicina per lo stesso paziente più di una volta, andrebbero memorizzate tutte queste prescrizioni?

30 Esercizio 5.7 (5/13) I pazienti sono identificati dal loro CF, e nomi, indirizzi ed eta vanno registrati. I medici sono identificati dal loro CF. Per ciascun dottore vanno registrati nome, specializzazione ed anni di esperienza. Ogni paziente ha un medico principale. Ogni medico ha almeno un paziente. I medici prescrivono le medicine ai pazienti. Un medico può prescrivere una o più medicine a pazienti diversi, e un paziente può ottenere una prescrizione da medici diversi. Ciascuna prescrizione ha associata una data e una quantità. Potete assumere che se un medico prescrive la stessa medicina per lo stesso paziente più di una volta, solo l ultima di queste prescrizioni debba essere memorizzata.

31 Esercizio 5.7 (6/13) CF nome età indirizzo CF nome esperienza specializzazione Paziente Medico_Pri Medico Prescrizione data quantità Medicina

32 Esercizio 5.7 (7/13) Per ciascun preparato, la marca e la formula devono essere registrati. Ciascuno è venduto da una certa compagnia farmaceutica, e il nome li identifica univocamente tra tutti i prodotti di quella compagnia. Se una compagnia viene eliminata, non c è più possibilità di tenere traccia dei suoi prodotti. Ogni compagnia farmaceutica è identificata dal nome e ha un numero di telefono. Ogni farmacia ha un nome, un indirizzo ed un numero di telefono.

33 Esercizio 5.7 (8/13) Ogni farmacia vende diversi preparati, e ha un prezzo per ciascuno di essi. Un preparato potrebbe essere venduto da diverse farmacie, e il prezzo può variare dall una all altra. Le compagnie farmaceutiche hanno contratti a lungo termine con le farmacie. Una compagnia può avere contatti con più farmacie, e una farmacia può avere contatti con più compagnie. Per ciascun contratto dovete memorizzare la data di inizio, la data di fine e il testo del contratto stesso.

34 Esercizio 5.7 (9/13) indirizzo formula nome telefono Medicina marca Farmacia Vendita prezzo Produzione data_inizio data_fine Contratto telefono testo supervisore Compagnia nome

35 Esercizio 5.7 (10/13)

36 Esercizio 5.7 (11/13) 2. Come cambierebbe il progetto se ciascuna medicina dovesse essere venduta a un prezzo fisso da tutte le farmacie? R. Se le medicine devono essere vendute a prezzo fisso, l attributo prezzo viene aggiunto all entità Medicina ed eliminato della relazione Vendita. indirizzo formula nome telefono Medicina marca Farmacia Vendita prezzo prezzo

37 Esercizio 5.7 (12/13) 3. Come cambierebbe il progetto se i requisiti cambiassero come segue: se un dottore prescrive la stessa medicina per lo stesso paziente più di una volta, andrebbero memorizzate tutte queste prescrizioni? R. L informazione sulla data non può più essere modellato come attributo di Prescrizione. Bisogna creare una nuova entità chiamata Data_Prescrizione a far diventare Prescrizione una relazione quaternaria che coinvolga questa entità aggiuntiva.

38 Esercizio 5.7 (13/13) CF nome età indirizzo CF nome esperienza specializzazione Paziente Medico_Pri Dottore Prescrizione data quantità data marca formula Medicina Data_Prescrizione quantità

39 Esercizio 5.5 (1/7) La Notown Records ha deciso di memorizzare informazioni sui musicisti che suonano nei suoi dischi (così come altri dati sulla compagnia) in una base di dati. L azienda ha saggiamente scelto di assumervi come progettista di base di dati. Ciascun musicista che incide alla Notown ha un CF, un nome, un indirizzo e un numero di telefono. Alcuni musicisti possono condividere lo stesso indirizzo. Nessun indirizzo ha più di un telefono. ( )

40 Esercizio 5.5 (2/7) Ciascun strumento usato nelle canzoni incise alla Notown ha un nome (es. chitarra, sintetizzatore, flauto) e una chiave musicale (es. Do, Si bemolle, Mi bemolle). Ciascun disco inciso ha un etichetta con titolo, una data di copyright, un formato (es. CD o musicassetta), e un identificatore del disco. Ogni canzone incisa alla Notown ha un titolo ed un autore. Ogni musicista può suonare diversi strumenti, e un dato strumento può essere suonato da diversi musicisti. Ogni disco ha un certo numero di canzoni, ma nessuna canzone può apparire su più di un disco. ( )

41 Esercizio 5.5 (3/7) Ogni canzone è eseguita da uno o più musicisti, e un musicista può eseguire un certo numero di canzoni. Ciascun disco ha esattamente un musicista che lo produce. Un musicista può ovviamente produrre diversi dischi. Progettare uno schema concettuale per la Notown e disegnare un diagramma E-R per tale schema. Le informazioni precedenti descrivono la situazione che la base di dati della Notown deve modellare. Assicuratevi di specificare tutti i vincoli di chiave e di cardinalità e tutte le ipotesi che fate. Identificate ciascun vincolo che non riuscite a catturare nel diagramma E-R e spiegare brevemente perché non avete potuto esprimerlo.

42 Esercizio 5.5 (4/6) CF nome indirizzo Musicista Residenza Luogo Suona strumentoid nome Strumento chiave Abitazione Telefono numero

43 Esercizio 5.5 (5/6) CF nome titolo formato Musicista discoid data_ Produzione Disco Esecuzione canzoneid titolo autore Apparizione Canzone

Esercizio 5.5 (6/6) 44

45 Esercizio 5.3 (1/13) Considerate le seguenti informazioni su una base di dati universitaria: I professori hanno un CF, un nome, un età, un ruolo e una specifica area di ricerca. I progetti hanno un numero di progetto, un nome di sponsor (per esempio NSF), una data di inizio, una data di fine e un budget. Gli studenti laureati hanno un CF, un nome, un età e un programma post-laurea (es. dottorato o specializzazione). Ciascun progetto è gestito da un professore (noto come principale responsabile del progetto ). ( )

46 Esercizio 5.3 (2/13) A ciascun progetto lavorano uno o più professori (noti come co-responsabile del progetto ). I professori possono gestire e/o lavorare su progetti multipli. A ciascun progetto lavorano uno o più laureati (noti come assistenti di ricerca del progetto ) Quando i laureati lavorano su un progetto, un professore deve supervisionare il loro lavoro. I laureati possono lavorare su progetti multipli, nel qual caso avranno un supervisore (potenzialmente diverso) per ciascuno. I dipartimenti hanno un numero di dipartimento, un nome ed un ufficio di riferimento. ( )

47 Esercizio 5.3 (3/13) I dipartimenti hanno un professore (noto come direttore ) che gestisce il dipartimento. I professori lavorano in uno o più dipartimenti, e per ciascun dipartimento in cui lavorano viene calcolata una percentuale del tempo lavorato. I laureati hanno un dipartimento principale in cui lavorano al loro programma post-laurea. Progettare e disegnare un diagramma E-R che catturi le informazioni sull Università. Usate solo il modello E-R di base, qui: ossia, entità, relazioni e attributi. Assicuratevi di indicare tutti i vincoli di chiave e di partecipazione.

48 Esercizio 5.3 (4/13) I professori hanno un CF, un nome, un età, un ruolo e una specifica area di ricerca. I dipartimenti hanno un numero di dipartimento, un nome ed un ufficio di riferimento. I professori lavorano in uno o più dipartimenti, e per ciascun dipartimento in cui lavorano viene calcolata una percentuale del tempo lavorato. I dipartimenti hanno un professore (noto come direttore ) che gestisce il dipartimento.

49 Esercizio 5.3 (5/13) nome ruolo cf specialità Professore Per_tempo Lavora_Dip Dipartimento Dirige_Dip dnumero nome ufficio

50 Esercizio 5.3 (6/13) I progetti hanno un numero di progetto, un nome di sponsor (per esempio NSF), una data di inizio, una data di fine e un budget. Ciascun progetto è gestito da un professore (noto come principale responsabile del progetto ). A ciascun progetto lavorano uno o più professori (noti come co-responsabile del progetto ). I professori possono gestire e/o lavorare su progetti multipli.

51 Esercizio 5.3 (7/13) nome ruolo cf specialità Professore Lavora_In Progetto Gestisce pid sponsor inizio budget fine

52 Esercizio 5.3 (8/13) Gli studenti laureati hanno un CF, un nome, un età e un programma post-laurea (es. dottorato o specializzazione). I laureati hanno un dipartimento principale in cui lavorano al loro programma post-laurea.

53 Esercizio 5.3 (9/13) nome età cf prog_post Studente Lavora_post_laurea Dipartimento dnumero ufficio nome

54 Esercizio 5.3 (10/13) A ciascun progetto lavorano uno o più laureati (noti come assistenti di ricerca del progetto ) Quando i laureati lavorano su un progetto, un professore deve supervisionare il loro lavoro. I laureati possono lavorare su progetti multipli, nel qual caso avranno un supervisore (potenzialmente diverso) per ciascuno.

55 Esercizio 5.3 (11/13) nome età cf prog_post Studente Assiste_ricerca Progetto cf pid sponsor inizio budget fine

56 Esercizio 5.3 (12/13) cf nome ruolo specialità cf nome età prog_post Studente Professore Assiste_ricerca Progetto cf pid sponsor inizio budget fine Supervisiona

57 Esercizio 5.3 (13/13)