Progettazione di Basi di Dati
Prof. Nicoletta D’Alpaos & Prof. Andrea Borghesan
Entità-Relazione
Progettazione Logica
E’ il modo attraverso il quale
i dati sono rappresentati :
Progettazione concettuale
Schema concettuale
 fa riferimento al modello logico dei
dati prescelto;
 si usano criteri di ottimizzazione
delle
operazioni da fare sui dati;
 qualità dello schema verificata
mediante tecniche formali
(normalizzazione);
2
Progettazione logica
Schema logico
Progettazione fisica
Schema fisico
Modello Logico
La scelta del modello del database influisce i passi
successivi della progettazione:
 Spesso, specialmente negli anni passati, è stata
una scelta obbligata;
 Il modello relazionale è, al momento attuale, il più
usato;
3
Scelte
 modello gerarchico
 modello reticolare
 modello relazionale
 modello orientato ad oggetti
 modello relazionale ad oggetti
4
Modello Gerarchico
I dati e le corrispondenze sono rappresentate
per mezzo di una struttura ad albero:
corrispondenza uno a molti
Esempio: “pezzi – fornitori – forniture”
Cod.pezzo
p1
Cod.fornitore
100
Nome
pinco
Descrizione
bullone
Colore
verde
Quantita
1000
200
120
5
Costo
0.01
pallino
500
tizio
2000
Modello Gerarchico
 Nel modello gerarchico ogni occorrenza di un dato
record ha un suo significato ben preciso solo se vista
nel suo contesto;
 Questo significa che un’occorrenza di un record
dipendente non può esistere se non esiste una
occorrenza di un record superiore;
 Nell’esempio un fornitore non può essere descritto se
non ha già fornito almeno un pezzo;
6
Modello Reticolare
 I
dati sono rappresentati da record e le
corrispondenze sono rappresentate da legami
(records connettori)
 Ogni record può avere un numero qualunque di
records superiori e un numero qualunque di records
inferiori
 Non
ha il limite di un solo record superiore:
corrispondenza molti a molti
7
Modello Reticolare
p1
bullone
verde 0.01
p2
500 15/5/2006
8
caio
blu
0.02
2000 7/6/2006
1000 6/5/2006
100
dado
120 pallino
2000 7/6/2006
200
tizio
2000 7/6/2006
Modello Relazionale
Tutte le informazioni, sia dati che corrispondenze, sono
trattate in forma di relazioni
fornitura
Cod.ar
t
Cod.for
n
quantit
à
dat
a
p1
100
1000
…
p1
120
500
p2
100
350
articolo
9
Cod.art
.
Descrizion
e
Costo
P1
Bullone
0,01
P2
Dado
0,02
fornitore
Nome
…
Cod.for
n.
….
100
Caio
120
Pallino
200
Tizio
Modello Relazionale
 La relazione viene comunemente rappresentata come
una tabella bidimensionale composta da righe e
colonne.
 Ciascuna riga (tupla) rappresenta un‘istanza.
 Le caratteristiche di ciascuna entita' (attributi) sono
definite dalle colonne delle relazioni.
 Entita' con caratteristiche comuni, cioe' descritti dallo
stesso insieme di attributi, fanno parte della stessa
relazione.
10
Modello Object-Oriented
 Gli oggetti memorizzati nel database contengono
sia i dati che le operazioni possibili su tali dati.
 Lo schema e' rappresentato da un insieme di
classi, che definiscono le caratteristiche ed il
comportamento degli oggetti che popoleranno il
database.
11
Modello Relazionale
12
Modello Relazionale
Si basa sui concetti di:
 Relazione
 Tabella
…riconducibili uno all‟altro
13
Modello Relazionale
Relazione:
A2
……
An
a1
a2
…..
an
tupla
grado
14
domini
cardinalità
A1
Modello Relazionale
 Dal punto di vista matematico, dati n insiemi A1, A2,…, An, si dice
relazione un sottoinsieme dell’insieme di tutte le n-uple a1, a2,…,
an, che si possono costruire prendendo nell’ordine un elemento a1
dal primo insieme A1, a2 da A2, e così via;
 Il numero n si chiama grado della relazione;
 Gli insiemi Ai si chiamano domini della relazione
 Il numero delle n-uple (tuple) si chiama cardinalità della relazione;
15
Modello Relazionale
Vincoli
 Non è vero che qualsiasi insieme di tuple sullo
schema rappresenta un’informazione corretta per
l’applicazione;
 Vincoli
di integrità :
 Vincoli di dominio
 Vincoli di tupla
 Vincoli di chiave
 Vincoli di chiave esterna o di integrità referenziale
16
Modello Relazionale
Vincoli di dominio
 Vincolo intrarelazionale;
 A ciascuna occorrenza di dominio è
associato un nome (attributo);
 Gli attributi sono utilizzati come
intestazioni delle colonne;
 Ogni dominio deve essere definito;
La colonna “costo” contiene
un numero con 2 posizioni
decimali
17
Modello Relazionale
Vincoli di tupla
 Vincolo intrarelazionale;
 Tramite
espressioni booleane più o meno
complesse si condizionano i valori di ciascuna
tupla, indipendentemente dalle altre tuple;
Esempi:
Voto>=18 AND Voto <= 30
Voto = 30 OR NOT (Lode=„Si‟)
18
Matricola
Corso
Voto
53421
A10
20
54791
B05
27
44853
A10
30
53567
B04
30
Lode
Si
Modello Relazionale
chiave
La chiave della relazione è un attributo o una
combinazione di attributi che identificano in modo
univoco le n-uple all’interno della relazione, cioè
ogni riga della tabella possiede valori diversi per
l’attributo (o gli attributi) chiave;
Esempio: il codice articolo
identifica l‟articolo
19
Modello Relazionale
Vincoli di chiave
 Un vincolo di chiave è l’imposizione che un
certo sottoinsieme minimale di campi di una
relazione sia un identificatore unico per una tupla;
 Un
insieme di campi che identificano
univocamente una tupla secondo un vincolo di
chiave si chiama una chiave candidata per la
relazione;
20
Modello Relazionale
Vincoli di chiave
 Una
relazione può avere più di una chiave
candidata;
 Tra tutte le chiavi candidate se ne sceglie una come
chiave primaria effettiva, le altre sono dette chiavi
primarie alternative;
 Una relazione ha sempre almeno una chiave
primaria;
 La chiave primaria non può assumere valori nulli
21
Modello Relazionale
Integrità referenziale
 Vincolo interrelazionale;
 Si applica quando le informazioni memorizzate in
una relazione sono collegate alle informazioni
memorizzate in un’altra tabella;
Corso
22
Descrizione
A01
Informatica
A10
Base dati I
B04
Analisi I
B05
Analisi II
Matricola
Corso
Voto
53421
C10
20
54791
B05
27
44853
B04
30
53567
B04
30
Lode
errore
Si
DBMS
23
Progettazione fisica
Specifica dei parametri fisici di
memorizzazione dei dati :
Progettazione concettuale
Schema concettuale
 organizzazione dei files e degli indici;
dipende dallo specifico sistema di
gestione scelto;
Progettazione logica
Schema logico
Progettazione fisica
24
Schema fisico
DBMS
 Data Base Management System è un sistema software in grado di gestire
collezioni di dati aventi le seguenti caratteristiche
 Grandi
• dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo
utilizzati
• il limite deve essere solo quello fisico dei dispositivi
 Condivise
 utilizzabili cioè da utenti diversi, con esigenze, interessi, priorità
diversi, che possono accedere solo a parte delle informazioni e
potrebbero essere in concorrenza fra loro
 Persistenti
 hanno un tempo di vita indipendente dalle singole esecuzioni dei
programmi che le utilizzano
assicurando la loro
 affidabilità

i dati sono integrati riducendo al minimo la ridondanza (informazioni ripetute) e
massimizzando la consistenza (versioni diverse non devono coesistere);
 e privatezza
25