progettazione di basi di dati - venus.unive.itvenus.unive.it/borg/modellidb.pdf · progettazione di...
TRANSCRIPT
Progettazione Logica
2
Progettazione concettuale
Progettazione logica
Progettazione fisica
Schema concettuale
Schema logico
Schema fisico
E’ il modo attraverso il quale
i dati sono rappresentati :
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);
Modello Logico
3
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;
Scelte
4
modello gerarchico
modello reticolare
modello relazionale
modello orientato ad oggetti
modello relazionale ad oggetti
Modello Gerarchico
5
I dati e le corrispondenze sono rappresentateper mezzo di una struttura ad albero:corrispondenza uno a molti
Esempio: “pezzi – fornitori – forniture”
Cod.pezzo
p1
Descrizione
bullone
Colore
verde
Costo
0.01
Cod.fornitore
100
Nome
pinco
Quantita
1000200 tizio 2000
120 pallino 500
Modello Gerarchico
6
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;
Modello Reticolare
7
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
Modello Reticolare
8
p1 bullone verde 0.01 p2 dado blu 0.02
100 caio 120 pallino 200 tizio
1000 6/5/2006
500 15/5/2006
2000 7/6/2006
2000 7/6/2006 2000 7/6/2006
Modello Relazionale
9
Tutte le informazioni, sia dati che corrispondenze, sono
trattate in forma di relazioni
Cod.art
.
Descrizion
e
Costo
P1 Bullone 0,01
P2 Dado 0,02
Cod.for
n.
Nome
100 Caio
120 Pallino
200 Tizio
Cod.ar
t
Cod.for
n
quantit
à
dat
a
p1 100 1000 …
p1 120 500 …
p2 100 350 ….
articolo
fornitura
fornitore
Modello Relazionale
10
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.
Modello Object-Oriented
11
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.
Modello Relazionale
15
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;
Modello RelazionaleVincoli
16
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
Modello RelazionaleVincoli di dominio
17
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
Modello Relazionale
Vincoli di tupla
18
Vincolo intrarelazionale;
Tramite espressioni booleane più o menocomplesse si condizionano i valori di ciascunatupla, indipendentemente dalle altre tuple;
Matricola Corso Voto Lode
53421 A10 20
54791 B05 27
44853 A10 30 Si
53567 B04 30
Esempi:
Voto>=18 AND Voto <= 30
Voto = 30 OR NOT (Lode=„Si‟)
Modello Relazionalechiave
19
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
Modello RelazionaleVincoli di chiave
20
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;
Modello Relazionale
Vincoli di chiave
21
Una relazione può avere più di una chiavecandidata;
Tra tutte le chiavi candidate se ne sceglie una comechiave primaria effettiva, le altre sono dette chiaviprimarie alternative;
Una relazione ha sempre almeno una chiaveprimaria;
La chiave primaria non può assumere valori nulli
Modello Relazionale
Integrità referenziale
22
Vincolo interrelazionale;
Si applica quando le informazioni memorizzate inuna relazione sono collegate alle informazionimemorizzate in un’altra tabella;
Matricola Corso Voto Lode
53421 C10 20
54791 B05 27
44853 B04 30 Si
53567 B04 30
Corso Descrizione
A01 Informatica
A10 Base dati I
B04 Analisi I
B05 Analisi II
errore
Progettazione fisica
24
Progettazione concettuale
Progettazione logica
Progettazione fisica
Schema concettuale
Schema logico
Schema fisico
Specifica dei parametri fisici di
memorizzazione dei dati :
organizzazione dei files e degli indici;
dipende dallo specifico sistema di
gestione scelto;
DBMS
25
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