Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
8 - Progettazione Concettuale
Schema concettuale
modello concettuale Modello E-R (Entità Relazione).
Schema logico
modello logico Modello relazionale + Vincoli d’integrità
(DDL: SQL-standard).
Schema fisico
modello logico + parametri fisici.
Il dominio associato ad un
attributo viene generalmente
tralasciato nella
rappresentazione grafica.
15 8 – Tecniche di progettazione
Modello E-R : Entità e Relazioni
Relazioni : Una relazione (o E-R relazione o associazione) si
definisce su due o più entità, e rappresenta un legame fra tali
entità. Il numero di entità coinvolte in una relazione determina
il suo grado (o arità).
Esempio:
Residenza (fra Persona e Città)
Afferenza (fra Impiegato e Dipartimento)
A livello estensionale una relazione R tra le entità E ed F è costituita da un
insieme di coppie (x,y), tali che x è una istanza di E, ed y è una istanza
di F. Ogni coppia è detta istanza della relazione R.
Esempio : istanze(R) = {(x1, y1), (x2, y2), (x3, y3), …}
In altre parole istanze(R) istanze(E) x istanze(F)
Ogni relazione ha un nome che la identifica in modo univoco nello
schema.
NO
17
Sede di Lavoro e Residenza
rappresentano due legami
Relazioni n-arie diversi tra le stesse entità
Impiegato e Città.
• Due entità possono essere coinvolte in più relazioni
• Se una relazione insiste più volte su una stessa entità, in questi casi è
necessario specificare i ruoli che l’entità gioca nella relazione
Possibile livello estensionale :
istanze(Sovrano) = { romolo,numa,tullo,anco }
istanze(Successione) = {
(Precedessore:romolo,Successore:numa),
(Precedessore:numa,Successore:tullo),
(Precedessore:tullo,Successore:anco)
}
18 Basi di Dati 13/14 8 – Progettazione Concettuale
Relazioni ternarie : Esempio
Livello intensionale
19
Modello E-R : Attributi di relazione
Attributi di relazione: Un attributo di relazione è una proprietà locale
di una relazione, di interesse ai fini dell’applicazione.
Un attributo associa ad ogni istanza di relazione R un valore appartenente ad un
insieme D detto dominio dell’attributo.
In altre parole, a livello estensionale l’attributo A è una funzione totale:
A : istanze(R) D
cioè l’attributo A è una funzione che associa ad ogni tupla che è istanza di R un
valore appartenente al dominio D dell’attributo.
20 8 – Tecniche di progettazione
Esercizio 1: schema concettuale
Descrivere lo schema concettuale della seguente realtà:
SCHEMA ERRATO
L’errore sta nell’aver
rappresentato il luogo di
svolgimento di un progetto come
un attributo. In realtà il luogo di
svolgimento è una città, e questo
viene perso nello schema.
Dipende...
La risposta dipende dal fatto se
il concetto di “città” è importante
o no nell’applicazione. Deve
essere chiaro che in questo
schema il concetto di Città non è
rappresentato.
Una relazione:
se le sue istanze non sono concettualmente significative indipendentemente da altre
istanze, cioè se le sue istanze rappresentano n-ple di altre istanze;
se non ha senso pensare alla partecipazione delle sue istanze ad altre relazioni.
Entità Età
padre
Entità
figlia
Istanza 1:
istanze(Persona) = { a,b,c,d }
istanze(Studente) = { b,d }
Istanza 2:
istanze(Persona) = { a,b,c,d }
istanze(Studente) = {a,b,c,d }
Istanza 3:
istanze(Persona) = { a,b,c,d }
Livello estensionale non valido istanze(Studente) = { }
il modello ER non
ammette ereditarietà
multipla.
Soluzione 1
Soluzione 2
istanze(Dirige) istanze(Lavora)
Attenzione:
il vincolo di cardinalità si definisce su una
relazione, ma in realtà stabilisce una condizione
che deve valere per tutte le istanze della entità a
cui è associato il vincolo stesso (tramite il ruolo).
equivale a
vincolo di “chiave”
(1,N)
equivale a
vincolo di “partecipazione”
(1,1)
equivale a
vincolo di “chiave” +
vincolo di “partecipazione”
Impiegato
Direttore
Inoltre, due università differenti possono avere studenti con lo stesso numero
di Matricola.
Automobile Modello
equivale a
Colore
Data Nascita
Automobile Cognome
equivale a
Reddito Nome
Cognome Matricola
ATTENZIONE Un’entità che partecipa con ruolo U e con cardinalità (1,1) ad una relazione R
nella quale almeno uno degli altri ruoli hanno cardinalità massima 1, è implicitamente identificata
esternamente da R tramite U (l’identificatore esterno può essere esplicitamente indicato, ma non è
necessario).
Infatti, se in una istanza dello schema non valesse il vincolo di identificazione esterno, allora
esisterebbero due istanze di E connesse con una stessa istanza f di F tramite R, e questo violerebbe
il vincolo di cardinalità massima di F in R.
possibili
vincoli
esterni
79 8 – Progettazione Concettuale
Vincoli esterni al diagramma
ATTENZIONE alle ridondanze estensionali
nelle istanze dello schema la stessa proprietà estensionale è rappresentata più
volte, implicitamente o esplicitamente.
Se lo schema contiene ridondanze estensionale, occorre documentarle: se una
ridondanza è rilevante a livello concettuale, occorre comunque esplicitarla, in
genere mediante opportuni vincoli esterni.
Se una relazione si
ottiene da altre relazioni
(per esempio, da
cammini di relazioni)…
80
Esercizio 7 – Schema Concettuale
Descrivere lo schema concettuale corrispondente ad un'applicazione riguardante
un insieme di officine, facendo riferimento alle seguenti specifiche.
Schema Finale
85
Strategia Top-Down
Nel passaggio da un livello di raffinamento al successivo, lo schema viene
modificato facendo uso di alcune trasformazioni elementari che vengono
denominate primitive di trasformazione top-down. Con la prima soluzione non stiamo
rappresentando esplicitamente il
Esempi di trasformazioni Top-Down sono: ‘concetto’ di azienda, che è una semplice
proprietà locale associata ad un
La definizione degli attributi di un’entità o di una relazione; Impiegato. Nella seconda soluzione,
reifichiamo l’attributo.
La reificazione di un attributo o di un’entità:
Codice Nome Azienda Codice Nome Nome
(1,1) (1,N)
Impiegato Impiegato Impiego Azienda
materia
(1,1)
nome
(1,n)
(1,1) nome
cognome
num.abitanti
data di nascita
regione
num.figli
Ulteriori proprietà:
Modificabilità: lo schema può essere facilmente modificato se i requisiti cambiano.
Auto-documentabilità: lo schema non ha bisogno di materiale aggiuntivo esterno.