Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione grafica Esistono molti “dialetti” ER che spesso si differenziano solo per la notazione grafica adottata
Concetti fondamentali Entità Associazione (relationship) Attributo E inoltre Vincolo di cardinalità Identificatore Gerarchia
ENTITA’ LIBRO PERSONA STUDENTE Qualsiasi cosa astratta o concreta distinguibile dalle altre di interesse conoscitivo per la realtà che si vuole rappresentare ovvero Un insieme di oggetti della realtà di interesse che possiedono caratteristiche comuni e che hanno esistenza “autonoma” Sono definite dal punto di vista intensionale da una proposizione predicativa Un’istanza o occorrenza di un’entità è un valore che rende vera la proposizione predicativa Graficamente si rappresenta con un rettangolo con all’interno il nome dell’entità (al singolare) Una lista di occorrenze non determina l’entità, ma è l’entità che genera le sue occorrenze
ASSOCIAZIONE (Relationship-relazione) Rappresenta un legame logico fra entità , rilevante nella realtà che si sta analizzando Def. formale : date n entità E1, E2,…En non necessariamente disgiunte, si definisce relazione R su tali entità un sottoinsieme del prodotto cartesiano E1xE2x…xEn Un’occorrenza o istanza di associazione è una combinazione delle occorrenze delle entità che partecipano alla relazione Il grado di una relazione è il numero di occorrenze di entità coinvolte in un’occorrenza di relazione Graficamente si rappresentano con un rombo SCRIVE AUTORE LIBRO
Esempi di associazione Occorrenza di associazione Insegna Perone insegna Informatica Appartiene Lombardia appartiene all’Italia Lavora Bianchi lavora al Magazzino4 Scrive Manzoni scrive I promessi sposi La differenza fondamentale fra relazioni ed entità è che una relazione esiste in dipendenza di alcune entità mentre le entità possono avere un’esistenza indipendente.
Semantica delle associazioni (1) La definizione di relazione esprime soltanto l’esistenza di un legame fra entità senza dire nulla sul modo in cui le occorrenze vi partecipano. Si devono allora definire anche alcune proprietà. Opzionalità/Obbligatorietà o Parzialità/Totalità : Una relazione si dice opzionale verso una delle entità se almeno una sua occorrenza non partecipa alla relazione. Se tutte le occorrenze partecipano alla relazione si dice obbligatoria. Il formalismo di rappresentazione nell’ERS è : se opzionale ; se obbligatoria posti sui vertici del rombo da cui partono le linee verso le entità
Semantica delle associazioni(2) Molteplicità : è un’espressione del rapporto fra numero di occorrenze di ciascuna entità che partecipa alla relazione Relazione 1:1 : se ogni occorrenza di un’entità è in relazione con al massimo un’occorrenza dell’altra entità e viceversa (ad ogni elemento del primo insieme E1 corrisponde uno ed un solo elemento dell’insieme E2 e viceversa) Relazione 1: N : se ad ogni occorrenza di un’entità possono corrispondere più occorrenze dell’altra entità ma non viceversa (ad ogni elemento del primo insieme E1 possono corrispondere più elementi dell’insieme E2 ma non viceversa) Relazione N:M : se ad ogni occorrenza di un’entità possono corrispondere più occorrenze dell’altra entità e viceversa (ad ogni elemento del primo insieme E1 possono corrispondere più elementi dell’insieme E2 e viceversa)
Semantica delle associazioni(3) Vengono usati anche altri tipi di formalismi Si parla di cardinalità intendendo il numero di volte che una data occorrenza di un’entità può o deve partecipare all’associazione (1,1) : obbligatoria , una sola volta (1,n) : obbligatorie, almeno una volta (0,1) : opzionale, una sola volta (0,n) : opzionale, n volte Nel caso di un’associazione binaria R tra due entità E1 ed E2 (non necessariamente distinte), si dice che : R è uno a uno se le cardinalità massime di entrambe le entità rispetto a R sono 1 R è uno a molti se la cardinalità massima rispetto ad una delle due è n e rispetto all’altra è 1 R è molti a molti se la cardinalità massima rispetto ad entrambe le entità è n Si dice inoltre che : La partecipazione di E1 in R è opzionale/parziale se la cardinalità minima di E1 rispetto ad R è 0 La partecipazione di E1 in R è obbligatorio/Totale se la cardinalità minima di E1 rispetto ad R è 1
Esempi N M PROGETTO DIPENDENTE Ad un progetto possono partecipare più dipendenti e un dipendente può partecipare a più progetti Ad un progetto possono non partecipare dipendenti Un dipendente deve partecipare ad almeno un progetto 1 N RIPIANO OGGETTO Su un ripiano possono stare più oggetti ma un oggetto è situato in un ripiano Su un ripiano possono non esserci oggetti Possono esistere oggetti che non stanno su ripiani N 1 STUDENTE CITTA’ Uno studente può risiedere in una precisa città ma in una città possono risiedere più studenti Tutti gli studenti risiedono in una città Possono esistere città nelle quali non risiedono studenti
Alcuni tipi di associazioni E’ possibile stabilire più associazioni fra le stesse entità Un’associazione ad anello coinvolte più volte la stessa entità. Queste relazioni possono essere : RiflessiveaRa Simmetriche se aRb allora bRa Transitive se aRb e bRc allora aRc Non riflessiva Simmetrica Non transitiva Nelle associazioni ad anello non simmetriche occorre specificare per ogni ramo il ruolo
ATTRIBUTO nome nome Descrive una proprietà elementare di un’entità o di un’associazione Dal punto di vista intensionale un attributo è caratterizzato da un nome e da un tipo. Dal punto di vista estensionale un attributo è un valore tratto dall’insieme dei possibili valori detto DOMINIO. I valori ammessi costituiscono il vero dominio dell’attributo ; in genere però esiste un sottoinsieme di elementi del dominio che sono associati a qualche occorrenza dell’entità cui l’attributo si riferisce chiamati Valori Assunti. Formalismo di rappresentazione in un ERS : un attributo viene rappresentato da un circolo collegato con una linea alle entità o relazioni cui si riferisce. Dentro o sopra il circolo si scrive il nome assegnato.
Proprietà degli attributi(1) Semplici : la funzione che definisce l’attributo associa ad un’occorrenza di un’entità uno ed un solo valore dell’attributo nome per entità studente Composti : raggruppamento di attributi affini per significato o per uso Multipli : la funzione che definisce l’attributo associa ad un’occorrenza dell’entità più di un valore del dominio
Proprietà degli attributi(2) Opzionale: un attributo A di un’entità E (o di una relazione R) si dice opzionale se possono esistere occorrenze di E (o di R) che non hanno associato alcun valore di A Obbligatorio : un attributo A di un’entità E (o di una relazione R) si dice obbligatorio se tutte le occorrenze di E (o di R) hanno associato almeno un valore di A Per rappresentarlo si può usare la notazione con parentesi tonde : (1,1) obbligatorio semplice (1,n) obbligatorio multiplo (0,1) opzionale, semplice (0,n) opzionale multiplo
Proprietà degli attributi(3) Derivato : un attributo il cui valore è fornito come risultato del calcolo di un’espressione spesso costruita sui valori di altri attributi (in fase di progettazione dovrò decidere se memorizzarlo (con spreco di spazio di memoria) o calcolarlo all’occorrenza ( spreco di tempo di esecuzione
Proprietà degli attributi (4) Identificatore/Chiave : Un attributo chiave è un attributo (chiave semplice) o un insieme di attributi (chiave composta) che identifica in modo univoco ogni occorrenza di entità Deve valore anche la proprietà di minimalità ovvero nessun sottoinsieme della chiave deve essere a sua volta un identificatore Il simbolo è Può essere : Interno : scelto fra uno o più attributi dell’entità Esterno : si usano altre (una o più di una) entità collegate attraverso relazioni all’entità in esame più eventuali attributi di E Le identificazioni esterne avvengono sempre tramite associazioni binarie in cui l’entità da identificare partecipa co cardinalità (1,1) Alcune volte si dice che un’entità è debole se ha solo identificatori esterni, forte altrimenti
Identificatore chiave : esempi
Un esempio completo e complesso
Gerarchie di generalizzazione Un’entità E (detta entità padre) è una generalizzazione di un gruppo di entità E1, E2,…,En se ogni occorrenza di E1, E2, …, En è anche un’occorrenza di E Le entità E1, E2,…En sono dette specializzazioni o entità figlie Graficamente Le proprietà di E sono ereditate da E1, E2,…,En : ogni Ei ha gli attributi di E e partecipa alle relazioni di E Occorre analizzare se la gerarchia è : Totale : ogni occorrenza dell’entità padre appartiene ad una delle entità figlie Parziale : possono esistere occorrenze dell’entità padre che non appartengono ad alcuna delle entità figlie Sovrapposta : possono esistere occorrenze dell’entità padre che appartengono a più entità figlie Esclusiva : tutte le occorrenze dell’entità padre appartengono al massimo ad una delle entità figlie
Esempi gerarchie
Subset E’ un tipo particolare di gerarchia in cui si evidenzia una sola entità figlia Non ha senso parlare di totalità/parzialità e di sovrapposta/esclusiva
Errori comuni sulle gerarchie(1)
Errori comuni sulle gerarchie(2)