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

Post on 02-May-2015

216 views 0 download

transcript

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 KEYATTRIBUTI

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 – 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

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