La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Database: la modellazione concettuale

Presentazioni simili


Presentazione sul tema: "Database: la modellazione concettuale"— Transcript della presentazione:

1 Database: la modellazione concettuale
Lezione per una Quinta ITC S.I.A. di: Anastasi Gaetano Ciaramella Alessandro Giannini Giacomo Meomartino Michele Sartor Massimiliano

2 Che cos’è un modello? Definizione: rappresentazione formale di una parte del mondo reale per uno scopo ben definito Esempi:Modello atomico, carta geografica A partire dalla stessa cosa, scopi diversi danno vita a modelli diversi

3 Importanza del modello
Carta geografica: come sarebbe spostarsi senza avere le carte? Permette di avere una rappre-sentazione della cosa che interessa senza avere la cosa reale: modellini di auto Permette valutazioni preventive: galleria del vento

4 Come si realizza un modello?
Si usano formalismi e convenzioni In una carta geografica: Nazioni = poligoni Fiumi = linee azzurre Pianure = aree verdi In un database: ???

5 Cosa rappresentare in un modello
In una carta geografica: Fiumi, laghi, città, strade, … In un database: Entità con i loro tipi e proprietà Collezioni di entità Legami tra le entità Condizioni e vincoli

6 Un primo esempio (1) “Una compagnia di trasporti desidera realizzare una base di dati per monitorare i treni che utilizza, indicandone il numero, il nome del macchinista e la tipologia (espresso o locale); desidera al contempo monitorare le stazioni che essa serve specificandone il nome, l’indirizzo e l’importanza (principale o secondaria), oltre ai treni che la contemplano nel loro percorso.”

7 Un primo esempio In questo esempio sono entità: Treni Stazioni
Le loro proprietà sono rispettivamente: Numero, macchinista, espresso Nome, indirizzo, importanza In generale sono entità le cose che di per sé hanno senso di esistere nel mio modello, sono proprietà quelle cose che servono per descrivere le entità

8 Il formalismo grafico (1)
Le entità del mondo reale vengono rappresentate con dei rettangoli che chiameremo classi Le proprietà delle entità saranno elencate all’interno dei rettangoli e si chiameranno attributi

9 Il tipo degli attributi
Ogni attributo può assumere un insieme particolare di valori (tipo) Esistono tipi semplici, composti, enumerati, sequenza

10 Le associazioni Nel mondo esistono dei legami tra le entità che noi vogliamo modellare, ad esempio ogni treno si ferma in varie stazioni: se questo è importante nel mio modello determina un legame tra i treni e le stazioni. Questi legami si chiamano associazioni e si modellano con una linea che unisce le entità in associazione

11 Molteplicità e totalità
Per raffinare il mio modello voglio esprimere di più: in quante stazioni si può fermare un treno? Solo una o più di una? Anche nessuna oppure no? E in una stazione quanti treni si fermano?

12 Molteplicità e totalità
obbligatoria opzionale 1 molti

13 Altri esempi Uomini, mogli Calciatori, partite
Calciatori, partite, squadre Proprietari, auto Persone, auto

14 Un primo esempio (2) Estendo l’esempio, cambiando scopo cambierà il modello: la società vuole anche i dati necessari per pagare i macchinisti. Mi serviranno quindi IBAN e codice fiscale dei macchinisti. A questo punto il macchinista non può più essere una semplice proprietà ma deve diventare un’entità

15 Attributo o Entità? Descrivendo delle Persone, mi accorgo che possono avere più numeri di telefono: l’attributo sarà quindi multivalore. Nella misura in cui mi interessa solo il numero posso modellare così: Se viceversa volessi sapere anche la tipologia a cui corrisponde ogni numero, dovrei fare Nota che un numero di telefono può essere collegato a più di una persona (coinquilini, colleghi in uno stesso ufficio)

16 Un primo esempio (3) Raffinando il processo di analisi mi rendo conto che i treni espresso si fermano solo nelle stazioni principali, mentre i treni locali si possono fermare in qualsiasi stazione Quindi devo esprimere il fatto che alcuni treni si comportano in modo diverso dagli altri, ovvero implicitamente che esistono più sottoinsiemi all’interno della classe

17 Una (non) soluzione Vengono duplicati inutilmente gli eventuali attributi comuni di treni locali e treni espressi Vengono duplicati inutilmente gli attributi comuni delle stazioni secondarie e principali Viene replicata inutilmente la relazione tra treni e macchinisti Viene replicata inutilmente la relazione treni locali – stazioni secondarie e treni locali – stazioni principali

18 Gerarchie: una soluzione

19 Attributi delle associazioni
Se volessi esprimere anche la durata delle fermate dei treni nelle varie stazioni, a quale entità attribuirei la proprietà durata? Stazioni? No, perché diversi treni hanno tempi di fermata diversi Treni? No, perché i tempi differiscono nelle varie stazioni Durata è una proprietà del legame che intercorre tra i treni e le stazioni: devo modellarla come attributo dell’associazione

20 La soluzione finale


Scaricare ppt "Database: la modellazione concettuale"

Presentazioni simili


Annunci Google