Ciclo di vita dei Sistemi Informativi
La Progettazione del DB è una delle fasi di creazione di un sistema
informativo. Il ciclo di vita di un sistema informativo ha 6 fasi:
-
Studio di fattibilità: scelta delle alternative possibili e delle priorità di
realizzazione delle componenti del sistema
-
Raccolta ed analisi requisiti, ossia interagendo con gli utenti si devono
definire dati ed operazioni su di essi, e quindi i requisiti hw/sw
-
Progettazione:
progettazione del db e progettazione delle
applicazioni
- Implementazione: creazione del prototipo, sia per db sia per applicazioni
-
Validazione e collaudo, verifica della correttezza (informatica) e della
coerenza con i requisiti del cliente, e test di tutte le condizioni di lavoro
-
Funzionamento a regime, ossia manutenzione ed estensione
Le fasi possono ricominciare, da cui il termine ciclo (raffinamenti successivi).
Progettazione di un database
La progettazione è suddivisa in tre fasi:
- Progettazione concettuale
- Progettazione logica
- Progettazione fisica
Progettazione Concettuale
Traduzione della descrizione informale della
realtà, cioè i requisiti del DB sottoforma di
documenti e moduli di vario genere, in uno
schema formale, completo
(usando ad esempio il
modello entita'-relazione) e indipendente dai criteri di
rappresentazione del DBMS usato:
il risultato si chiama schema concettuale.
Progettazione Logica
-
Consiste
nella
traduzione
dello
schema
concettuale in termini di un determinato
modello logico di dati (ad esempio il modello
relazionale)
usato dal DBMS che si intende
utilizzare
- Il risultato e' lo schema logico.
-
Include l'ottimizzazione della rappresentazione
in funzione
delle
operazioni eseguite
(es.
normalizzazione)
Progettazione Fisica
- Si completa lo schema logico con la specifica dei
parametri fisici di memorizzazione dei dati.
- Si produce lo schema fisico che fa riferimento ad un
certo modello fisico dei dati che dipende dal DBMS
scelto.
Il modello Entita'-Relazione (E-R)
- e' un modello concettuale di dati che contiene alcuni
costrutti per descrivere la realtà in maniera semplice,
indipendente dalla organizzazione dei dati nel computer
-
i costrutti
sono: Entità,
Relazione, Attributo,
Cardinalità,
Identificatore,
Generalizzazione,
Sottoinsieme
Costrutti dei diagrammi E-R
Attributo semplice
Entita'
Relazione
(a,A)
(b,B)
Attributo composto
Cardinalita' di relazione
(m , M)
Cardinalita' di attributo
Sottoinsieme
Generalizzazione
Altri costrutti dei diagrammi E-R
Identificatore Interno ed Esterno
Entità (1)
STUDENTE
CORSO
PROFESSORE
- Entita': classe di oggetti (fatti, cose, persone) che hanno
proprietà comuni ai fini dell'applicazione di interesse che si
intende modellare
- Una occorrenza o istanza di un'entità e' un oggetto della
classe
- nello schema concettuale si rappresentano
- le entità, non le singole istanze
Entità (2)
- Classe di oggetti (fatti, persone, cose) dell'applicazione di interesse
con proprietà comuni e con esistenza "autonoma" ai fini
dell'applicazione
- Esempi:
- impiegato, città, conto corrente, ordine, fattura
- Ogni entità ha un nome che la identifica univocamente nello
schema:
- nomi espressivi
- opportune convenzioni (es. singolare)
Relazioni
Studente
Esame
Corso
- Le relazioni o associazioni rappresentano legami
logici fra due o piu' entita'
- Possono esserci più relazioni fra le stesse entità,
relazioni ricorsive
-
Relationship, viene tradotto con associazione o
relazione (da non confondere con la relazione, da relation, nel modello
relazionale)
Occorrenze di relazioni
- Una occorrenza di una relazione binaria è una coppia
di occorrenze di entità, una per ciascuna entità
coinvolta
- Una occorrenza di una relazione n-aria è una
n-upla di occorrenze di entità, una per ciascuna
entità coinvolta
- Nell'ambito di una relazione non ci possono essere
occorrenze (coppie, ennuple) ripetute
Esempi di occorrenze
E1
Rossi
E2
Algebra
E3
Verdi
Bianchi
Fisica
E4
Pepi
Analisi
Studente
Corso
Istanze di una associazione
- Per definizione l'insieme delle istanze di un'associazione è
un sottoinsieme del prodotto cartesiano dell'insieme delle
istanze di entità che partecipano all'associazione
- Non possono esserci istanze ripetute nell'associazione
- Se s è uno Studente e c un Corso, la coppia (s,c) può
comparire un'unica volta nell'insieme delle istanze di Esame
Studente
Esame
Corso
Due associazioni sulle stesse entità
Sede di
lavoro
Impiegato
Residenza
Città
Attributo
Matricola
Nome
Data
Voto
Nome
Telef
Via
Anno
Corso
Esame
Studente
Numero
Indiriz
CAP
- Proprietà elementare di un'entità o di una associazione,
di interesse ai fini dell'applicazione
- Ad ogni occorrenza di entità o relazione associa un valore
appartenente ad un insieme detto dominio dell'attributo
(insieme di valori ammissibili per l'attributo)
Rappresentazione grafica degli attributi
Cognome
Nome
Data
Voto
Titolo
Studente
Esame
Corso
Matricola
Codice
data e voto non sono proprietà né di uno Studente né di un Corso,
ma del legame Studente-Corso che si crea in occasione di un esame
Identificatore esterno
Cognome Matricola
Nome
(1,1)
(0,N)
Studente
Iscrizione
Università
Anno di corso
Indirizzo
Un'occorrenza di entità è identificata dalla chiave di una o più
entità collegate ad essa da associazioni, più eventuali attributi
dell'entità stessa
Alcune osservazioni
- ogni entità deve possedere almeno un identificatore, ma
può averne in generale più di uno
- un identificatore può coinvolgere uno o più attributi,
ognuno dei quali deve avere cardinalità (1,1)
- una identificazione esterna è possibile solo attraverso una
associazione a cui l'entità da identificare partecipa con
cardinalità (1,1)
Modello
Nome
.
AUTOMOBILE
CASA COSTR.
COSTR.
(1,1)
(1,N)
Identificatori: esempi da non seguire
Errore !!
A1
K
B1
E1
E2
R
(1,1)
(1,N)
Attenzione al formalismo grafico
usato per gli identificatori esterni.
Titolo
Nome
(1,N)
FILM
RECITA
ATTORE
(1,N)
Errore !!
Non si può usare l'entità ATTORE per
identificare l'entità FILM: la cardinalità
(FILM, RECITA) dovrebbe essere (1,1),
ma ciò è in netto contrasto con la
semantica del problema.
Note sugli attributi di una associazione (1)
- È importante fare attenzione all'uso di attributi in un'associazione!
R
a1
b1
A
a2
b2
B
[1, 12, ... ,rs
...
an
bm
d
- Ogni istanza rk dell'associazione R è dotata di un proprio valore per
l'attributo d; inoltre la semantica dell'E-R impedisce di usare d per
identificare le istanze di R.
Note sugli attributi di una associazione (2)
(0, N)
(0, N)
UOMO
DONNA
MATRIM.
Non possono esserci due istanze
dell'associazione (U¡,Di,d1) e (Ui,Di,d2),
dunque un uomo e una donna non
possono risposarsi.
data
(0, N)
(0, N)
UOMO
DONNA
MATRIM.
Un uomo può risposare la stessa
donna più volte
(1, N)
C
data
Note sugli attributi di una associazione (3)
Se gli attributi sono più di uno e ripetuti, la soluzione più elegante
consiste nell'introduzione di una nuova entità.
MEDICO
(0)\N)
esito
VISITA
data
(0, N)
PAZIENTE
un medico può visitare una
sola volta un paziente:
ASSURDO !
MEDICO
(0) N)
O
esito
(1, N)
VÌSITA
(1, N)
data
(0, N)
+
PAZIENTE'
-
ERRATO:
non
è
possibile
associare l'esito della visita alla
data in cui è stata effettuata
Note sugli attributi di una associazione (4)
MEDICO
MEDICO
(0, N)
(0, N)
FA_VISITA
(1, 1)
VISITA
(1, N)
VISITA
esito
O
data
(0, N)
esito
PAZIENTE
Odata
(0, N)
PAZIENTE
CORRETTO
ma poco leggibile
(1, 1)
IN_VISITA
Associazione ricorsiva
coinvolge "due volte" la stessa entità
Conoscenza
Persona
Associazione ricorsiva con "ruoli"
Successione
Sovrano
Successore
Predecessore
Cardinalità di relazione (1)
(1,5)
(0,50)
Impiegato
Assegnamento
Incarico
- Fornisce il numero minimo e massimo di istanze
di relazione per ogni istanza di un entità cui quella
relazione si riferisce
- Nell'esempio si afferma che ad ogni impiegato si possono
assegnare da 1 a 5 incarichi, ed ogni incarico può essere
assegnato ad al più 50 impiegati
- In base alla cardinalità esistono relazioni uno a uno
(1:1), uno a molti (1:N) e molti a molti (N:N)
Cardinalità di relazione (2)
per semplicità si usano solo tre simboli:
- 0 e 1 per la cardinalità minima:
- 0 = "partecipazione opzionale"
- 1 = "partecipazione obbligatoria"
- 1 e "N" per la cardinalità massima:
- "N" non pone alcun limite
Cardinalità di relazione (3)
(1,N)
(0,N)
Impiegato
Assegnamento
Incarico
(1,1)
(0,N)
Studente
Residenza
Città
Cardinalità di relazione (4)
- Coppia di valori (x,y) associati a ogni entità
che partecipa a una relazione
- Per ogni entità E che partecipa a una relazione
R i numeri (x,y) specificano il numero minimo
e massimo di occorrenze di R cui ciascuna
occorrenza di E può partecipare
Tipi di relazioni
I tipi di relazioni si individuano facendo riferimento alle
cardinalità massime.
Abbiamo pertanto le relazioni:
- uno a uno
(x,1) - (x,1);
- uno a molti
(x,1) - (x,N);
- molti a molti
(x,N) - (x,N),
dove x può valere 0 oppure 1
Cardinalità di attributo
(0.N)
Targa Auto
PERSONA
Nome
(0,1)
Numero Patente
- Specifica il numero minimo e massimo di valori di un
attributo per un data occorrenza di una entità' o
relazione.
- Ad esempio nella figura si esprime che ogni persona ha al più una
patente ma può avere più di un'auto. N indica un intero > 1
Perché cardinalità di attributi ?
- Si associa la cardinalità anche agli attributi, con
due scopi:
- indicare opzionalità ("informazione incompleta")
- indicare attributi multivalore
Attributo opzionale
codice_fiscale
persona
(1,1)
(0,N)
C
telefono
Quale significato all'opzionalita ?
codice_fiscale
telefono
aaabbb00c11d222e
011123456
aaabbb00c11d222e
011123457
fffggg00h12i3331
NULL
mmmnnn00010p444q
NULL
rrrsss00t13u555v
NULL
NULL per tutti i casi
di non informazione
Chiave primaria
- "strumento" per l'identificazione univoca
delle occorrenze di una entità
- "minimale": nessun sottoinsieme proprio
dell'identificatore deve a sua volta essere
identificatore
- costituito da:
- attributi dell'entità: identificatore interno
- (attributi dell'entità +) entità esterne attraverso
relazione: identificatore esterno