Sei sulla pagina 1di 4

Diagrammi Entit Relazioni

Cap. 4 Diagrammi Entit Relazioni


4.1 Introduzione
Il Diagramma Entit Relazioni un modello grafico che descrive le relazioni che esistono tra i dati memorizzati in un sistema. Per lanalista di sistemi i Diagrammi E-R hanno il merito di evidenziare le relazioni tra i depositi, che altrimenti sarebbero visibili solo nelle specifiche di processo. Un tipico Digramma E-R mostrato nella figura 4.1. Ogni rettangolo corrisponde ad un deposito nel DFD e le connessioni corrispondono alle relazioni che intercorrono tra i depositi. Le relazioni sono ignorate allinterno di un DFD, perch il DFD focalizza lattenzione del lettore sulle funzioni che il sistema svolge e non sui dati di cui necessita. Le quattro componenti di un Diagramma E-R sono: 1) Oggetti 2) Relazioni 3) Indicatori di oggetto associativo 4) Indicatori di supertipo/sottotipo

4.1 Oggetti
Loggetto rappresentato in Diagramma E-R con un rettangolo. Nellanalisi strutturata un oggetto rappresenta unentit del mondo reale, in altre parole possiamo affermare che un oggetto pu essere associato ad un deposito del DFD. Tutte le regole ed osservazioni che sono state fatte per i depositi valgono anche per gli oggetti. Per gli oggetti useremo il nome al singolare che abbiamo dato al deposito.

4.2 Relazioni
Gli oggetti sono connessi tra di loro per mezzo delle relazioni che sono rappresentate da un rombo. Una relazione rappresenta qualcosa che si vuole ricordare. Ad esempio se in un ospedale vogliamo ricordarci con quale medicina curato un paziente avremo un ERD come quello mostrato in figura 4.1. PAZIENTE e MEDICINA sono due oggetti che esisterebbero MEDICINA PAZIENTE curato indipendentemente dal fatto che un paziente sia curato con una certa medicina, ma se vogliamo Figura 4.1 sapere come un paziente curato abbiamo bisogno di descrivere una relazione tra i due oggetti. Tale relazione dipende strettamente dai due oggetti. Nel Dizionario Dati avremo la seguenti definizioni, dove si pu notare che stata descritta anche la relazione: paziente=@codice_paziente+nome+cognome+et
23

Diagrammi Entit Relazioni

medicina=@codice_meicina+nome-medicina+dose _curato=@codice_paziente+@codice_medicina Notiamo che i campi da cui composta la relazione _curato compaiono anche nei due oggetti. La relazione va ricordata e quindi deve essere memorizzata, infatti esister un deposito per tale scopo. Facciamo un altro esempio: unazienda vuole gestire gli ordini e i pagamenti effettuati, e quindi per ogni ordine ci saranno uno o pi pagamenti. Esiste allora una relazione tra i due oggetti che sar evidenziata nel Diagramma E-R come in figura 4.2. In questo caso, come si nota nella figura, allinterno del rombo non vi ORDINE PAGAMENTO alcun nome. Lindicazione del nome non necessaria in quanto la relazione individuabile Figura 4.2 allinterno delloggetto PAGAMENTO. Nel Dizionario Dati i due oggetti avranno la seguente forma: ordine=@numero_ordine+data+importo pagamento=@numero_pagamento+@numero_ordine+importo+tipo_pagamento Le relazioni possono avere anche una cardinalit, infatti esistono relazioni di tipo 1:1 (uno a uno), di tipo 1:N o N:1 (uno a molti, molti a uno) e di tipo N:M (molti a molti). Una relazione uno a uno pu essere quella che associa preside a scuola: ad ogni scuola corrisponde un preside. Una relazione uno a molti quella che intercorre tra madre e figli: una madre pu avere pi figli ma un figlio ha ununica madre. Una relazione molti a molti quella che intercorre tra lettori e libri: un lettore pu leggere pi libri, un libro pu avere pi lettori. In un Diagramma E-R sono indicate come mostrato in figura 4.3. Alle relazioni si pu anche attribuire un verso e in pratica da che punto di vista leggere la relazione: un preside ha una scuola, una madre n figli. Si definirebbe in tal modo un oggetto primario da cui partire per leggere la relazione. Fino a questo punto abbiamo sempre indicato relazioni tra due oggetti, tuttavia possono esserci relazioni tra pi oggetti. Un esempio pu essere dato dalla relazione che esiste tra PAZIENTE, MEDICO e MEDICINE. Un paziente curato con una
Relazione 1:1 PRESIDE 1 1 SCUOLA Relazione 1:N MADRE 1 N FIGLIO Relazione N:M N M LETTORE LIBRO

PAZIENTE
Figura 4.3

medicina prescritta da un medico (figura 4.4).


MEDICO _curato MEDICINA

24
Figura 4.4

Diagrammi Entit Relazioni

4.3 Indicatori di oggetti associativi


Un indicatore di oggetto associativo rappresenta qualcosa che oggetto e relazione allo stesso tempo, ovvero una relazione su cui si desidera mantenere qualche informazione che slegata dagli oggetti che essa associa. Se nella relazione di figura 4.1 desideriamo ricordare la data di inizio cura dobbiamo introdurre un nuovo attributo o campo. Tale campo non un attributo di paziente n di medicina ed attribuibile solo alla cura. Nel Dizionario Dati avremo: _curato=@codice_paziente+@codice_medicina+data_inizio e il Diagramma E-R sar quello mostrato in figura 4.5. Si pu notare che _curato diventato un oggetto ma connesso PAZIENTE MEDICINA alla relazione, per mezzo della freccia, tra PAZIENTE e MEDICINA. Ci significa che _curato Un oggetto, cio un qualcosa in cui vogliamo memorizzare delle _curato informazioni Una relazione che connette due Figura 4.5 oggetti Laspetto rilevante che PAZIENTE e MEDICINA sono autonomi, mentre _curato esiste solamente come risultato di una relazione tra gli oggetti cui connesso.

4.4 Indicatori di supertipo/sottotipo


Gli oggetti di supertipo/sottotipo consistono di un oggetto e di uno o pi sottooggetti. Se unazienda di produzione vuole gestire il proprio magazzino e gli articoli sono di produzione propria oppure acquistati, sar necessario operare una distinzione. Sicuramente ci saranno attributi comuni come descrizione e quantit, ma vi saranno anche attributi per gli articoli prodotti che non compariranno negli articoli acquistati e viceversa. Per gli articoli prodotti potremmo avere data_produzione e reparto_produzione, mentre per gli articoli acquistati potremmo avere data_acquisto e codice_fornitore. Gli attributi in comune saranno descritti nel supertipo mentre gli attributi differenti saranno descritti in due sottotipi. La figura 4.6 illustra come sono descritti gli indicatori di supertipo/sottotipo in un ERD. Loggetto supertipo pu esistere autonomamente mentre i sottotipi sono strettamente legati al loro ARTICOLO supertipo.

25
ARTICOLO PRODOTTO ARTICOLO ACQUISTATO

Figura 4.6

Diagrammi Entit Relazioni

4.5 Un esempio
Riprendiamo lesempio visto nel capitolo 3. Il Diagramma E-R potrebbe essere come quello mostrato in figura 4.7. La relazione uno a uno tra UFFICIO e IMPIEGATO indica che ogni ufficio ha un direttore. La relazione uno a molti tra UFFICIO e IMPIEGATO indica che ogni ufficio pu avere pi impiegati. La relazione uno a uno tra IMPIEGATO e MANSIONE indica che ogni impiegato ha una mansione.

1 UFFICIO

1 IMPIEGATO

MANSIONE

Figura 4.7

26