METODOLOGIE E MODELLI
Basi di dati | Modello E-R 5{0
Progettazione di basi di dati
e una delle attivita del processo di sviluppo dei sistemi informatici
va quindi inquadrata in un contesto piu generale:
il ciclo di vita dei sistemi informatici:
{
Insieme e sequenzializzazione delle attivita svolte da analisti, progettisti, utenti, nello sviluppo e nell'utilizzazione deisistemi informatici.
{
Si tratta di una attivita iterativa (percio \ciclo")Basi di dati | Modello E-R 5{1
Fasi del ciclo di vita
una possibile articolazione
Attivita preliminari
Analisi
Progettazione
Realizzazione
Installazione, transizione, gestione, manutenzione
Al termine (e non solo) di ciascuna fase, deve essere svolta una attivita di verica (validazione) della qualita dei prodotti.
Anche in caso di adamento all'esterno delle attivita di sviluppo, buona parte delle fasi del ciclo di vita rimangono di interesse.
Basi di dati | Modello E-R 5{2
Analisi
Attivita volta alla individuazione dei requisiti dell'applicazione, in tutti i dettagli signicativi. Le informazioni vengono acquisite attraverso
interazione con gli utenti (a diversi livelli)
studio delle realizzazioni esistenti
studio della normativa
Basi di dati | Modello E-R 5{3
Progettazione
Attivita volta alla individuazione delle modalita secondo cui l'applicazione rispondera ai requisiti. In questa fase vengono deniti
i dati di ingresso e uscita e la loro organizzazione
l'architettura hardware e software
la organizzazione dei moduli software
Basi di dati | Modello E-R 5{4
Analisi e progettazione Analisi
denizione di un problema;\che cosa"
esame delle procedure aziendali
scopo dell'analisi e la
modellazione
, la costruzione di un modello preciso, ma astratto rispetto alle realizzazioniProgettazione
risoluzione di un problema;\come"
automatizzazione delle procedure
Basi di dati | Modello E-R 5{5
prodotti fondamentali della fase di analisi sono le
rappresentazioni del sistema secondo opportuni formalismi
poiche in un sistema abbiamo processi (funzioni) e dati, l'analisi deve riguardare entrambi gli aspetti
{
analisi dei dati{
analisi delle funzionil'analisi delle funzioni puo apparire piu \naturale" perche fa riferimento alle attivita che vengono svolte
l'analisi dei dati e pero essenziale per studiare i ussi
informativi (soprattutto interprocesso) ed e per certi aspetti piu semplice perche i dati sono piu stabili e piu facilmente analizzabili in dettaglio
Basi di dati | Modello E-R 5{6
lo studio di metodologie complete per lo sviluppo di sistemi informativi (e informatici) e oltre gli obiettivi di un corso di basi di dati
il ruolo centrale dei dati (e quindi delle basi di dati) giustica uno studio autonomo della progettazione di basi di dati
Basi di dati | Modello E-R 5{7
Metodologia
articolazione delle attivita in fasi, con input e prodotti
strategie per i vari passi e criteri di scelta
modelli per la rappresentazione dei prodotti delle varie fasi Proprieta:
generalita (rispetto alle applicazioni e ai sistemi)
qualita del prodotto (correttezza, completezza, ecienza, ...)
facilita d'uso
Basi di dati | Modello E-R 5{8
Fasi del processo
di progettazione di basi di dati Analisi dei requisiti e progettazione concettuale
:raccolta ed esame delle speciche;
costruzione di uno
schema concettuale
(descrizione dei dati in un modello astratto) e di un glossarioProgettazione logica
: denizione delloschema logico
della base di dati (descrizione utilizzata dagli utenti e dai programmi)Progettazione sica
: denizione dei parametri realizzativi di livello piu bassoLa progettazione di basi di dati segue l'articolazione in livelli dei sistemi, aggiungendo anzi un livello piu astratto
Basi di dati | Modello E-R 5{9
il prodotto fondamentale della prima fase (analisi e
progettazione concettuale) e lo
schema concettuale
(con la documentazione associata), cioe uno schema dei dati secondo un modelloconcettuale
i modelli concettuali vengono spesso utilizzati n dall'inizio dell'ativita di analisi e sono molto utili anche per la
comunicazione fra specialisti e non specialisti (analisti e committenti)
vediamo in dettaglio un modello concettuale
Basi di dati | Modello E-R 5{10
Modello dei dati
costrutti utilizzati per organizzare i dati di interesse
componente fondamentale:
meccanismi di strutturazione
(ocostruttori di tipo
)ad esempio, il modello relazionale prevede il costruttore
relazione
, che permette di denire insiemi di record omogeneiBasi di dati | Modello E-R 5{11
Le relazioni possono essere rappresentate per mezzo di tabelle docenza Corso Docente
Basi di dati Rossi Impianti Neri Linguaggi Verdi
::: :::
manifesto CdL Materia Anno II Basi di dati 5
II Impianti 5
II Linguaggi 4
IE Linguaggi 5
IE Impianti 5
::: ::: :::
Basi di dati | Modello E-R 5{12
In ogni base di dati esistono:
lo
schema
, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspettointensionale
);nell'esempio, le intestazioni delle tabelle
l'
istanza
, costituita dai valori attuali, che possono cambiare molto e molto rapidamente (aspettoestensionale
);Basi di dati | Modello E-R 5{13
Due tipi (principali) di modelli:
modelli logici
: utilizzati nei DBMS esistenti per l'organizzazione dei dati; ad essi fanno riferimento i programmi; sono indipendenti dalle strutture siche;
modelli concettuali
: peremettono di rappresentare i dati in modo indipendente da ogni sistema, cercando di descrivere i concetti del mondo reale; sono utilizzati nelle fasi preliminari di progettazione;il piu noto e il modello
Entity-Relationship
Basi di dati | Modello E-R 5{14
i modelli concettuali vengono spesso utilizzati n dall'inizio dell'attivita di analisi e sono molto utili anche per la
comunicazione fra specialisti e non specialisti (analisti e committenti)
i modelli concettuali sono stati introdotti per ovviare al limitato potere espressivo e alla \rigidita" dei modelli logici
Basi di dati | Modello E-R 5{15
in un modello concettuale (come in ogni modello dei dati), i dati possono essere descritti a due livelli:
estensionale
, relativo ai dati veri e propri, fortemente variabile nel tempointensionale
, o delloschema
relativo alla struttura dei dati, molto piu stabilein sede di progettazione, interessa (solo) lo schema, in quanto astrazione del livello estensionale
Basi di dati | Modello E-R 5{16
lo schema concettuale e una rappresentazione delle classi dei dati di interesse e delle loro correlazioni, in modo indipendente da ogni aspetto realizzativo (poi, la realizzazione sara basata sullo schema concettuale, ma non viceversa)
si utilizzano rappresentazioni grache degli schemi concettuali (che hanno un signicato ben preciso, non solo \scatole e frecce")
Basi di dati | Modello E-R 5{17
Il modello E-R (Entity-Relationship)
il piu diuso modello concettuale
attenzione: ne esistono molte versioni, (piu o meno) diverse l'una dall'altra
Basi di dati | Modello E-R 5{18
I costrutti del modello E-R
entita
relationship
attributi
identicatori
generalizzazioni e sottoinsiemi
Basi di dati | Modello E-R 5{19
entita
: classe di oggetti (fatti, persone) del frammento di interesse del mondo reale, con proprieta omogenee e con esistenza\autonoma"; es. persone, citta, aziende, fatture, ordini
relationship
: legame logico fra due o piu entita, di interesse per l'applicazione; classe di fatti di interesseBasi di dati | Modello E-R 5{20
entita
: la classe di oggetti omogenei (e il loro tipo)occorrenza
(oistanza
)di entita
: ciascun elemento della classenello schema concettuale rappresentiamo le entita, non le singole istanze (\astrazione")
Basi di dati | Modello E-R 5{21
ogni entita ha un
nome
che la identica univocamente nello schema{
nomi espressivi{
opportune convenzioni (ad esempio, sempre singolare)Basi di dati | Modello E-R 5{22
Entita: rappresentazione graca
Impiegato
Citta
Regione
Azienda
Basi di dati | Modello E-R 5{23
relationship
legame logico fra due o piu entita, di interesse per l'applicazione; classe di fatti di interessespesso non tradotto per evitare la confusione con relazione (traduzione di relation)
anche tradotto con
correlazione
oassociazione
Basi di dati | Modello E-R 5{24
occorrenza
(oistanza
)di relationship
:n-upla (coppia, terna, ...) di istanze di entita, una per ciascuna entita coinvolta
relationship
: insieme di n-uple omogenee pertipo (entita di provenienza)
signicato (rispetto all'applicazione)
Basi di dati | Modello E-R 5{25
Relationship:
rappresentazione graca
Studente Esame
H
H
H
H
H
H
H H H H H
H Corso
Persona Residenza
H
H
H
H
H
H
H H H H H
H Citta
Basi di dati | Modello E-R 5{26
due entita possono essere coinvolte in piu relationship
Persona Residenza
H
H
H
H
H
H
H H H H H
H Citta
Nascita
H
H
H
H
H
H
H H H H H H
Basi di dati | Modello E-R 5{27
un dettaglio formale:
le istanze di una relationship formano un
insieme
: non ci possono essere elementi ripetutisi tratta di una
relazione
nel senso matematico del termine:(sottoinsieme del prodotto cartesiano degli insiemi di istanze coinvolte)
Paziente Visita
H
H
H
H
H
H
H H H H H
H Medico
?
Basi di dati | Modello E-R 5{28
le relationship possono coinvolgere piu di due entita
Dipartimento Fornitura
H
H
H
H
H
H
H
H H H H H H
H Prodotto
Venditore
A fornisce stampanti al Dip Personale B \ fotocopiatrici \ \ Personale
A \ calcolatori \ \ Ricerca
C \ calcolatori \ \ Personale
Basi di dati | Modello E-R 5{29
una relationship puo coinvolgere \due volte" la stessa entita (relationship
ricorsiva
)puo essere necessario distinguere \ruoli"
Persona
Conoscenza
H
H
H
H
H
H
H H H H H H
Sovrano
Successione
H
H
H
H
H
H
H H H H H H
Successore Predecessore
Basi di dati | Modello E-R 5{30
possono esistere relationship ternarie ricorsive
Tennista
Confronto
H
H
H
H
H
H
H H H H H H
Migliore Peggiore
Supercie
Migliore Peggiore Supercie Sanchez Navratilova Terra Navratilova Sanchez Erba
Graf Sanchez Erba
Basi di dati | Modello E-R 5{31
attributo
: proprieta elementare di un'entita o una relationship, di interesse ai ni dell'applicazioneun attributo associa un valore a ciascuna occorrenza dell'entita (o relationship) su cui e denito
Studente Esame
H
H
H
H
H
H
H
H H H H H H
H Corso eCodice
eDenominazione
eProfessore
e
Voto
Matricola e
Nome e
Basi di dati | Modello E-R 5{32
Uno schema E-R
IMPIEGATO AFFERENZA
DIREZIO NE
DIPARTIMENTO
PROGETTO
PARTECIPAZIONE
SEDE COM PO SIZIONE
Età Cognome
Stipendio
Data consegna Nome Budget
Nome Telefono
Città Data inizio
Data afferenza
Indirizzo Via Numero civico
CAP Codice
Basi di dati | Modello E-R 5{33
Altri costrutti e dettagli del modello:
cardinalita delle relationship
identicatori
gerarchie
Basi di dati | Modello E-R 5{34
Cardinalita delle relationship
permettono di specicare il numero minimo e massimo di occorrenze della relationship cui ciascuna occorrenza di una entita deve/puo partecipare
per semplicita usiamo:
{
0 e 1 per la cardinalita minima:0 = \e opzionale"; 1 = \e obbligatoria"
{
1 e \N" per la massima:\N" non pone alcun limite
con riferimento alle cardinalita massime, abbiamo relationship:
uno a uno, uno a molti, molti a molti
Basi di dati | Modello E-R 5{35
le cardinalita vanno specicate per ciascuna entita che partecipa alla relationship
E1 R
H
H
H
H
H
H
H
H H H H H H
H E2
(m, M) (p,P)
ogni occorrenza di E1 partecipa ad almeno m e al piu M occorrenze di R
ogni occorrenza di E2 partecipa ad almeno p e al piu P occorrenze di R
Basi di dati | Modello E-R 5{36
Relationship \molti a molti"
Persona Amicizia
H
H
H
H
H
H
H H H H H
H Animale
(0,N) (0,N)
Montagna Scalata
H
H
H
H
H
H
H H H H H
H Alpinista
(0,N) (1,N)
Macchinista Abilitazione
H
H
H
H
H
H
H H H H H
H Locomotore
(1,N) (1,N)
Basi di dati | Modello E-R 5{37
Relationship \uno a molti"
Persona Impiego
H
H
H
H
H
H
H H H H H
H Societa
(0,1) (0,N)
Cinema Ubicazione
H
H
H
H
H
H
H H H H H
H Localita
(0,1) (1,N)
Comune Ubicazione
H
H
H
H
H
H
H H H H H
H Provincia
(1,1) (1,N)
Basi di dati | Modello E-R 5{38
Relationship \uno a uno"
Professore Titolarita
H
H
H
H
H
H
H H H H H
H Cattedra
(0,1) (0,1)
Professore
di ruolo Titolarita
H
H
H
H
H
H
H H H H H
H Cattedra
(1,1) (0,1)
Professore
di ruolo Titolarita
H
H
H
H
H
H
H H H H H H
Cattedra coperta (1,1) (1,1)
Basi di dati | Modello E-R 5{39
Due avvertenze:
attenzione al \verso" nelle relationship uno a molti
le relationship obbligatorie-obbligatorie spesso hanno poco senso
Basi di dati | Modello E-R 5{40
Cardinalita di attributi
Possono essere usate per:
indicare opzionalita (molto utili, corrispondono ai valori nulli)
per indicare attributi multivalore (non sempre utilizzati)
PERSONA Nome
Numero patente Targa automobile
(0,N)
(0,1)
Basi di dati | Modello E-R 5{41
Identicatore di una entita
\strumento" per l'identicazione univoca delle occorrenze
e costituito da
{
attributi (uno o piu) dell'entita:identicatore
interno
{
(da attributi e) entita esterne (attraverso relationship):identicatore
esterno
ogni entita deve avere (almeno) un identicatore
Basi di dati | Modello E-R 5{42
Identicatori interni
AUTOMOBILE
Colore Modello Targa
PERSONA
Data di nascita
Nome Cognome
Indirizzo
Basi di dati | Modello E-R 5{43
Identicatore esterno
STUDENTE ISCRIZIONE UNIVERSITÀ
Nome Città Indirizzo Matricola
Cognome Anno Iscrizione
(1,1) (1,N)
Basi di dati | Modello E-R 5{44
perche non parliamo degli identicatori delle relationship?
Basi di dati | Modello E-R 5{45
Uno schema con attributi e identicatori
IMPIEGATO AFFERENZA
DIREZIO NE
DIPARTIMENTO
PROGETTO PARTECIPAZIO N E
SEDE
COM POSIZIONE
Età Cognome
Stipendio
Data consegna Nome Budget
Nome Telefono
Città Data inizio
Data afferenza
Indirizzo Via Numero civico
CAP Codice
(0,1) (1,N)
(0,1) (1,1)
(1,1)
(1,N) (0,N)
(1,N)
(1,N)
(0,1)
Basi di dati | Modello E-R 5{46
Generalizzazione
uomo e donna sono i due casi particolari di persona
dipendente e un concetto che generalizza i concetti di funzionario, impiegato, dirigente
Basi di dati | Modello E-R 5{47
Generalizzazione
mette in relazione una o piu entita
E
1,E
2, :::,E
n con un'altra entitaE
, di esse piu generale, nel senso che le comprendecome caso particolare
ogni proprieta di
E
e signicativa perE
1,E
2, :::,E
nogni occorrenza di
E
i e occorrenza anche diE
ogni occorrenza di
E
e occorrenza di al piu unaE
iBasi di dati | Modello E-R 5{48
E
1,E
2, :::,E
n sonospecializzazioni
(sottotipi
,sottoinsiemi
) diE
le proprieta (attributi, relationship, altre generalizzazioni) di
E
vengono
ereditate
daE
1,E
2, :::,E
n (e non rappresentate esplicitamente)Basi di dati | Modello E-R 5{49
Dipendente
Impiegato Funzionario Dirigente
,
,
@
@
Basi di dati | Modello E-R 5{50
Citta NascitaHHHHHH
H H H H H
H Persona ddCognomeNome
Professore
Dipartimentod Studente
dCognome
dNome
, ,@
@
ogni professore e una persona
ogni studente e una persona
nessun professore e studente e viceversa
esistono persone che non sono ne studenti ne professori
ogni studente ha nome, cognome e citta di nascita (ereditati)
Basi di dati | Modello E-R 5{51
una generalizzazione e
completa
se ogni occorrenza del\genitore" e occorrenza di uno dei gli
Persona eCodice Fiscale
eCognome
eNome
Uomo
Pos Militaree
Donna
,
,
@
@
Basi di dati | Modello E-R 5{52
nel caso di generalizzazione con un solo glio si parla di
sottoinsieme
(ogerarchia is-a
)ovviamente, non si puo avere completezza
Persona
Studente
,
,
@
@
Basi di dati | Modello E-R 5{53
possono esistere gerarchie a piu livelli e multiple gerarchie allo stesso livello
un'entita puo essere inclusa in piu gerarchie, come genitore e/o come glio
alcune congurazioni non hanno senso
il genitore di una gerarchia completa puo non avere identicatore (purche ce l'abbiano tutte le entita glie)
Basi di dati | Modello E-R 5{54
UOMO DONNA
PERSONA
SEGRETARIO PROGETTISTA
Età
Codice Fiscale
Situazione militare Cognome
DIRETTORE
RESPONSABILE DI PROGETTO
IMPIEGATO STUDENTE Matricola Stipendio
Orario
Basi di dati | Modello E-R 5{55
Documentazione associata
dizionario dei dati (entita, relationship, attributi, gerarchie)
vincoli non esprimibili
Basi di dati | Modello E-R 5{56
Entita Descrizione Attributi Identicatore
Impiegato Impiegato che lavoranella azienda Codice, Cognome,Stipendio, Eta Codice Progetto Progetti ai quali lavo-
rano gli impiegati della azienda
Nome, Budget,
Data consegna Nome Dipartimento Dipartimenti delle sedi
della azienda Telefono, Nome Nome, Sede Sede Sede della azienda in
una certa citta Citta, Indirizzo Citta
Basi di dati | Modello E-R 5{57
Relationship Descrizione Entita Coinvolte Attributi
Direzione Associa un dipartimento
al suo direttore Impiegato, Dipartimento Aerenza Associa un impiegato al suo
dipartimento Impiegato,
Dipartimento Data aerenza Partecipazione Associa agli impiegati
i progetti sui quali lavorano Impiegato, Progetto Data inizio Composizione Associa una sede
ai dipartimenti di cui e composta
Dipartimento, Sede
Basi di dati | Modello E-R 5{58
Vincoli di integrita sui dati
(1) Un impiegato puo essere direttore solo del dipartimento a cui aerisce.
(2) Un impiegato non puo avere uno stipendio maggiore del direttore del dipartimento al quale aerisce.
(3) Un impiegato non puo partecipare a un progetto se non aerisce a nessun dipartimento.
(4) Il budget di un progetto deve essere superiore alla somma degli stipendi degli impiegati che vi partecipano.
Basi di dati | Modello E-R 5{59