Modellazione dei Dati Fabio Scanu a.s. 2012/2013
Modellazione dei Dati Costruire una rappresentazione della realtà individuando: Elementi caratterizzanti Legami tra gli elementi
I Livelli di Progettazione Concettuale: rappresenta la realtà dei dati e le relazioni tra essi Logico: Rappresenta il modo in cui i dati sono organizzati Fisico: Rappresenta l’effettiva installazione degli archivi su disco
Entità - Relazione Introdotto nel 1976 Costruisce un modello concettuale indipendentemente: dalle applicazioni dagli eventi che accadono
Entità E’ un oggetto Ha significato anche quando è considerato in modo isolato E’ di interesse per la realtà che si vuole modellare
Esempio Dato il contesto scuola entità di interesse sono: Materie Docenti Studenti
Associazione E’ un legame che stabilisce l’interazione tra due entità PERSONA AUTOMOBILE
Rappresentazione E/R Persona Possiede Automobile
Attributi Entità e Associazioni hanno delle proprietà Le proprietà si definiscono attributi Un’automobile ha come attributo la targa Una persona ha come attributo il codice fiscale L’associazione ha come attributo l’anno di acquisto
Attributi Caratteristiche: Formato (carattere, intero, data, blob) Dimensione Opzionalità Unicità Valore di default Dominio: Insieme dei possibili valori assunti dall’attributo
Attributo null Non è la stringa vuota «» Non è un valore Rappresenta la mancanza di informazione
Una relazione potrebbe avere uno o più attributi ma… UNA RELAZIONE CON PIU’ ATTRIBUTI POTREBBE CELARE LA PRESENZA DI UN’ENTITA’! Dipende dai punti di vista
Attributi Derivati Alcune informazioni non sono derivabili Altre informazioni si possono rilevare da attributi già presenti: Età – Data di nascita Saldo – Entrate, Uscite Aggiungere questi attributi provoca ridondanze
Ridondanza E’ la ripetizione di una stessa informazione all’interno della base di dati Causa problemi di inconsistenza in caso di aggiornamento …ricordiamolo quando parleremo di FORME NORMALI
Chiave Primaria (Primary Key) Insieme MINIMALE di attributi che permettono di distinguere tra loro le istanze di una stessa entità Persona ha come chiave primaria il Codice Fiscale Automobile ha come chiave primaria la Targa …nella teoria
Chiave Primaria (Primary Key) …in pratica Si utilizza un campo id che identifica univocamente l’insieme di attributi Codice Fiscale e Targa vanno bene nel contesto italiano ma allargandoci?
PRIMARY KEY ATTRIBUTI
Molteplicità delle relazioni Numero di possibili istanze di una entità che viene messa in corrispondenza con istanze di un’altra entità che partecipa alla relazione
Molteplicità delle relazioni Valore minimo: 0 = La partecipazione è facoltativa 1 = La partecipazione è obbligatoria Valore massimo: 1 = Al massimo c’è una partecipazione N = Ci sono molte partecipazioni CARDINALITA’: valore massimo
Molteplicità delle relazioni Associazione uno a uno 1:1 Associazione uno a molti 1:N Associazione molti a molti N:N
Associazione biunivoca Associazione 1:1 Ad ogni istanza della prima entità corrisponde una ed una sola istanza della seconda entità
Associazione Biunivoca Studente – DiplomaLicenza Media Ad uno studente corrisponde un solo diploma e viceversa Docente – coordina- Classe Un docente cordina 0 o 1 classe Una classe è coordinata da 1 docente L’associazione per docente è facoltativa L’associazione per classe è obbligatoria
Associazione Biunivoca
Associazione Semplice Associazione 1:N Ad ogni istanza della prima entità posso associare più istanze della seconda entità MA ogni istanza della seconda entità può avere una sola istanza della prima
Associazione Semplice Conto Corrente – efefttua – Movimento Ad un conto corrente sono associati più movimenti (anche 0) Ciascun movimento corrisponde ad un solo conto corrente (1 ed uno solo!)
Associazione Complessa Associazione N:N Ad ogni istanza della prima entità posso associare più istanze della seconda entità E ogni istanza della seconda entità può avere più istanze della prima
Associazione Complessa Un contesto noto…… DOCENTI e CLASSI