Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

28
Modellazione dei Dati Fabio Scanu a.s. 2012/2013

Transcript of Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Page 1: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Modellazione dei Dati

Fabio Scanu a.s. 2012/2013

Page 2: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Modellazione dei Dati

Costruire una rappresentazione della realtà individuando:• Elementi caratterizzanti• Legami tra gli elementi

Page 3: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 4: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Entità - Relazione

• Introdotto nel 1976• Costruisce un modello concettuale

indipendentemente:• dalle applicazioni• dagli eventi che accadono

Page 5: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Entità

• E’ un oggetto• Ha significato anche quando è

considerato in modo isolato• E’ di interesse per la realtà che si vuole

modellare

Page 6: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Esempio

• Dato il contesto scuola entità di interesse sono:• Materie• Docenti• Studenti

Page 7: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Associazione

• E’ un legame che stabilisce l’interazione tra due entità

PERSONA AUTOMOBILE

Page 8: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Rappresentazione E/R

Persona Possiede Automobile

Page 9: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 10: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Attributi• Caratteristiche:

• Formato (carattere, intero, data, blob)• Dimensione• Opzionalità• Unicità• Valore di default

• Dominio: Insieme dei possibili valori assunti dall’attributo

Page 11: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Attributo null

• Non è la stringa vuota «»• Non è un valore• Rappresenta la mancanza di

informazione

Page 12: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

• 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

Page 13: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 14: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 15: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 16: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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?

Page 17: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

PRIMARY KEYATTRIBUTI

Page 18: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
Page 19: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 20: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 21: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Molteplicità delle relazioni

• Associazione uno a uno 1:1• Associazione uno a molti 1:N• Associazione molti a molti N:N

Page 22: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Associazione biunivoca

• Associazione 1:1• Ad ogni istanza

della prima entità corrisponde una ed una sola istanza della seconda entità

Page 23: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Associazione Biunivoca

• Studente – Diploma Licenza 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

Page 24: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Associazione Biunivoca

Page 25: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 26: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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!)

Page 27: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

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

Page 28: Modellazione dei Dati Fabio Scanu a.s. 2012/2013.

Associazione Complessa

Un contesto noto……

DOCENTI e CLASSI