Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in...

22
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 Il modello ER

Transcript of Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in...

Page 1: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

Il modello ER

Page 2: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Entità Associazione (relationship) AttributoE inoltre Vincolo di cardinalità Identificatore Gerarchia

Concetti fondamentali

Page 3: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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)

ENTITA’PERSONA STUDENTELIBRO

Una lista di occorrenze non determina l’entità, ma è l’entità che genera le sue occorrenze

Page 4: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

ASSOCIAZIONE (Relationship-relazione)

LIBROAUTORE SCRIVE

Page 5: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Associazione Occorrenza di associazione

Insegna Perone insegna Informatica

Appartiene Lombardia appartiene all’Italia

Lavora Bianchi lavora al Magazzino4

Scrive Manzoni scrive I promessi sposi

Esempi di associazione

La differenza fondamentale fra relazioni ed entità è che una relazione esiste in dipendenza di alcune entità mentre le entità possono avere un’esistenza indipendente.

Page 6: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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 (1)

Page 7: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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(2)

Page 8: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

Semantica delle associazioni(3)

Page 9: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Esempi

PROGETTO DIPENDENTE

N M

Ad un progetto possono partecipare più dipendenti e un dipendente può partecipare a più progettiAd un progetto possono non partecipare dipendentiUn dipendente deve partecipare ad almeno un progetto

OGGETTORIPIANO

N1

Su un ripiano possono stare più oggetti ma un oggetto è situato in un ripianoSu un ripiano possono non esserci oggettiPossono esistere oggetti che non stanno su ripiani

STUDENTE CITTA’

1N

Uno studente può risiedere in una precisa città ma in una città possono risiedere più studentiTutti gli studenti risiedono in una cittàPossono esistere città nelle quali non risiedono studenti

Page 10: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

E’ possibile stabilire più associazioni fra le stesse entità Alcuni tipi di associazioni

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 riflessivaSimmetricaNon transitiva

Nelle associazioni ad anello non simmetriche occorre specificare per ogni ramo il ruolo

Page 11: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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.

ATTRIBUTO nomenome

Page 12: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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(1)

Page 13: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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(2)

Page 14: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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(3)

Page 15: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

Proprietà degli attributi (4)

Page 16: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Identificatore chiave : esempi

Page 17: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Un esempio completo e complesso

Page 18: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

Gerarchie di generalizzazione

Page 19: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Esempi gerarchie

Page 20: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

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

Subset

Page 21: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Errori comuni sulle gerarchie(1)

Page 22: Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.

Errori comuni sulle gerarchie(2)