MODELLI DEI DATI Modelli Logici e Modelli Concettuali Modelli

Informatica Generale (AA 07/08)
Corso di laurea in “Scienze della Comunicazione”
Facoltà di Lettere e Filosofia
Università degli Studi di Salerno
MODELLI DEI DATI
UD 2.1c: Modelli dei Dati
Atzeni, cap. 1.3
Prof. Alberto Postiglione
Dipartimento di Scienze della Comunicazione
Università degli Studi di Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
„
Modelli Logici e Modelli Concettuali
ee
ioonn
aazzi
¾ E’ un insieme di concetti utilizzati per organizzare i datiuunneiicc
m
m
descriverne la struttura in modo comprensibile ad un Ccomputer
Coo
llaa
l
l
e
e ad una
d
¾ Le strutture utilizzate da questi modelli sono legate
d
e
nnzze l’albero o la
specifica organizzazione dei dati, quale il grafo,
cciiee
S
S
i
relazione
ddi
ttoo
¾ Tali strutture sono comunque indipendenti
dalla loro
eenn
m
m
i
i
t
implementazione fisica.
aarrt
p
p
i
DDi
Modelli Logici (disponibili sui DBMS commerciali)
Modelli Concettuali (non disponibili sui DBMS
commerciali)
„
nnz
cciiee
¾ Definito formalmente agli inizi degli anni ’70
S
S
i
di
¾ Affermatosi a partire dagli anni ‘80 ttoo d
eenn
m
m
i
¾ Più diffuso: gran parte dei nuovi DBMS
sono
relazionali
i
rtt
paar
DDiip
„
Una relazione viene rappresentata per mezzo di una
tabella:
¾ numero variabile di righe (record), che rappresentano gli oggetti.
¾ numero fisso di colonne (campi), che corrispondono a proprietà di
tali oggetti
¾ Sono indipendenti dalle modalità di organizzazione dei dati
(cioè sono indipendenti dal modello logico sottostante).
# 3
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Altri Modelli Logici
UD 2.1c
„
# 4
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
¾ Ha caratterizzato i primi DBMS.
llaa
l
l
e
dde
zzee
iieenn
c
c
SS
RETICOLARE (o Codasyl) (Inizio annidii ‘70)
od
nntto
¾ Basato su grafi
e
e
m
tiim
¾ estensione e standardizzazionepdel
aarrt linguaggio COBOL
DDiip
GERARCHICO (anni ‘60)
Modelli logici: Modello Relazionale
Orario
¾ Basato sulle strutture ad albero
„
Modelli logici: Modello Relazionale
Il Modello Relazionale, attualmente il più diffuso, è ziioonnee
aaz
basato sul concetto di relazione (matematica) cheuunniicc
m
m
o
o
C
C
permette di organizzare i dati in insiemi di record
a
llllaa
ddee
struttura fissa
zee
¾ Descrivono i concetti del mondo reale e le loro relazioni
piuttosto che i dati.
UD 2.1c
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Insegnamento
Docente
Analisi matem. I
Luigi Neri
Basi di dati
Piero Rossi
Fisica I
o
nntto
r
r
paa
DDiip Bruni
Mario
N1
11:45
Fisica II
Mario Bruni
N3
9:45
Sistemi inform.
Piero Rossi
N3
8:00
Chimica
A OGGETTI (anni ‘80)
¾ Più recente (e poco diffuso)
¾ Evoluzione del modello relazionale
nnee
zziioo
iiccaa
n
n
u
m
mu
Aula
Ora
CCoo
llaa
l
l
e
de
N1 nnzzee d 8:00
iiee
c
c
SS
9:45
ddii N2
e
Nicola Mori
me
ttiim
N1
9:45
¾ Estende alle Basi di Dati il paradigma della programmazione a
oggetti
UD 2.1c
# 5
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UD 2.1c
# 6
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
1
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Modelli Concettuali: Modello ER
e
nne
Modello ENTITA’-RELAZIONI (Entity-Relationships)
zziioo
„
„
„
iccaa
unni
Utilizzato nella fase preliminare della progettazione,
m
mu
o
o
C
aa C
per analizzare la realtà di interesse senza dover
eellll pensare
ee dd
z
z
nn pratica.
alle modalità di effettiva sua realizzazione
cciiee
ii SS
d
d
Fornisce una visione astratta dei dati
ttoo
enn
me
Modello vicino alla mentalità adell’uomo
ttiim
r
r
pa
DDiip
SCHEMI E ISTANZE
Atzeni, cap. 1.3.1
RISIEDE
PERSONA
HA RISIEDUTO
CITTA'
E' NATO
UD 2.1c
# 7
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
nnee
zziioo
iiccaa
n
n
u
Definizione statica e progettuale di una relazione,
m
mu
CCoo
llllaa
sostanzialmente invariante nel tempo, che ne eedescrive
la
e dd
struttura e le caratteristiche dei dati iieennzze
cc
ii SS
oo dd
t
t
eenn
Lo “schema” di una relazionearrèttiimmcomposto dal nome della
a
p
p
i
DDi
SCHEMA di una RELAZIONE:
„
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Schemi ed Istanze
relazione seguito dal nome dei campi (le colonne)
Schemi ed Istanze
nnee
zziioo
iiccaa
n
n
u
Insieme di dati effettivamente presenti nella Relazione
m
mu
CCoo
llaatempo
l
in un dato momento, che possono cambiare nel
l
e
dde
zzee
Orario
iieenn
c
c
ii SS
Insegnamento
Docente oo ddAula
Ora
nntt
e
e
m
m
i
i
Analisi matem. I Luigi aNeri
N1
8:00
rtt
p ar
DDiip
ISTANZA di una RELAZIONE:
Basi di dati
Piero Rossi
N2
Chimica
Nicola Mori
N1
9:45
Fisica I
Mario Bruni
N1
11:45
Fisica II
Mario Bruni
N3
9:45
Sistemi inform.
Piero Rossi
N3
8:00
¾ Al nome dei campi vanno poi associate le proprietà dei dati (es.: il
tipo di dato, il dominio del campo, la presenza di vincoli, …)
ORARIO (INSEGNAMENTO, DOCENTE, AULA, ORA)
UD 2.1c
# 9
Ultima modifica:
20/11/2007
„
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UD 2.1c
# 10
9:45
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Schemi ed Istanze
e
Lo Schema di un Database è l’insieme degli schemi di zziioonne
aa
nniicc
tutte le Relazioni coinvolte
muu
oom
aa CC
eellll
d
d
e
nnzze
L’istanza di un Database è l’insieme delle
cciiee istanze di
S
S
i
ddi
tutte le Relazioni coinvolte
ttoo
eenn
m
m
i
i
rtt
paar
DDiip
UD 2.1c
# 11
LIVELLI DI ASTRAZIONE
Atzeni, cap. 1.3.2
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
2
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
„
„
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Tipi di Schemi
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
llaa
l
l
e
che vede un DB strutturato in schema e istanza…
dde
zzee
iieenn
c
c
ii SS
o dd
… è quella che considera come i dati
nntto vengono “visti” dai
e
e
m
im
vari utenti che accedono ad essi.
rtti
paar
DDiip
Una visione ortogonale alla precedente,
Livelli di astrazione
„
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
¾ Vede BIT - BYTE - WORD - SETTORI, ...
llaa
l
l
e
dde
Amministratore del Database
zzee
iieenn
¾ Vede un insieme di files, di strutture di supporto
(indici,
ecc…), …
c
c
ii SS
oo dd
Progettista
t
t
enn
me
¾ Vede un insieme di tabelle, query, … rttiim
aar
p
p
i
DDi
…
„
Utente finale
Esistono più modi di “vedere” gli stessi dati
„
„
„
Elaboratore
¾ vede i dati come calciatori, conti bancari o impiegati
UD 2.1c
# 13
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UD 2.1c
# 14
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Tipi di Schemi
e
e
Questa dimensione nella descrizione dei dati articola zziioonne
aa
nniicc
l’architettura di un DB su tre livelli, per ognunomuudei
m
o
o
C
aa C
quali è definito uno schema:
ellll
dde
zzee
n
n
e
e
ccii
ii SS
¾ Schema Logico (o Concettuale)
oo dd
t
t
enn
me
im
rrtti
¾ Schema Interno (o Fisico) Diippaa
D
Schema (o livello) Logico
Il Database è visto come un insieme di Tabelle zziioonne
ccaa
„
descrizione
“principale”
i
unni
m
mu
CCoo
a
a
llll logico
dell’intera base di dati nel modello
ddee
zzee
n
n
del DBMS (Tabelle, alberi, …)
e
e
ccii
ii SS
oo dd
t
t
enn
me
tiim
aarrt
p
p
i
DDi
¾ Schema Esterno (o Vista o sottoschema)
UD 2.1c
# 15
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Schema (o livello) Fisico o Interno
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
llaa
l
l
e
Rappresentazione dello schema logico per mezzo
di
dde
zzee
n
n
strutture fisiche di memorizzazione, cioè
come
un
e
cciie
ii SS
insieme di files su disco
oo dd
t
t
enn
me(ad esempio una tabella può
¾ Descrizione della struttura dei files
tiim
aarrt
p
p
i
essere memorizzata fisicamente
DDi come un file sequenziale o un file
hash, o un file con indici, o in altro modo ancora)
UD 2.1c
Ultima modifica:
20/11/2007
¾ Descrizione e definizione delle strutture di supporto per
accedere ai dati in modo efficiente (indici ed altro)
¾ Descrizione dei meccanismi di gestione dei dati
UD 2.1c
# 17
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Schema (o livello) della Vista (o Esterno)
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
llaa
l
l
e
dde
zzee
Descrizione di una porzione della base ccdi
iieenn dati, per
ii SS
mezzo del modello logico
o dd
nntto
e
e
m
iim
Una Vista può anche essere piùrrtt“astratta”
di uno schema
paa
DDiip
Il Database è visto come
Il Database è visto come un insieme di files
„
# 16
insieme di Sottoinsiemi di Tabelle
„
„
logico, in quanto i dati in essa coinvolti possono essere
“costruiti” a partire dalllo schema logico, senza essere
effettivamente presenti in esso.
¾ Ad esempio, in un DB logico può esserci la data di nascita di un
dipendente, mentre in una Vista può comparire direttamente l’età
(calcolata sulla base dell’anno di nascita)
UD 2.1c
# 18
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
3
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
„
„
„
Una Vista è come un piccolo Database derivato da quelloiioonnee
zz
iccaa
definito al livello logico.
uunni
e
„
m
m
CCoo
llaa
l
l
e
dde
Esempio Definizione Viste
e
Il Database concettuale dell’applicazione Prenotazionezziioonne
aa
nniicc
posti aereo contiene dati su:
muu
¾ Personale (di terra e di volo)
e
nnzz ogni utente
Un DBMS presenta più Viste, una o piùiieeper
SScc
i
i
dle
d viste
Il Livello Esterno è l’insieme di tutte
too
¾ Passeggeri
¾ Bagagli
t
enn
me
ttiim
r
r
paa
DDiip
Ogni utente:
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Schema (o livello) della Vista (o Esterno)
¾ Voli
¾ Aeroplani
¾ Aeroporti
¾ Vedrà solo la propria parte di DataBase (VISTA). Verrà messo a
disposizione dell’utente un sottoinsieme dei dati presenti
nell’intero DB, mascherando gli altri.
oom
aa CC
eellll
d
d
zzee
iieenn
SScc
i
i
dd
ttoo
eenn
m
m
i
i
rtt
paar
DDiip
¾ Potrà operare su tale vista, con operatori potenti e semplici da
usare
UD 2.1c
# 19
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
„
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UD 2.1c
# 20
Architettura a livelli degli schemi
e
nne
La VISTA (il sottosistema) Ufficio prenotazioni posti
zziioo
iccaa
¾ non comprende dati dagli archivi del personale
unni
m
mu
o
o
C
aa C
¾ non comprende dati sui turni dei piloti
eellll
ee dd
z
z
nn
cciiee
ii SS e bagagli
d
La VISTA (il sottosistema) spedizioni
d
ttoo
enn
¾ comprende informazioni su voli e aerei
me
ttiim
r
r
paa
¾ comprende specializzazione piloti
DDiip (se sono cioè abilitati al
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
Esempio Definizione Viste
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UTENTE 1
UTENTE 2
LIVELLO
ESTERNO 1
trasporto bagagli)
nnee
zziioo
iiccaa
n
n
u
m
mu
CCoo
llaa
l
l
e
dde
zzee
LIVELLO
nLIVELLO
iieenESTERNO
ESTERNO 2
3
c
c
ii SS
oo dd
t
t
enn
me
LIVELLO LOGICO
tiim
aarrt
p
p
i
DDi
UTENTE 3
UTENTE 4
UTENTE 5
LIVELLO FISICO
¾ non comprende informazioni sullo stipendio del personale
DATABASE
UD 2.1c
# 21
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
UD 2.1c
# 22
Ultima modifica:
20/11/2007
„
INDIPENDENZA DEI DATI
Atzeni, cap. 1.3.3
„
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Indipendenza dei dati
e
L‘architettura a livelli garantisce l‘indipendenza dei zziioonne
aa
nniicc
dati, la principale proprietà di un DBMS.
muu
oom
aa CC
eellll
d
d
e
nnzze
L‘indipendenza dei dati permette all‘utente
cciiee di interagire
S
S
i
ddi
con il Database prescindendo dai tdettagli
realizzativi.
too
eenn
m
m
i
i
rtt
paar
DDiip
L’accesso al DB avviene solo tramite il livello esterno
(che può coincidere con il livello logico); è il DBMS che
traduce le operazioni in termini dei livelli sottostanti
UD 2.1c
# 24
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
4
Ultima modifica:
20/11/2007
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Indipendenza fisica
nnee
zziioo
iiccaa
n
n
u
consente di interagire con il DBMS in modo
m
mu
CCoo
indipendente dalla struttura fisica deieellllaadati.
dd
zzee
iieenn
c
c
SS
dii
o dindipendenti
Il livello logico e quello esterno sono
da
nntto
e
e
m
quello fisico
ttiim
r
r
paa
DDiip
Indipendenza fisica
„
„
# 25
Ultima modifica:
20/11/2007
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Indipendenza Logica
nnee
zziioo
iiccaa
n
n
consente di interagire con il livello esterno in modo
u
m
mu
CCoo
indipendente dal livello logico
llaa
l
l
e
dde
zzee
iieenn
c
c
ii SS
Possibilità di modificare il LIVELLO ddESTERNO
(una o più
o
nntto
e
Viste) senza dover alterare il LIVELLO
LOGICO
e
m
m
i
i
rtt
paar
oppure
DDiip
Indipendenza logica
„
„
Possibilità di definire nuovi SCHEMI ESTERNI
oppure
„
„
„
„
Possibilità di modificare lo SCHEMA LOGICO
mantenendo inalterate le Viste (modificandone solo la
definizione in termini delle strutture logiche)
UD 2.1c
# 27
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Indipendenza fisica
e
nne
Grazie all‘indipendenza fisica, una tabella è utilizzata
zziioo
iiccaa
n
n
sempre allo stesso modo qualunque sia la sua
u
mu
oom
aa CC
memorizzazione fisica su disco.
ellll
e
e dd
zze
E’ possibile modificare la allocazione fisica
iieenn della tabella
SScc
i
i
sul disco senza dover modificare le
ddmodalità di accesso
ttoo
enn
ad essa
me
iim
Ad esempio:
rtt
paar
DDiip
¾ Una tabella può essere memorizzata sul disco, riga per riga, in
base al‘ordinamento dei dati presenti nella prima colonna.
Vantaggio principale: Possibilità di modificare il
LIVELLO FISICO senza dover modificare il LIVELLO
LOGICO (e quindi anche le VISTE degli utenti)
UD 2.1c
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Ultima modifica:
20/11/2007
¾ Successivamente, senza modificare maschere, queries … è
possibile modificare la modalità di memorizzazione della tabella
sul disco, ordinandola, per esempio, in base ai valori dei dati
presenti nell’ultima colonna e non più nella prima.
UD 2.1c
# 26
Ultima modifica:
20/11/2007
„
„
„
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati
Indipendenza Logica
e
Non sempre è ottenibile l’indipendenza logica “pura”. zziioonne
caa
ic
unni
m
mu
o
o
C
aa C
eellll la
Alcune modifiche allo Schema Logico richiedono
ee dd
z
z
nn tra Vista
ridefinizione della corrispondenza (mapping)
cciiee
ii SS
d
d
Schema Logico (i programmi applicativi
non
vengono
ttoo
eenn
m
m
modificati)
i
i
rtt
paar
DDiip
e
Solo quando vengono cancellate informazioni che
interessano il singolo sottoschema è richiesta la modifica
dei programmi applicativi
UD 2.1c
# 28
Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno
5