Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.