La modellizzazione dei dati
Il modello concettuale E - R
Modellizzare i dati
E’ il primo passo che deve essere compiuto per poter arrivare
al loro trattamento e alla loro informatizzazione.
I dati di una ditta sono parte del suo patrimonio e possono
essere svariati per quantità e tipo.
Lo sviluppatore deve innanzi tutto creare un modello della
realtà basato sui dati che devono essere archiviati e
manipolati dalla ditta.
Operazioni sui dati
Si possono effettuare due tipi di operazioni sui dati
• Archiviazione
• Interrogazione degli archivi (consultazione)
Dalla realtà al modello fisico
Realtà
Modello
Concettuale
Modello
Logico
Modello
Fisico
E’ una rappresentazione astratta della realtà, organizzata in
forma grafica in modo da ottenere uno schema dei dati. E’
comprensibile da chiunque, anche senza conoscenze
informatiche. MODELLO TIPICO: E-R
Il modello logico dota i dati di una struttura utile per
semplificare ed ottimizzare le operazioni di Archiviazione,
Interrogazione e manipolazione dei dati. STRUTTURA
TIPICA: DATA BASE
Il modello fisico è ottenuto dall’implementazione,
attraverso opportuni software, degli archivi e delle modalità
di accesso. Si tratta di file registrati su H.D. CASO TIPICO:
uso del software ACCESS di Microsoft e creazione del file
*.mdb
Il modello concettuale E-R
E - R rappresenta le iniziali delle parole inglesi Entity –
Relationship.
Gli elementi che compongono il modello sono tre:
• Le ENTITA’
• Le ASSOCIAZIONI (Relazioni)
• Gli ATTRIBUTI
Entità (Entity)
L’entità è un oggetto concreto o astratto che ha un
significato all’interno del modello dei dati anche se viene
considerato isolato.
Di solito si definisce un tipo di entità attraverso un
NOME e lo si rappresenta con un rettangolo.
Esempio:
Gli studenti dell’ITIS sono classificabili
con il tipo di entità STUDENTE.
Ciascun studente dell’Itis rappresenta
quindi un’istanza dell’entità studente.
Studente
Associazioni (Relationship)
E’ il legame che stabilisce un’interazione fra le entità
Ogni relazione ha due versi e per ogni verso esiste un’entità di
partenza e una di arrivo. L’associazione di solito è identificata da un
VERBO e viene rappresentata nel modello da un ROMBO.
Esempio:
Tra le entità Persona e Automobile si può instaurare la relazione
POSSIEDE:
Una persona possiede un’automobile
( verso)
Una automobile è posseduta da una persona
( verso )
Persona
Possiede
Automobile
Attributi
Gli attributi descrivono le proprietà delle entità e delle
relazioni
Esempio:
Gli attributi dell’entità Automobile possono essere:
Produttore, Modello, Potenza, Cilindrata, PrezzoListino.
Gli attributi sono caratterizzati da:
• FORMATO: è il tipo di formato assunto dall’attributo. Ad es. Stringa,
Numerico, DataOra …
• DIMENSIONE: è la quantità massima di cifre che occorrono per
rappresentarlo
• OPZIONALITA’: indica se è obbligatorio o facoltativo
Chiave Primaria (primary key)
Con il termine Chiave Primaria si indica un attributo di
una entità che permette di distinguere un’istanza di
quell’entità da tutte le altre.
Esempio:
Per l’entità Persona, la chiave primaria potrebbe essere il Codice fiscale
(CodFiscale) perché è univoco, cioè diverso per ciascun italiano.
L’attributo che viene elevato a chiave primaria di solito
viene sottolineato o evidenziato in qualche modo nel
diagramma.
Torna all’esempio
Tipi di associazioni
Ci sono tre tipi di associazioni possibili fra entità:
1. Associazione UNO a UNO
(1:1)
2. Associazione UNO a MOLTI
(1:n)
3. Associazione MOLTI a MOLTI
(n :n)
Un esempio
Relazione
Entità
Persona
Possiede
Automobile
Attributi
Cognome
Nome
Titolo
CodFiscale
DataAcquisto
PrezzoAcquisto
NumTarga
Produttore
Modello
Potenza
Cilindrata
PrezzoListino
Notare la differenza fra PrezzoListino e PrezzoAcquisto
Associazione UNO a UNO
Ad ogni istanza (elemento) dell’entità 1 corrisponde uno
ed un solo elemento dell’entità 2
Studente
Diploma
Consegue 
1
 E’ Conseguito da
1
Esempio:
In una scuola ciascun studente consegue un solo diploma
Torna a Tipi di Associazioni
Associazione UNO a MOLTI
Ad ogni elemento dell’entità 1 possono corrispondere più
elementi dell’entità 2, mentre ad ogni elemento dell’entità 2
ne corrisponde uno solo dell’entità 1
Studente
Sostiene 
1
 Valuta

Verifica
Esempio:
Uno stesso studente sostiene più verifiche, una per
ciascuna materia del suo piano di studi. Ciascuna verifica è
svolta da un solo studente.
Torna a Tipi di Associazioni
Associazione MOLTI a MOLTI
Ad ogni elemento dell’entità 1 possono corrispondere più
elementi dell’entità 2 e viceversa
Studente

Studia 
 E’ studiata da

Materia
Esempio:
Ogni studente studia più materie (quelle del suo piano di
studi) e per ogni materia ci sono vari studenti che la
studiano.
Torna a Tipi di Associazioni
Dal modello concettuale al modello
logico
Il modello concettuale E-R serve per passare velocemente
e con regole semplici al modello Logico.
Il modello logico definisce la struttura degli archivi
adatti ad accogliere i dati che sono stati definiti attraverso
il modello concettuale.
Il modello logico viene ottenuto dal modello E-R
attraverso semplici regole di derivazione.
Regole di derivazione
1.
Ogni ENTITA’ diventa un ARCHIVIO (Tabella in Access)
2.
Ogni istanza di un’entità sarà perciò un Record dell’archivio (Tabella)
3.
Ogni ATTRIBUTO di un’entità diventa un CAMPO di ciascuno dei record dell’
archivio (Tabella) e ne eredita le caratteristiche
4.
L’identificatore univoco di un’entità diventa Chiave Primaria (Primary Key) del record
dell’archivio (Tabella)
5.
L’associazione UNO a UNO diventa un archivio unico (Tabella unica) contenente gli
attributi di entrambe le entità
6.
L’associazione UNO a MOLTI si traduce in due archivi, uno per ciascuna delle entità
della relazione
7.
L’identificatore univoco dell’entità di partenza nell’associazione UNO a MOLTI
diventa Chiave Esterna (Foreign Key) dell’entità di arrivo, cioè l’attributo che è PK del
primo archivio diventa un campo dei record del secondo archivio
8.
L’associazione MOLTI a MOLTI diventa un nuovo archivio (Tabella) in aggiunta ai
due archivi derivati dalle due entità legate dall’associazione. Questo nuovo archivio sarà
formato da record che contengono le PK degli altri archivi più gli eventuali attributi
dell’associazione
Archivio da associazione
UNO a UNO
Studente
1
Nome
Cognome
Matricola
Diploma
Consegue 
 E’ Conseguito da
1
TipoDiploma
Anno
Voto
L’archivio che deriva è dato dalla sola
tabella DIPLOMATI che contiene
come campi tutti gli attributi di
Studente e tutti quelli di Diploma
Regole di derivazione
Archivio Diplomati
Archivio
Campo
Formato
Nome
String*25
Cognome
String*25
Matricola
Diplomati
Chiave
PK
Long Int
TipoDiploma
String*50
Anno
Integer
Voto
Integer
Regole di derivazione
Archivio da associazione
UNO a MOLTI
Studente
Sostiene 
1
Nome
Cognome
Matricola
Classe
 Valuta

Verifica
Materia
TipoVerifica
Voto
DataSvolgim
IDVerifica
L’archivio che deriva è formato da 2 tabelle:
Studenti con campi: Nome,Cognome,Matricola (PK)
Verifiche con campi: Materia, TipoVerifica, Voto,
DataSvolgim e MatricolaStudente (FK)
Regole di derivazione
Archivi Studenti e Verifiche
Archivio
Studenti
Campo
Formato
Nome
String *25
Cognome
String *25
Matricola
Verifiche
Chiave
PK
Long Int
Materia
String*25
TipoVerifica
String*25
Voto
Real
DataSvolgim
Date
IDVerifica
PK
Long Int
MatricolaStudente
FK
Long Int
Regole di derivazione
Archivio da associazione MOLTI a
MOLTI
Docente

Insegna a 
 E’istruita da

Classe
diventa
Docente
1
CognomeNome
ID
Materia
Qualifica

Insegna
NumeroOre

Classe
1
Sigla
NumeroAlunni
Aula
Regole di derivazione
Archivi Docenti, Classi, Insegna
Archivio
Campo
Chiave
CognomeNome
Docenti
ID
Insegna
String*50
PK
Integer
Materia
String*25
Qualifica
String*15
Sigla
Classi
Formato
PK
String*5
NumeroAlunni
Integer
Aula
Integer
IDdoc
PK
Integer
SiglaClasse
PK
String*5
NumeroOre
Integer
Regole di derivazione
Scarica

La modellizzazione dei dati