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
Modello Concettuale
Realtà
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 L’entità è un oggetto concreto o astratto che ha un significato all’interno del modello dei dati anche se viene significato all’interno del modello dei dati anche se viene
considerato isolato. 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à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 Gli attributi descrivono le proprietà delle entità e delle relazionirelazioni
Esempio:
Gli attributi dell’entità Automobile possono essere:
Produttore, Modello, Potenza, Cilindrata, PrezzoListino.
Gli attributi sono caratterizzati da:
• FORMATOFORMATO: è il tipo di formato assunto dall’attributo. Ad es. Stringa, Numerico, DataOra …
• DIMENSIONEDIMENSIONE: è la quantità massima di cifre che occorrono per rappresentarlo
• OPZIONALITA’OPZIONALITA’: indica se è obbligatorio o facoltativo
Chiave Primaria (primary key)
Con il termine Chiave Primaria si indica un attributo di Con il termine Chiave Primaria si indica un attributo di una entità che permette di distinguere un’istanza di una entità che permette di distinguere un’istanza di
quell’entità da tutte le altre.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.1. Associazione Associazione UNO a UNO (1:1)
2.2. Associazione Associazione UNO a MOLTI (1:n)
3.3. Associazione Associazione MOLTI a MOLTI (n :n)
Un esempio
Persona AutomobilePossiede
DataAcquistoPrezzoAcquistoNumTarga
ProduttoreModelloPotenzaCilindrataPrezzoListino
CognomeNomeTitoloCodFiscale
Notare la differenza fra PrezzoListino e PrezzoAcquisto
Entità
Attributi
Relazione
Associazione UNO a UNO
Ad ogni istanza (elemento) dell’entità 1 corrisponde uno Ad ogni istanza (elemento) dell’entità 1 corrisponde uno ed un solo elemento dell’entità 2ed un solo elemento dell’entità 2
Studente DiplomaConsegue
1 1 E’ Conseguito da
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ù Ad ogni elemento dell’entità 1 possono corrispondere più elementi dell’entità 2, mentre ad ogni elemento dell’entità 2 elementi dell’entità 2, mentre ad ogni elemento dell’entità 2
ne corrisponde uno solo dell’entità 1ne corrisponde uno solo dell’entità 1
Studente VerificaSostiene
1 Valuta
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ù Ad ogni elemento dell’entità 1 possono corrispondere più elementi dell’entità 2 e viceversaelementi dell’entità 2 e viceversa
Studente MateriaStudia
E’ studiata da
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 derivazione1. 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 DiplomaConsegue
1 1 E’ Conseguito da
NomeCognomeMatricola
TipoDiplomaAnnoVoto
L’archivio che deriva è dato dalla sola L’archivio che deriva è dato dalla sola tabella DIPLOMATI che contiene tabella DIPLOMATI che contiene come campi tutti gli attributi di come campi tutti gli attributi di Studente e tutti quelli di Diploma Studente e tutti quelli di Diploma
Regole di derivazione
Archivio Campo Chiave Formato
Diplomati
Nome String*25
Cognome String*25
Matricola PK Long Int
TipoDiploma String*50
Anno Integer
Voto Integer
Archivio Diplomati
Regole di derivazione
Archivio da associazione UNO a MOLTI
Studente VerificaSostiene
1 Valuta
NomeCognomeMatricolaClasse
MateriaTipoVerificaVotoDataSvolgimIDVerifica
L’archivio che deriva è formato da 2 tabelle: L’archivio che deriva è formato da 2 tabelle:
Studenti con campi: Nome,Cognome,Matricola (PK)Studenti con campi: Nome,Cognome,Matricola (PK)
Verifiche con campi: Materia, TipoVerifica, Voto, Verifiche con campi: Materia, TipoVerifica, Voto, DataSvolgim e MatricolaStudente (FK)DataSvolgim e MatricolaStudente (FK)
Regole di derivazione
Archivi Studenti e Verifiche
Archivio Campo Chiave Formato
Studenti
Nome String *25
Cognome String *25
Matricola PK Long Int
Verifiche
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 ClasseInsegna a
E’istruita da
Docente ClasseInsegna
NumeroOre SiglaNumeroAlunniAula
CognomeNomeID
MateriaQualifica
diventa
1 1
Regole di derivazione
Archivi Docenti, Classi, Insegna
Archivio Campo Chiave Formato
Docenti
CognomeNome String*50
ID PK Integer
Materia String*25
Qualifica String*15
Classi
Sigla PK String*5
NumeroAlunni Integer
Aula Integer
Insegna
IDdoc PK Integer
SiglaClasse PK String*5
NumeroOre Integer
Regole di derivazione