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