Sei sulla pagina 1di 41

La progettazione concettuale: il modello ER

17/12/2007

Unit di Apprendimento A2

1 La progettazione concettuale

Prima di procedere con la progettazione concettuale necessario effettuare unanalisi e raccolta delle richieste La progettazione concettuale consiste nel riorganizzare tutti gli elementi che si hanno a disposizione per rappresentare la realt di interesse in termini di descrizione formale e completa. Si procede indipendentemente dal DBMS da utilizzare nellimplementazione. Viene quindi prodotto lo SCHEMA CONCETTUALE (schema ER) che rappresenta il documento ufficiale di riferimento e di comunicazione per i progettisti della successiva fase di progettazione logica.
Unit di Apprendimento A2 2

17/12/2007

2 Il modello concettuale ER

Il modello Entit/Associazioni ER (Entity/Relationship) stato introdotto nel 1976 da Peter P. Chen Si tratta di un modello grafico per descrivere i dati e le associazioni che vi intercorrono Per la costruzione dello schema ER o anche detto diagramma ER si parte dal semplice concetto che la realt da rappresentare composta da entit Ogni entit caratterizzata da delle propriet o anche detti attributi Le varie entit che caratterizzano la realt sono connesse tra loro attraverso specifiche associazioni che evolvono nel tempo Anche le associazioni possono avere degli attributi
Unit di Apprendimento A2 3

17/12/2007

2 Il modello concettuale ER
Esempio 1
Imp.Mat. Cognome Data_Iniz. Marca Modello

Impiegato

Possiede

Computer

Stipendio

Matricola

Lavora

Ufficio

Nome
17/12/2007

Unit di Apprendimento A2

2 Il modello concettuale ER
Esempio 3
Matricola Via Citt Semestre Indirizzo Data Voto Nome

Studente

Esame

Corso

Nome

Telefono

Segue

Docente Offre

Tutor
Cod_Fis. Orario Ricev. Nome Cognome.

Professore
Nome

Iscritto
Nome
17/12/2007

Corso di Laurea
Unit di Apprendimento A2 5

3 Le Entit

Le Entit sono ci che esiste allinterno della realt che si vuole modellare e di cui ci interessa rappresentare alcuni fatti (le propriet) Le Entit possono essere:

Persone Cose Eventi I cantanti: Sting, Pupo, Adriano Celentano I libri: I promessi Sposi, La Bibbia Gli esami: Latino1, Fisica2, Informatica Teorica
Unit di Apprendimento A2 6

Esempi

17/12/2007

3 Le Entit

Le propriet (o attributi) descrivono caratteristiche di specifiche entit Esempi


Cognome del cantante Nome del cantante Titolo del libri Casa Editrice del libro Data di un esame Voto di un esame
Unit di Apprendimento A2 7

17/12/2007

3 Le Entit

Il progettista concettuale attraverso un processo di astrazione mentale classifica le entit di interesse in base alle similitudini e alle propriet comuni definendo il tipo di entit Un tipo di entit descrive la struttura di tutte le entit di una certa natura. Esempio di Tipo di entit

Ogni esemplare che appartiene ad un tipo di entit viene detto istanza N.B. Nel linguaggio informatico si utilizza spesso il termine entit come sinonimo di Tipo di Entit
Unit di Apprendimento A2 8

Cantante Libro Studente Esame Assenza

17/12/2007

3 Le Entit

Negli schemi ER le entit (tipi di entit) vengono rappresentate graficamente con rettangoli contenenti allinterno il nome dellentit.
Cd Corso Materia Classe

Cantante

Attore

VideoCassetta

Docente

Noleggio
17/12/2007

Categoria
Unit di Apprendimento A2 9

4 Gli attributi

Gli attributi sono le propriet delle entit. Attributi semplici: Sono le propriet non strutturabili in propriet pi atomiche Attributi composti o aggregati: Sono costituiti dallaggregazione di altri attributi (semplici o composti) Attributi multipli: Sono costituiti da un elenco di attributi semplici dello stesso tipo
Unit di Apprendimento A2 10

17/12/2007

4 Gli attributi

Ogni attributo caratterizzato da:


Nome Formato o Tipo es: Stringa, Reale, Intero, Booleano, Data, Intervalli definiti dal programmatore, Contatore. Valore dipendente dalla singola istanza di unentit Opzionalit: Obbligatorio il suo valore obbligatorio Facoltativo il suo valore pu essere omesso (cio pu essere ammasso il valore nullo). Valore Nullo (Null) rappresenta uninformazione mancante.
Unit di Apprendimento A2 11

17/12/2007

4 Gli attributi
Super Chiave o Chiave Primaria
Mese Giorno CodFiscale Anno
Data_di_Nascita

Attributo Composto

Titolo_di_Studio (1-N) Nome

Persona

Cognome

Attributi Semplici
17/12/2007

Attributo Multiplo
Unit di Apprendimento A2 12

4 Gli attributi

Esempio: si consideri l'entit Persona, i cui attributi e i relativi domini sono:


Nome: stringa(20) Cognome: stringa(20) Cod_Fiscale: stringa(16) Data_di_Nascita: Giorno Mese Anno Titolo_di_Studio (1-N) : Stringa(50)

dove i domini di giorno, mese, ed anno sono:


Giorno = 1, ..., 31 Mese={Gen,Feb,Mar,Apr,Mag,Giu,Lug,Ago,Set,Ott,Nov,Dic} Anno = 1900, ..., 2100
17/12/2007

Unit di Apprendimento A2

13

5 Quando Modellare con un attributo e quando con unentit


Nel modellare una realt di interesse ci troveremo spesso a decidere se modellare un particolare concetto come entit o come attributo. La scelta verr fatta:

A seconda del contesto A seconda delluso che ne vogliamo fare Nel Conteso Anagrafe il concetto di Comune ci porta a pensare al Comune di nascita di una persona Comune un attributo dellentit persona. Nel Contesto di gestione del territorio il concetto di Comune ci porta a pensare ad unentit che a sua volta avr i suoi attributi Comune unentit
Unit di Apprendimento A2 14

Esempio:

17/12/2007

6 Attributi Chiave

Chiave Insieme di uno o pi attributi Chiave candidata Una chiave che consente di distinguere in modo univoco unistanza di entit dallaltra Chiave primaria (primary key) o Identificatore o SuperChiave La chiave candidata che si scelto di prendere come chiave per distinguere univocamente le varie istanze di entit

La scelta generalmente viene fatta prendendo la chiave candidata costituita dal minor numero di attributi

Qualora le chiavi candidate individuate per unentit sono costituita da un gran numero di attributi, spesso si aggiunge un attributo di tipo contatore che costituisce da solo un buon Identificatore (Chiave Primaria) Una chiave primaria semplice viene rappresentata graficamente con il pallino annerito o sottolineando lattributo. Una chiave primaria composta viene rappresentata graficamente con un segmento che unisce gli attributi ed un pallino nero
Unit di Apprendimento A2 15


17/12/2007

6 Attributi Chiave
Chiave Primaria Semplice
CodFiscale Data_di_Nascita

Nome Cognome

Persona

Titolo_di_Studio (1-N)

CodFiscale

Data_di_Nascita

Nome Cognome

Persona
Chiave Primaria Composta
17/12/2007

Titolo_di_Studio (1-N)

Unit di Apprendimento A2

16

7 Rappresentazione grafica di entit e attributi


Gi trattata nei precedenti paragrafi

17/12/2007

Unit di Apprendimento A2

17

8 Collezioni di entit e gerarchie


Consiste in una tecnica di organizzazione delle entit in una struttura ad albero Partendo da unentit padre si procede dallalto verso il basso per specializzazioni successive creando entit figlie in una successione gerarchica. Si pu procedere anche dal basso verso lalto, partendo da entit figlie pi specializzate verso entit padre pi generiche in un processo di generalizzazione La cosa pi importante che le entit figlie ereditano sempre le propriet delle entit padre.
Unit di Apprendimento A2 18

17/12/2007

9 Le associazioni

LAssociazioni (in Inglese Relationship) un legame logico tra due o pi entit rilevanti nella realt che si sta considerando Come le entit sono classi di oggetti del mondo reale, le associazioni sono classi di fatti. Listanza di unassociazione unaggregazione di istanze delle entit che prendono parte allassociazione.
Unit di Apprendimento A2 19

17/12/2007

9 Le associazioni

Esempio: Tra lentit Persona e lentit Automobile esiste unassociazione Propriet che descrive il fatto che una persona possiede una o pi automobili e viceversa unautomobile e posseduta da una persona
Data_di_Nascita

CodFiscale

Nome Associazione

CasaCostruttrice

Targa

Nome Cognome

Persona

Possiede

Propriet

Posseduta

Automobile
Modello Colore

Ruoli


17/12/2007

Il Nome dellassociazione pu essere sia un sostantivo che un verbo. Lassociazione il pi delle volte prende il nome di uno dei ruoli (il verbo corrispondente), normalmente ritenuto pi rappresentativo nellassociazione. I ruoli spesso non vengono indicati perch ritenuti ovvi
Unit di Apprendimento A2 20

9 Le associazioni

Esempio Precedente: La lettura di unassociazione pu essere letta in modo


diretto partendo dallentit pi rappresentativa: Una Persona Possiede una o pi Automobili Inverso partendo dallentit meno rappresentativa: Unautomobile E Posseduta da una Persona

CodFiscale

Data_di_Nascita

CasaCostruttrice

Targa

Nome Cognome

Persona

Possiede

Automobile
Modello Colore

17/12/2007

Unit di Apprendimento A2

21

9 Le associazioni

Esempio Precedente: Unassociazione pu avere anche delle propriet analogamente a quanto visto per le entit

CodFiscale

Data_di_Nascita

AnnoAcquisto

Concessionaria

CasaCostruttrice

Targa

Nome Cognome

Persona

Propriet

Automobile
Modello Colore

Nota: Non si parla di chiavi di associazioni come invece avviene per le entit

17/12/2007

Unit di Apprendimento A2

22

9 Le associazioni

Grado di unassociazione Numero di Classi di entit che partecipano ad una associazione


Associazione Unaria: Grado 1

Nel caso di associazione unaria il ruolo obbligatorio


Associazione Binaria: Grado 2

17/12/2007

Unit di Apprendimento A2

23

9 Le associazioni

Associazione n-aria (multiple): Grado n > 2

Baget

DataInizio

17/12/2007

Unit di Apprendimento A2

24

9 Le associazioni
Vediamo che le associazioni multiple possono essere trasformate in pi associazioni binarie:
Lassociazione diventa unentit con le propriet dellassociazione eliminata Viene individuata eventualmente la chiave primaria (identificatore) per la nuova classe di entit inserita Vengono costituite n associazioni
Baget DataInizio CodIdenti

Impiegato

Impegnato

Assegnamento

Attribuito

Progetto

Svolto

Sede
17/12/2007

Unit di Apprendimento A2

25

9 Le associazioni

I contenuti dei seguenti sotto paragrafi sono sviluppati e ripresi durante le lezioni.

9.1 Contenuto informativo di un diagramma E-R (Leggi Libro) 9.2 Attributo che passa dallassociazione allentit (Leggi Libro) 9.3 Attributo che diventa entit (Leggi Libro) 9.4 Rappresentazione di unassociazione sulla stessa entit: i ruoli (Gi trattato in modo esplicito nella diapositiva 20 e 23)

17/12/2007

Unit di Apprendimento A2

26

10 Tipi di associazioni
Associazione totale e parziale (cardinalit minima allassociazione)

Data unassociazione A tra le entit X e Y,

X
Associazione diretta

A
Associazione inversa

se si attribuisce arbitrariamente un verso da X a Y questo definisce lassociazione diretta da X a Y. Lassociazione da Y a X viene allora detta inversa

Unassociazione diretta A tra X e Y totale quando il legame tra le entit sempre presente, cio ad ogni di X deve corrispondere almeno un elemento di Y, altrimenti si dice parziale Unassociazione inversa A tra Y e X totale quando il legame tra le entit sempre presente, cio ad ogni di Y deve corrispondere almeno un elemento di X, altrimenti si dice parziale Unassociazione totale viene indicata con una linea continua, mentre unassociazione parziale viene indicata con una linea discontinua
Unit di Apprendimento A2 27

17/12/2007

10 Tipi di associazioni
Associazione totale e parziale (cardinalit minima allassociazione)

Esempio:
Persona
Possiede

ContoCorrente

Associazione diretta parziale (pu)

Associazione inversa totale (deve)

Una persona pu possedere un conto corrente ma pu anche non possederlo Un contocorrente deve essere intestato ad una persona, non pu esistere un conto corrente senza una persona intestataria
Unit di Apprendimento A2 28

17/12/2007

10 Tipi di associazioni
Associazione totale e parziale (cardinalit minima allassociazione)

Esempio:
Persona
Possiede

ContoCorrente

Associazione diretta parziale (pu)

Associazione inversa totale (deve)

Verdi Rossi Biondi Bianchi

Cc 123i Cc 345r Cc 7865f

17/12/2007

Unit di Apprendimento A2

29

10 Tipi di associazioni
Molteplicit (cardinalit massima delle associazioni)

La molteplicit di unassociazione diretta o inversa rappresenta il numero massimo di entit che partecipano allassociazione

Unassociazione diretta o inversa viene detta univoca se la partecipazione allassociazione si ha con al massimo una istanza di ognuna delle due entit Unassociazione diretta o inversa viene detta multivalore (o multipla) se non vi sono vincoli di numero nella partecipazione allassociazione da parte di una delle due entit

La cardinalit di unassociazione descrive la molteplicit delle associazioni diretta e inversa In base alla cardinalit viene quindi fatta una classificazione fondamentale delle associazioni:

Associazioni 1:1 (uno a uno) o biunivoca Associazioni 1:N (uno a molti) o semplice Associazioni N:N (molti a molti) o complessa
Unit di Apprendimento A2

17/12/2007

30

10 Tipi di associazioni
Associazione 1:1 (uno a uno) o biunivoca

In questo tipo di associazione si ha che sia lassociazione diretta che quella inversa partecipano allassociazione con al massimo unistanza dellentit cio sono ambedue associazioni univoche
X
Associazione diretta univoca Associazione inversa univoca

1 1 1

1 1 1

Associazione 1:1 (uno a uno) o biunivoca


Unit di Apprendimento A2 31

17/12/2007

10 Tipi di associazioni
Associazione 1:1 (uno a uno) o biunivoca

Esempio di Associazione 1:1


1
DirigenteScolastico Dirige

Scuola

Lassociazione diretta : Parziale Univoca (molteplicit 1) Lassociazione inversa : Totale Univoca (molteplicit 1)

Verdi Rossi Biondi Neri 17/12/2007

ITIS Fermi ITC Falcone IPSIA Vinci

Unit di Apprendimento A2

32

10 Tipi di associazioni
Associazione 1:N (uno a molti) o semplice

In questo tipo di associazione si ha che lassociazione diretta partecipa con al massimo unistanza dellentit mentre lassociazione inversa partecipa con nessun vincolo di numero allassociazione
1 1 1 N N 1

X
Associazione diretta multipla Associazione inversa univoca

Associazione 1:N (uno a molti) o semplice Si tenga presente che lattribuzione dellassociazione diretta ed inversa del tutto arbitraria quindi si parla di associazione 1:N anche quando la diretta univoca e quella inversa multipla
Unit di Apprendimento A2 33

17/12/2007

10 Tipi di associazioni
Associazione 1:N (uno a molti) o semplice

Esempio di Associazione 1:N


Scuola

HaInOrganico

PersonaleSegreteria

Lassociazione diretta : Totale Multipla (molteplicit N) Lassociazione inversa : Totale Univoca (molteplicit 1)

ITIS Fermi Franchi ITC Falcone

Rossi Verdi Biondi Neri Bianchi

17/12/2007

Unit di Apprendimento A2

34

10 Tipi di associazioni
Associazione N:N (molti a molti) o complessa

In questo tipo di associazione si ha che sia lassociazione diretta che lassociazione inversa partecipano con nessun vincolo di numero allassociazione sono ci ambedue multiple
N 1 N N N 1

X
Associazione diretta multipla Associazione inversa multipla

Associazione N:N (molti a molti) o complessa


Unit di Apprendimento A2 35

17/12/2007

10 Tipi di associazioni
Associazione N:N (molti a molti) o complessa

Esempio di Associazione N:N


Professore

Insegna

Classe

Lassociazione diretta : Parziale Multipla (molteplicit N) Lassociazione inversa : Totale Multipla (molteplicit N)
DeSimoni Rizzini 3A 3B 5B 5A Iannucci 1A

Vincenzi

2B

17/12/2007

Unit di Apprendimento A2

36

11 Rappresentazione delle gerarchie


Verr trattato pi avanti

17/12/2007

Unit di Apprendimento A2

37

12 I vincoli di integrit

Con i modelli grafici visti fino ad ora (entit, attributi, associazioni, cardinalit) si possono modellare gran parte delle strutture dati di interesse Vi sono alcuni aspetti del mondo reale che potrebbero richiedono lintroduzione di informazioni aggiuntive: Vincoli di integrit I vincoli di integrit sono delle restrizioni sui possibili valori relativi ai fatti specifici che si vogliono rappresentare e sui modi in cui essi possono evolvere nel tempo Si definiscono vincoli di integrit perch devono essere necessariamente rispettati pena lintegrit stessa dei dati.
Unit di Apprendimento A2 38

17/12/2007

12 I vincoli di integrit

I vincoli di integrit sono dei predicati che devono essere soddisfatti dalle istanze delle varie entit. Si classificano in:

Vincoli Impliciti imposti dalla stessa struttura dei dati progettata e non richidono predicati specifici se gi inseriti nel diagramma ER

Vincoli di Chiave Primaria istanze di una categoria devono avere chiave primaria tutte diverse fra di loro (nel diagramma ER con pallino nero o sottolineatura dellattributo/i chiave primaria) Vincoli Referenziali (vincolo sulla totalit) data unassociazione totale non possibile inserire unistanza di unentit senza inserire almeno unistanza dellaltra entit associata (nel diagramma ER con linea continua delle associazioni) Esempio: Se si inserisce una Scuola deve essere inseriti almeno unentit di PersonaleSegreteria.
Unit di Apprendimento A2 39

17/12/2007

12 I vincoli di integrit

Vincoli Espliciti sono vincoli che impongono il modo in cui i dati possono cambiare Esempio: Il valore dellattributo Et di unentit persona non pu essere ne negativa ne maggiore di 120.
I vincoli espliciti devono essere necessariamente indicati con dei predicati. I predicati sono esplicitati utilizzando la seguente sintassi: <NumProg>: (<Espressione>)

Numero Progressivo del vincolo


17/12/2007

Espressione in pseudolinguaggio o linguaggio naturale 40

Unit di Apprendimento A2

12 I vincoli di integrit

V1: Lattributo Utente pu assumere solo i valori Studente, Docente, Non Docente Oppure si pu scrivere: V1: Utente=Studente|Docente|Non Docente

Esempio1: Per esprimere il vincolo esplicito in base al quale un attributo Utente pu assumere solo alcuni valori scriveremo:

Esempio1: Per esprimere il vincolo esplicito in base al quale un attributo Et dellentit Persona non pu essere negativo o maggiore di 120 scriveremo
V2: (0< Persona.Et <120)

Esempio2: Per esprimere il vincolo esplicito in base al quale let anagrafica di unentit Dipendente assunto non pu essere inferiore a 16 anni scriveremo:

V3:(Anno(Dipendente.DataAssunzione) - Anno(Dipendente.DataNascita)>16)
Nota: Nel riferirci ad un attributo di unentit si utilizza la notazione punto che separa il nome dellentit e il nome dellattributo che ci interessa.

17/12/2007

Unit di Apprendimento A2

41

Potrebbero piacerti anche