22
La modellizzazione dei dati Il modello concettuale E - R

La modellizzazione dei dati Il modello concettuale E - R

Embed Size (px)

Citation preview

Page 1: La modellizzazione dei dati Il modello concettuale E - R

La modellizzazione dei dati

Il modello concettuale E - R

Page 2: 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.

Page 3: La modellizzazione dei dati Il modello concettuale E - R

Operazioni sui dati

Si possono effettuare due tipi di operazioni sui dati

• Archiviazione

• Interrogazione degli archivi (consultazione)

Page 4: La modellizzazione dei dati Il modello concettuale E - R

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

Page 5: La modellizzazione dei dati Il modello concettuale E - R

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

Page 6: La modellizzazione dei dati Il modello concettuale E - R

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

Page 7: La modellizzazione dei dati Il modello concettuale E - R

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

Page 8: La modellizzazione dei dati Il modello concettuale E - R

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

Page 9: La modellizzazione dei dati Il modello concettuale E - R

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

Page 10: La modellizzazione dei dati Il modello concettuale E - R

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)

Page 11: La modellizzazione dei dati Il modello concettuale E - R

Un esempio

Persona AutomobilePossiede

DataAcquistoPrezzoAcquistoNumTarga

ProduttoreModelloPotenzaCilindrataPrezzoListino

CognomeNomeTitoloCodFiscale

Notare la differenza fra PrezzoListino e PrezzoAcquisto

Entità

Attributi

Relazione

Page 12: La modellizzazione dei dati Il modello concettuale E - R

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

Page 13: La modellizzazione dei dati Il modello concettuale E - R

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

Page 14: La modellizzazione dei dati Il modello concettuale E - R

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

Page 15: La modellizzazione dei dati Il modello concettuale E - R

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.

Page 16: La modellizzazione dei dati Il modello concettuale E - R

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

Page 17: La modellizzazione dei dati Il modello concettuale E - R

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

Page 18: La modellizzazione dei dati Il modello concettuale E - R

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

Page 19: La modellizzazione dei dati Il modello concettuale E - R

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

Page 20: La modellizzazione dei dati Il modello concettuale E - R

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

Page 21: La modellizzazione dei dati Il modello concettuale E - R

Archivio da associazione MOLTI a MOLTI

Docente ClasseInsegna a

E’istruita da

Docente ClasseInsegna

NumeroOre SiglaNumeroAlunniAula

CognomeNomeID

MateriaQualifica

diventa

1 1

Regole di derivazione

Page 22: La modellizzazione dei dati Il modello concettuale E - R

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