-
Basi di dati
Ing. Gianluca Di TomassiSito Web: www.ditomassi.it
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 2
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 3
Sistema informativo
Componente (sottosistema) di una organizzazione che
gestisce(acquisisce, elabora, conserva, produce) le informazioni di
interesse (cioè utilizzate per il perseguimento degli
scopidell’organizzazione )
� ogni organizzazione ha un sistema informativo, eventualmente
non esplicitato nella struttura;
� quasi sempre, il sistema informativo è di supporto ad
altrisottosistemi, e va quindi studiato nel contesto in cui
èinserito
� il sistema informativo è di solito suddiviso in sottosistemi
(in modo gerarchico o decentrato), più o meno
fortementeintegrati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 4
Sistema organizzativo
insieme di risorse e regole per lo svolgimento coordinatodelle
attività al fine del perseguimento degli scopi
� il sistema informativo è parte del sistema organizzativo
� il sistema informativo esegue/gestisce processi
informativi(cioè i processi che coinvolgono informazioni)
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 5
Risorse
Le risorse di una azienda (o amministrazione):
� materiali
� denaro� persone
� informazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 6
Risorse: Informazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 7
Risorse: Informazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 8
Sistemi informativi e automazione
Il concetto di “sistema informativo” è indipendente da qualsiasi
automatizzazione:
� esistono organizzazioni la cui ragion d’essere è la gestione
di informazioni (p. es. servizi anagrafici e banche) e che operano
da secoli.
Anche prima di essere automatizzati, molti sistemi informativisi
sono evoluti verso una razionalizzazione e standardizzazione delle
procedure e dell’organizzazionedelle informazioni
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 9
Sistema Informatico
Porzione automatizzata del sistema informativo:� la parte del
sistema informativo che gestisce
informazioni con tecnologia informatica
Sistema aziendaSistema organizzativo
Sistema informativo
Sistema informatico
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 10
Gestione delle informazioni
Nelle attività umane, le informazioni vengono gestite(registrate
e scambiate) in forme diverse:
� idee informali� linguaggio naturale (scritto o parlato,
formale o
colloquiale, in una lingua o in un’altra) � disegni, grafici,
schemi� numeri e codici
e su vari supporti� memoria umana, carta, dispositivi
elettronici
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 11
Gestione delle informazioni
Nelle attività standardizzate dei sistemi informativi complessi,
sono state introdotte col tempo forme di organizzazione e codifica
delle informazioni
Ad esempio, nei servizi anagrafici si è iniziato con
registrazionidiscorsive e poi
� nome e cognome� estremi anagrafici� codice fiscale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 12
Informazioni e dati
Nei sistemi informatici (e non solo), le informazioni
vengonorappresentate in modo essenziale, spartano: attraverso i
dati
Dal Vocabolario della lingua italiana (1987)
� informazione: notizia, dato o elemento che consente di avere
conoscenza più o meno esatta di fatti, situazioni, modi di
essere.
� dato: ciò che è immediatamente presente alla conoscenza, prima
di ogni elaborazione; (in informatica) elementi di informazione
costituiti da simboli che debbonoessere elaborati.
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 13
Dati e informazioni
I dati hanno bisogno di essere interpretati
Esempio‘Mario’ ’275’ su un foglio di carta sono due dati . Se il
foglio di carta viene fornito in risposta alla domanda “A chi mi
devo rivolgere per il problema X; qual è il suo numero di
telefono?”, allora i dati possono essere interpretati per
fornireinformazione e arricchire la conoscenza .
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 14
Perché i dati?
La rappresentazione precisa di forme più ricche di informazione
e conoscenza è difficile
I dati costituiscono spesso una risorsa strategica, perchépiù
stabili nel tempo di altre componenti (processi, tecnologie, ruoli
umani)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 15
Base di dati
�(accezione generica, metodologica ) Insieme organizzato di dati
utilizzati per il supporto allo svolgimento delle attività di un
ente (azienda, ufficio, persona)
�(accezione specifica, metodologica e tecnologica ) insieme di
dati gestito da un DBMS
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 16
Sistema di gestione di basi di datiDataBase Management System —
DBMS
Sistema (prodotto software) in grado di gestire collezioni
didati che siano (anche):
� grandi (di dimensioni (molto) maggiori della memoria centrale
dei sistemi di calcolo utilizzati)
� persistenti (con un periodo di vita indipendente dallesingole
esecuzioni dei programmi che le utilizzano)
� condivise ( utilizzate da applicazioni diverse)
garantendo affidabilità (resistenza a malfunzionamentihardware e
software) e privatezza (con una disciplina e uncontrollo degli
accessi). Come ogni prodotto informatico, un DBMS deve
essereefficiente (utilizzando al meglio le risorse di spazio e
tempo del sistema) ed efficace (rendendo produttive le attività
deisuoi utilizzatori).
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 17
Alcuni DBMS in commercio
�Access
�DB2
�Oracle
� Informix
�Sybase
�SQLServer
� Ingres
� .........
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 18
Condivisione
Ogni organizzazione (specie se grande) è divisa in settori o
comunque svolge diverse attività
A ciascun settore o attività corrisponde un
(sotto)sistemainformativo
Possono esistere sovrapposizioni fra i dati di interesse deivari
settori
Una base di dati è una risorsa integrata , condivisa fra i
varisettori
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 19
Condivisione: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 20
Condivisione: Esempio
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 21
Possibili problemi
Possibilità di avere:
Ridondanza: � informazioni ripetute
Di conseguenza:
Rischio di incoerenza: � le versioni possono non coincidere
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 22
Archivi e basi di dati
Gestione ricevimento
Archivio 2:ricevimento
Gestione orario lezioni
Archivio 1:orario lezioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 23
Archivi e basi di dati
Gestione ricevimento
Gestione orario lezioni
Base di dati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 24
Le basi di dati sono condivise
Una base di dati è una risorsa integrata , condivisa fra le
varie applicazioni
Conseguenze
� Attività diverse su dati in parte condivisi: � meccanismi di
autorizzazione
� Attività multi-utente su dati condivisi:� controllo della
concorrenza
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 25
Efficienza
Si misura (come in tutti i sistemi informatici) in termini di
tempo di esecuzione (tempo di risposta) e spazio di memoria
(principale e secondaria).
I DBMS, a causa della varietà di funzioni, non
sononecessariamente più efficienti dei file system.
L’efficienza è il risultato della qualità del DBMS e delle
applicazioni che lo utilizzano.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 26
DBMS vs file system
La gestione di insiemi di dati grandi e persistenti è
possibileanche attraverso sistemi più semplici (gli ordinari
filesystem dei sistemi operativi)
I file system prevedono forme rudimentali di condivisione:
"tutto o niente". Nei DBMS, c’è maggiore flessibilità
I DBMS estendono le funzionalità dei file system, fornendopiù
servizi ed in maniera integrata (cfr. efficacia)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 27
DBMS vs file system (2)
Nei programmi tradizionali che accedono a file, ogniprogramma
contiene una descrizione della struttura del filestesso, con i
conseguenti rischi di incoerenza fra le descrizioni (ripetute in
ciascun programma) e i file stessi.
Nei DBMS, esiste una porzione della base di dati (il catalogo o
dizionario) che contiene una descrizionecentralizzata dei dati, che
può essere utilizzata dai variprogrammi.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 28
Descrizioni dei dati nei DBMS
Descrizioni e rappresentazioni dei dati a livelli diversi
� Permettono l’indipendenza dei dati dallarappresentazione
fisica: � i programmi fanno riferimento alla struttura a
livello
più alto, e le rappresentazioni sottostanti possonoessere
modificate senza necessità di modifica deiprogrammi
� Precisiamo attraverso il concetto di � modello dei dati
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 29
Modello dei dati
Insieme di costrutti utilizzati per organizzare i dati di
interesse e descriverne la dinamica
Componente fondamentale: meccanismi di strutturazione (o
costruttori di tipo)
Come nei linguaggi di programmazione esistono meccanismiche
permettono di definire nuovi tipi, così ogni modello deidati
prevede alcuni costruttori
Ad esempio, il modello relazionale prevede il
costruttorerelazione, che permette di definire insiemi di
recordomogenei
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 30
Organizzazione dei dati in una base di dati
Orario
8:00N3Pero RossiSistemi Inform.
9:45N3Mario BruniFisica II
11:45N1Mario BruniFisica I
9:45N1Nicola MoriChimica
9:45N2Piero RossiBasi di dati
8:00N1Luigi NeriAnalisi matem. I
OraAulaDocenteInsegnamento
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 31
BD
Schema logico
Schema interno (o fisico)
utente
Architettura (semplificata) di un DBMS
� Schema logico :Descrizione della base di dati nel modello
logico (ad esempio, la struttura dellatabella)
� Schema fisico :Rappresentazione delloschema logico per mezzo
di strutture memorizzazione(file)
Il livello logico è indipendente da quello fisico:
Una tabella è utilizzata nello stesso modo qualunque siala sua
realizzazione fisica (che può anche cambiare neltempo)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 32
Architettura standard (ANSI/SPARC)a tre livelli per DBMS
BD
Schema logico
Schemaesterno
Schema interno (o fisico)
Schemaesterno
Schemaesterno
utente utente utente utente utente
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 33
Architettura ANSI/SPARC: schemi
� schema logico: descrizione dell’intera base di dati nelmodello
logico “principale” del DBMS
� schema fisico: rappresentazione dello schema logicoper mezzo
di strutture fisiche di memorizzazione
� schema esterno: descrizione di parte della base di datiin un
modello logico (“viste” parziali, derivate, anche in modelli
diversi)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 34
Una vista
Corso AulaDocenteRossiBasi di dati DS3
BruniReti N3NeriSistemi N3
BruniControlli G
Corsi
Nome PianoEdificio
OMIDS1 Terra
PincherleG Primo
OMIN3 Terra
Aule
CorsiSedi
Corso Aula PianoEdificio
Reti N3
Sistemi N3
Controlli G
OMI Terra
Pincherle Primo
OMI Terra
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 35
Indipendenza dei dati
Conseguenza della articolazione in livelli: l’accesso avviene
solo tramite il livello esterno (che può coincidere con il livello
logico)
� Indipendenza fisicail livello logico e quello esterno sono
indipendenti da quello fisico� una relazione è utilizzata nello
stesso modo qualunque sia la
sua realizzazione fisica� la realizzazione fisica può cambiare
senza che debbano
essere modificati i programmi
� Indipendenza logicail livello esterno è indipendente da quello
logico� aggiunte o modifiche alle viste non richiedono modifiche
al
livello logico� modifiche allo schema logico che lascino
inalterato lo schema
esterno sono trasparenti
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 36
Linguaggi per basi di dati
Un altro contributo all’efficacia: disponibilità di vari
linguaggi e interfacce diverse:
� linguaggi testuali interattivi (SQL)
� comandi (come quelli del linguaggio interattivo) immersiin un
linguaggio ospite (Pascal, C, Cobol, etc.)
� comandi (come quelli del linguaggio interattivo) immersiin un
linguaggio ad hoc, con anche altre funzionalità(p.es. per grafici o
stampe strutturate), anche con l’ausilio di strumenti di sviluppo
(p. es. per la gestione di maschere)
� con interfacce amichevoli (senza linguaggio testuale)
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 37
SQL un linguaggio interattivo
SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND
Piano="Terra"
Corso Aula
Reti N3
Sistemi N3
Piano
Terra
Terra
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 38
SQL immerso in linguaggio ad alto livello
write('nome della citta''?'); readln(citta); EXEC SQL DECLARE P
CURSOR FOR
SELECT NOME, REDDITOFROM PERSONEWHERE CITTA = :citta ;
EXEC SQL OPEN P ; EXEC SQL FETCH P INTO :nome, :reddito ; while
SQLCODE = 0 do begin
write('nome della persona:', nome,
'aumento?');readln(aumento);EXEC SQL UPDATE PERSONE SET REDDITO =
REDDITO + :aumento
WHERE CURRENT OF PEXEC SQL FETCH P INTO :nome, :reddito
end;
EXEC SQL CLOSE CURSOR P
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 39
SQL immerso in linguaggio ad hoc (Oracle PL/SQL)
declare Stip number;begin
select Stipendio into Stip
from Impiegatowhere Matricola = '575488'
for update of Stipendio;if Stip > 30 then
update Impiegato set Stipendio = Stipendio * 1.1 where Matricola
= '575488';
elseupdate Impiegato set Stipendio = Stipendio * 1.15 where
Matricola = '575488';
end if;commit;
exceptionwhen no_data_found then
insert into Errori
values('Non esiste la matricola specificata',sysdate);end;
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 40
Interazione non testuale (in Access)
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 41
Una distinzione terminologica(separazione fra dati e
programmi)
� Data Manipulation Language (DML)
per l’interrogazione e l’aggiornamento di (istanze di) basi di
dati
� Data Definition Language (DDL)
per la definizione di schemi (logici, esterni, fisici) e altre
operazioni generali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 42
Un'operazione DDL (sullo schema)
CREATE TABLE orario (insegnamento CHAR(20) ,docente CHAR(20)
,aula CHAR(4) ,ora CHAR(5) );
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 43
Personaggi e interpreti
�progettisti e realizzatori di DBMS
�progettisti della base di dati e amministratori dellabase di
dati (DBA)
�progettisti e programmatori di applicazioni
�utenti� utenti finali (terminalisti): eseguono applicazioni
predefinite (transazioni) � utenti casuali : eseguono operazioni
non previste a
priori, usando linguaggi interattivi
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 44
Database administrator (DBA)
Persona o gruppo di persone responsabile del
controllocentralizzato e della gestione del sistema, delle
prestazioni, dell’affidabilità, delle autorizzazioni
Le funzioni del DBA includono quelle di progettazione, anche se
in progetti complessi ci possono esseredistinzioni
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 45
Transazioni
Programmi che realizzano attività frequenti e predefinite, con
poche eccezioni, previste a priori.Esempi: � versamento presso uno
presso sportello bancario� emissione di certificato anagrafico�
dichiarazione presso l’ufficio di stato civile� prenotazione
aerea
Le transazioni sono di solito realizzate con programmi in
linguaggio ospite (tradizionale o ad hoc). N.B.: il termine
transazione ha un’altra accezione, piùspecifica: sequenza
indivisibile di operazioni (o vengonoeseguite tutte o nessuna).
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 46
Vantaggi e svantaggi dei DBMS
Pro� dati come risorsa comune, base di dati come modello
della realtà� gestione centralizzata con possibilità di
standardizzazione ed “economia di scala”� disponibilità di
servizi integrati� riduzione di ridondanze e inconsistenze�
indipendenza dei dati (favorisce lo sviluppo e la
manutenzione delle applicazioni)Contro� costo dei prodotti e
della transizione verso di essi� non scorporabilità delle
funzionalità (con riduzione di
efficienza)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 47
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 48
Progettazione di basi di dati
È una delle attività del processo di sviluppo dei sistemi
informativi va quindi inquadrata in un contesto più generale:
Il ciclo di vita dei sistemi informativi:
� Insieme e sequenzializzazione delle attività svolte da
analisti, progettisti, utenti, nello sviluppo e nell’uso dei
sistemi informativi
� attività iterativa, quindi ciclo
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 49
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazione
Realizzazione
Validazione ecollaudo
Funzionamento
Ciclo di vita sistemi informativi
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 50
Fasi (tecniche) del ciclo di vita
�Studio di fattibilità: definizione costi e priorità
�Raccolta e analisi dei requisiti: studio delle proprietà del
sistema
�Progettazione: di dati e funzioni
�Realizzazione
�Validazione e collaudo: sperimentazione
�Funzionamento: il sistema diventa operativo
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 51
i dati hanno un ruolo centrale in quanto più stabili
La progettazione di un sistema informativo riguarda due
aspetti:
�progettazione dei dati�progettazione delle applicazioni
Ma:
Progettazione: Note
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 52
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazione
Realizzazione
Validazione ecollaudo
Funzionamento
Ciclo di vita sistemi informativi
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 53
Per garantire prodotti di buona qualità è opportuno seguire una
metodologia di progetto, con:
�articolazione delle attività in fasi
�criteri di scelta
�modelli di rappresentazione
�generalità e facilità d'uso
Metodologia di progetto
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 54
Studio di fattibilità
Raccolta e analisidei requisiti
Progettazione
Realizzazione
Validazione ecollaudo
Funzionamento
Ciclo di vita sistemi informativi
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 55
Schema concettuale
Requisiti della base di dati
Progettazioneconcettuale
Schema logico
Schema fisico
“CHE COSA”:analisi
“COME”:progettazione
Progettazionelogica
Progettazionefisica
Metodologia di progetto per le basi di dati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 56
� Schema concettuale
� Schema logico
� Schema fisico
I prodotti della varie fasi sono schemi di alcuni modelli di
dati:
Metodologia di progetto per le basi di dati
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 57
Descrizioni dei dati nei DBMS
Descrizioni e rappresentazioni dei dati a livelli diversi
� Permettono l’indipendenza dei dati dallarappresentazione
fisica: � i programmi fanno riferimento alla struttura a
livello
più alto, e le rappresentazioni sottostanti possonoessere
modificate senza necessità di modifica deiprogrammi
� Precisiamo attraverso il concetto di � modello dei dati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 58
Modello dei dati
Insieme di costrutti utilizzati per organizzare i dati di
interesse e descriverne la dinamica
Componente fondamentale: meccanismi di strutturazione (o
costruttori di tipo)
Come nei linguaggi di programmazione esistono meccanismiche
permettono di definire nuovi tipi, così ogni modello deidati
prevede alcuni costruttori
Ad esempio, il modello relazionale prevede il
costruttorerelazione, che permette di definire insiemi di
recordomogenei
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 59
Modello dei dati:Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 60
Organizzazione dei dati in una base di dati
Orario
8:00N3Pero RossiSistemi Inform.
9:45N3Mario BruniFisica II
11:45N1Mario BruniFisica I
9:45N1Nicola MoriChimica
9:45N2Piero RossiBasi di dati
8:00N1Luigi NeriAnalisi matem. I
OraAulaDocenteInsegnamento
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 61
Definizioni: Schema e istanza
In ogni base di dati esistono:
� lo schema , sostanzialmente invariante nel tempo, chene
descrive la struttura (aspetto intensionale)
� le intestazioni delle tabelle
� l’istanza , i valori attuali, che possono cambiare anchemolto
rapidamente (aspetto estensionale)
� il “corpo” di ciascuna tabella
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 62
L'istanza della base di dati
Lo schema della base di datiOrario
8:00N3Pero RossiSistemi Inform.
9:45N3Mario BruniFisica II
11:45N1Mario BruniFisica I
9:45N1Nicola MoriChimica
9:45N2Piero RossiBasi di dati
8:00N1Luigi NeriAnalisi matem. I
OraAulaDocenteInsegnamento
Definizioni: Schema e istanza
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 63
Due tipi (principali) di modelli
� Modelli logici : utilizzati nei DBMS esistenti per
l’organizzazione dei dati
� utilizzati dai programmi� indipendenti dalle strutture
fisiche
esempi: relazionale , reticolare, gerarchico, a oggetti
� Modelli concettuali : permettono di rappresentare i dati in
modo indipendente da ogni sistema
� cercano di descrivere i concetti del mondo reale� sono
utilizzati nelle fasi preliminari di progettazione
il più noto è il modello Entity-RelationshipBasi di dati
Università degli Studi Roma Tre - Gianluca Di Tomassi 64
Modelli concettuali, perché ?
Proviamo a modellare una applicazione definendo direttamente lo
schema logico della base di dati:
� da dove cominciamo?� rischiamo di perderci subito nei
dettagli� dobbiamo pensare subito a come correlare le varie
tabelle (chiavi etc.)� i modelli logici sono rigidi
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 65
Modelli concettuali, perché?
� servono per ragionare sulla realtà di interesse,
indipendentemente dagli aspetti realizzativi
� permettono di rappresentare le classi di dati di interesse e
le loro correlazioni
� prevedono efficaci rappresentazioni grafiche (utili anche per
documentazione e comunicazione)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 66
Progettazioneconcettuale
Progettazione logica
Progettazionefisica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 67
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 68
Il più diffuso modello concettuale ma attenzione ne esistono
molte versioni, (più o meno) diverse l’una dall’altra
Modello Entity-Relationship (Entità-Relazione)
� Entità� Relationship� Attributo� Identificatore�
Generalizzazione� ….
I costrutti del modello E-R:
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 69
Classe di oggetti (fatti, persone, cose) della applicazione di
interesse con proprietà comuni e con esistenza “autonoma”
Esempi: impiegato, città, conto corrente, ordine, fattura
Modello E-R: Entità
�Entità: � classe di oggetti, persone, … "omogenei"
�Occorrenza (o istanza) di entità:� elemento della classe
(l'oggetto, la persona, …,
non i dati)
Distinguiamo tra:
Nello schema concettuale rappresentiamo le entità, non le
singole istanze (“astrazione”)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 70
Impiegato Dipartimento
Città Vendita
Modello E-R: Entità rappresentazione grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 71
Ogni entità ha un nome che la identifica univocamente nello
schema:
� nomi espressivi
� opportune convenzioni (Es: singolare)
Modello E-R: Entità commenti
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 72
Legame logico fra due o più entità, rilevante nell’applicazione
di interesse
Esempi:� Residenza (fra persona e città)� Esame (fra studente e
corso)
Chiamata anche: � relazione, correlazione, associazione
Modello E-R: Relationship
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 73
Esame
Residenza
Modello E-R: Relationship rappresentazione grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 74
Ogni relationship ha un nome che la identifica univocamente
nello schema:
� nomi espressivi
� opportune convenzioni (Es: singolare, se possibile sostantivi
invece dei verbi)
Modello E-R: Relationship commenti
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 75
EsameStudente Corso
ResidenzaImpiegato Città
Modello E-R: rappresentazione grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 76
Una occorrenza di una relationship binaria è coppia di
occorrenze di entità, una per ciascuna entità coinvolta
Una occorrenza di una relationship n-aria è una n-upla di
occorrenze di entità, una per ciascuna entità coinvolta
Nell'ambito di una relationship non ci possono essere occorrenze
(coppie, ennuple) ripetute
Modello E-R: Relationship occorrenze
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 77
Due relationship sulle stesse entità
ResidenzaImpiegato Città
Sede dilavoro
Modello E-R: Relationship binarie
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 78
Fornitore Prodotto
Dipartimento
Fornitura
Modello E-R: Relationship n-arie
A fornisce stampanti al Dip PersonaleB fornisce fotocopiatrici
al Dip PersonaleA fornisce calcolatori al Dip RicercaC fornisce
calcolatori al Dip Personale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 79
Coinvolge “due volte” la stessa entità
Persona
Conoscenza
Modello E-R: Relationship ricorsiva
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 80
Coinvolge “due volte” la stessa entità ma essendo simmetrica
occorre specificare i ruoli al fine di poter fornie una
semantica
Sovrano
Successione
Modello E-R: Relationship ricorsiva con ruoli
Successore Predecessore
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 81
Confronto
Tennista
Superficie
Migliore Peggiore
Migliore Peggiore SuperficeSanchez Navratilova Terra
Navratilova Sanchez ErbaGraf Sanchez Erba
Modello E-R: Relationship ternaria ricorsiva con ruoli
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 82
Proprietà elementare di un’entità o di una relationship, di
interesse ai fini dell’applicazione
Associa ad ogni occorrenza di entità o relationship un valore
appartenente a un insieme detto dominio dell’attributo
Modello E-R: Attributo
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 83
EsameStudente Corso
Cognome Nome
Matricola
DataTitolo
Codice
Voto
Modello E-R: Attributo rappresentazione grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 84
Raggruppano attributi di una medesima entità o relationship che
presentano affinità nel loro significato o uso
Esempio:
Via, Numero civico e CAP formano un Indirizzo
Modello E-R: Attributo composto
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 85
Impiegato
Cognome
Età
Via
Indirizzo Numero
CAP
Modello E-R: Attributo composto rappresentazione grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 86
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
Modello E-R: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 87
Cardinalità� di relationship� di attributo
Identificatore� interno� esterno
Generalizzazione
Modello E-R: Altri costrutti
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 88
Coppia di valori associati a ogni entità che partecipa a una
relationship
Specificano il numero minimo e massimo di occorrenze delle
relationship cui ciascuna occorrenza di una entità può
partecipare
Modello E-R: Cardinalità di Relationship
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 89
Modello E-R: Cardinalità di Relationship esempio
AssegnamentoImpiegato Incarico
(1,5) (0,50)
Un impiegato ha assegnati minimo 1 massimo 5 incarichi
Un incarico ha assegnati minimo 0 massimo 50 impiegati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 90
Per semplicità usiamo 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
Modello E-R: Cardinalità di Relationship
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 91
ResidenzaStudente Città
(1,1) (0,N)
Modello E-R: Cardinalità di Relationship esempo
Uno studente risiede minimo in 1 massimo in 1 città
Una città è residenza per minimo 0 massimo N studenti
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 92
Con riferimento alle cardinalità massime, abbiamo
relationship:
� uno a uno� uno a molti (o 1 a N)� molti a molti (o N a N)
Modello E-R: Tipi di Relationship
� Attenzione al "verso" nelle relationship uno a molti
� le relationship obbligatorie-obbligatorie sono molto rare
Avvertenze:
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 93
Modello E-R: Relationship “molti a molti”
EsameStudente Corso
(0,N) (0,N)
ScalataMontagna Alpinista
(0,N) (1,N)
AbilitazioneMacchinista Locomotore
(1,N) (1,N)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 94
Modello E-R: Relationship “uno a molti”
ImpiegoPersona Azienda
(0,1) (0,N)
UbicazioneCinema Località
(1,1) (0,N)
UbicazioneComune Provincia
(1,1) (1,N)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 95
Modello E-R: Relationship “uno a uno”
TitolaritàProfessore Cattedra
(0,1) (0,1)
TitolaritàProfessore di ruolo
Cattedra
(1,1) (0,1)
TitolaritàProfessore di ruolo
Cattedra coperta
(1,1) (1,1)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 96
E’ possibile associare delle cardinalità anche agli attributi,
con due scopi:
� indicare opzionalità ("informazione incompleta")� indicare
attributi multivalore
Modello E-R: Cardinalità di attributi
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 97
Impiegato
Telefono
Nome
Numero patente
(0,N)
(0,1)
Modello E-R: Cardinalità di attributi rappresentazione
grafica
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 98
“Strumento” per l’identificazione univoca delle occorrenze di
un’entità
Costituito da:� attributi dell’entità
� identificatore interno
� (attributi +) entità esterne attraverso relationship�
identificatore esterno
Modello E-R: Identificatore entità
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 99
Persona
Data Nascita
Cognome
Nome
Automobile
Targa
Modello
Indirizzo
Modello E-R: Identificatore entità interno
La targa di un’automobile sul territorio nazionale la identifica
in modo univoco
Supponendo che non esistono persone che hanno contemporaneamente
lo stesso nome, cognome e data di nascita
Marca
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 100
IscrizioneStudente Università
Cognome Matricola
Anno di corso
Nome
Indirizzo
(1,1) (0,N)
Modello E-R: Identificatore entità esterno
Sul territorio nazionale l’Università è identificata
univocamente dal nome. Lo studente dal nome dell’Università e dalla
matricola che gli è stata assegnata
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 101
Ogni entità deve possedere almeno un identificatore, ma può
averne in generale più di uno
Una identificazione esterna è possibile solo attraverso una
relationship a cui l’entità da identificare partecipa con
cardinalità (1,1)
Modello E-R: Identificatore osservazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 102
(1,1)(0,1)
(0,N)(0,1)
(0,1)
(1,1)
(1,N)
(0,N)
(1,N)
(1,N)
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
Modello E-R: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 103
Mette in relazione una o più entità E1, E2, ..., En con una
entità E, che le comprende come caso particolare
� E è generalizzazione di E1, E2, ..., En� E1, E2, ..., En sono
specializzazioni (o sottotipi) di E
Modello E-R: Generalizzazione
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 104
Dipendente
Impiegato Funzionario Dirigente
Modello E-R: Generalizzazione rappresentazione grafica
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 105
Se E (genitore) è generalizzazione di E1, E2, ..., En
(figlie):
� ogni proprietà di E è significativa per E1, E2, ..., En
� ogni occorrenza di E1, E2, ..., En è occorrenza anche di E
Modello E-R: Generalizzazione proprietà
� tutte le proprietà (attributi, relationship, altre
generalizzazioni) dell’entità genitore vengono ereditate dalle
entità figlie e non rappresentate esplicitamente
Ereditarietà delle generalizzazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 106
Persona
Codice fiscale
Nome
Età
Città
Nascita
(0,N)
(1,1)
Lavoratore Studente
Stipendio
Modello E-R: Generalizzazione esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 107
� totale se ogni occorrenza dell'entità genitore è occorrenza di
almeno una delle entità figlie, altrimenti è parziale
� esclusiva se ogni occorrenza dell'entità genitore èoccorrenza
di al più una delle entità figlie, altrimenti èsovrapposta
Modello E-R: Tipi di generalizzazione
consideriamo (senza perdita di generalità) solo generalizzazioni
esclusive e distinguiamo fra totali e parziali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 108
Disoccupato Lavoratore
Persona
Uomo Donna
Persona
Generalizzazione parziale esclusiva
Generalizzazione totale esclusiva
Modello E-R: Tipi di generalizzazione esempi
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 109
� possono esistere gerarchie a più livelli e multiple
generalizzazioni allo stesso livello
� un'entità può essere inclusa in più gerarchie, come genitore
e/o come figlia
� se una generalizzazione ha solo un’entità figlia si parla di
sottoinsieme
alcune configurazioni non hanno senso
il genitore di una generalizzazione totale può non avere
identificatore, purché …
Modello E-R: Tipi di generalizzazione altre proprietà
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 110
Le persone sono uomini e donne hanno CF,cognome ed età; per gli
uomini è rilevante anche la posizione militare. Gli impiegati e gli
studenti sono delle persone. Gli impiegati hanno lo stipendio e
possono essere segretari per i quali èrilevante l’orario di lavoro,
direttori o progettisti (nell’ultimo caso possono essere anche
responsabili di progetto); gli studenti (che non possono essere
impiegati) hanno il numero di matricola; esistono persone che non
sono néimpiegati né studenti (ma i dettagli non ci interessano)
Modello E-R: Generalizzazioni esercizio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 111
Segretario Direttore Progettista
Responsabile
PersonaCF
Cognome
Età
Uomo Donna
Militare
Impiegato Studente
Stipendio Matr.
Modello E-R: Generalizzazioni esercizio
Orario lavoro
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 112
�dizionario dei dati � entità� relationship
�vincoli non esprimibili
Modello E-R: Documentazione associata agli schemi
concettuali
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 113
(1,1)(0,1)
(0,N)(0,1)
(0,1)
(1,1)
(1,N)
(0,N)
(1,N)
(1,N)
CittàIndirizzo
Telefono
Dipartimento
Composizione
Sede
Direzione
Afferenza
Impiegato
Progetto
Partecipazione
Nome
Nome
Cognome
Budget
Data
Via
CAP
Codice
Modello E-R: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 114
Entità Descrizione Attributi Identificatore Impiegato
Dipendente
dell'azienda Codice, Cognome, Stipendio
Codice
Progetto Progetti aziendali
Nome, Budget
Nome
Dipartimento Struttura aziendale
Nome, Telefono
Nome, Sede
Sede Sede dell'azienda
Città, Indirizzo
Città
Modello E-R: Dizionario dei dati (entità)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 115
Relazioni Descrizione Componenti Attributi Direzione Direzione
di un
dipartimento Impiegato, Dipartimento
Afferenza Afferenza a un dipartimento
Impiegato, Dipartimento
Data
Partecipazione Partecipazione a un progetto
Impiegato, Progetto
Composizione Composizione dell'azienda
Dipartimento, Sede
Modello E-R: Dizionario dei dati (relationship)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 116
Vincoli di integrità sui dati (1) Il direttore di un
dipartimento deve a afferire a tale
dipartimento (2) Un impiegato non deve avere uno stipendio
maggiore del direttore del dipartimento al quale afferisce
(3) Un dipartimento con sede a Roma deve essere diretto da un
impiegato con più di dieci anni di anzianità
(4) Un impiegato che non afferisce a nessun dipartimento non
deve partecipare a nessun un progetto
Modello E-R: Vincoli non esprimibili
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 117
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 118
Schema concettuale
Requisiti della base di dati
Progettazioneconcettuale
Schema logico
Schema fisico
“CHE COSA”:analisi
“COME”:progettazione
Progettazionelogica
Progettazionefisica
Metodologia di progetto per le basi di dati
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 119
Analisi dei requisiti e progettazione concettuale ("Analisi dei
dati")
Comprende attività (interconnesse) di:
� acquisizione dei requisiti
� analisi dei requisiti
� costruzione dello schema concettuale
� costruzione del glossario
Il reperimento dei requisiti è un'attività difficile e non
standardizzabile
l'attività di analisi inizia con i primi requisiti raccolti e
spesso indirizza verso altre acquisizioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 120
Requisiti
Possibili fonti:
�utenti, attraverso:� interviste� documentazione apposita
�documentazione esistente:� normative (leggi, regolamenti di
settore)� regolamenti interni, procedure aziendali� realizzazioni
preesistenti
�modulistica
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 121
Acquisizione per interviste
� utenti diversi possono fornire informazioni diverse
� utenti a livello più alto hanno spesso una visione piùampia ma
meno dettagliata
� le interviste portano spesso ad una acquisizione dei requisiti
“per raffinamenti successivi”
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 122
Interazione con gli utenti
Spunti:
� effettuare spesso verifiche di comprensione e coerenza
� verificare anche per mezzo di esempi (generali e relativi a
casi limite)
� richiedere definizioni e classificazioni � far evidenziare gli
aspetti essenziali rispetto a quelli
marginali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 123
Requisiti: documentazione descrittiva
Regole generali:
� scegliere il corretto livello di astrazione� standardizzare la
struttura delle frasi� suddividere le frasi articolate� separare le
frasi sui dati da quelle sulle funzioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 124
Requisiti: organizzazione di termini e concetti
Regole generali
� costruire un glossario dei termini� individuare omonimi e
sinonimi e unificare i termini� rendere esplicito il riferimento
fra termini� riorganizzare le frasi per concetti
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 125
Base di dati bibliografica Si vogliono organizzare i dati di
interesse per automatizzare la gestione dei riferimenti
bibliografici
Requisiti: Esempio
Base di dati bibliografica Si vogliono organizzare i dati di
interesse per automatizzare la gestione
dei riferimenti bibliografici, con tutte le informa zioni da
riportarsi in una
bibliografia.
Per ogni pubblicazione deve esistere un codice identificante
costituito da
sette caratteri, indicanti le iniziali degli autori, l'anno di
pubblicazione e
un carattere aggiuntivo per la discriminazione delle
collisioni.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 126
Termine Descrizione Sinonim i Collegamenti Partecipante Persona
che partecipa
ai corsi
Studente Corso,
Società
Docente Docente dei corsi. Può
essere esterno
Insegnante Corso
Corso Corso organizzato
dalla società. Può
avere più edizioni.
Seminario Docente
Requisiti: Glossario dei termini
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 127
Frasi di carattere generale Si vuole realizzare una base di dati
per una società che eroga
corsi, di cui vogliamo rappresentare i dati dei partecipanti
ai
corsi e dei docenti.
Requisiti: Strutturazione dei requisiti in gruppi di frasi
omogenee
Frasi relative ai partecipanti Per i partecipanti (circa 5000),
identificati da un codice,
rappresentiamo il codice fiscale, il cognome, l'età, il sesso,
la città di
nascita, i nomi dei loro attuali datori di lavoro e di quelli
precedenti
(insieme alle date di inizio e fine rapporto), le edizioni dei
corsi che
stanno attualmente frequentando e quelli che hanno frequentato
nel
passato, con la relativa votazione finale in decimi.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 128
Frasi relative ai datori di lavoro Relativamente ai datori di
lavoro presenti e passati dei partecipanti,
rappresentiamo il nome, l'indirizzo e il numero di telefono.
Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo
il titolo e il codice, le varie
edizioni con date di inizio e fine e, per ogni edizione,
rappresentiamo il
numero di partecipanti e il giorno della settimana, le aule e le
ore dove
sono tenute le lezioni.
Requisiti: Strutturazione dei requisiti in gruppi di frasi
omogenee
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 129
Quale costrutto E-R va utilizzato per rappresentare un concetto
presente nelle specifiche?
Bisogna basarsi sulle definizioni dei costrutti del modello
E-R
� se ha proprietà significative e descrive oggetti con esistenza
autonoma
� entità� se è semplice e non ha proprietà
� attributo� se correla due o più concetti
� relazione� se è caso particolare di un altro
� generalizzazione
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 130
Strategie di progetto
� top-down
� bottom-up
� inside-out
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 131
Strategie di progetto: Top Down
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 132
Strategie di progetto: Bottom Up
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 133
Strategie di progetto: Inside Out
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 134
si procede di solito con una strategia ibrida (mista):
� si individuano i concetti principali e si realizza uno schema
scheletro
� sulla base di questo si può decomporre� poi si raffina, si
espande, si integra
Strategie di progetto: In pratica
Si individuano i concetti più importanti, ad esempio perchépiù
citati o perché indicati esplicitamente come cruciali e li si
organizza in un semplice schema concettuale
Definizione dello schema scheletro:
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 135
Qualità di uno schema concettuale
� Correttezza
� Completezza
� Leggibilità
� minimalità
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 136
Un esempio di progettazione concettuale
Frasi d i cara ttere genera le S i vuo le rea lizzare una base d
i da ti per una società che eroga corsi, d i cu i vog liam o rapp
resen tare i da ti dei partecipan ti a i corsi e dei docen ti.
Supponiamo di dover progettare una base di dati per una società
di formazione
Partecipante
Corso
Docente
Partecipazione Docenza
Definiamo lo schema scheletro:
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 137
Frasi relative ai partecipanti Per i partecipanti (circa 5000),
identificati da un codice,
rappresentiamo il codice fiscale, il cognome, l'età, il sesso,
la città di
nascita, i nomi dei loro attuali datori di lavoro e di quelli
precedenti
(insieme alle date di inizio e fine rapporto), le edizioni dei
corsi che
stanno attualmente frequentando e quelli che hanno frequentato
nel
passato, con la relativa votazione finale in decimi.
Un esempio di progettazione concettuale
Frasi relative ai datori di lavoro Relativamente ai datori di
lavoro presenti e passati dei partecipanti,
rappresentiamo il nome, l'indirizzo e il numero di telefono.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 138
Frasi relative a tipi specifici di partecipanti Per i
partecipanti che sono liberi professionisti, rappresentiamo
l'area di interesse e, se lo possiedono, il titolo
professionale. Per i
partecipanti che sono dipendenti, rappresentiamo invece il
loro
livello e la posizione ricoperta.
Un esempio di progettazione concettuale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 139
PosizioneLivello Titolo prof. Area
Partecipante
CF
Codice
…..
Impiegopassato
(0,N)
(0,N)
Dipendente Professionista
Datore Nome
…..Impiegocorrente
(0,N)
(1,1)
Un esempio di progettazione concettuale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 140
Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo
il titolo e il codice, le varie
edizioni con date di inizio e fine e, per ogni edizione,
rappresentiamo il
numero di partecipanti e il giorno della settimana, le aule e le
ore dove
sono tenute le lezioni.
Un esempio di progettazione concettuale
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 141
(1,N)
(1,1)
ComposizioneTipologia
(1,1)
(0,N)
Corso
N.Part.Data fine
Data inizio
Edizionecorso
Orario Aula Giorno
Lezione
Titolo Codice
Un esempio di progettazione concettuale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 142
Frasi relative ai docenti Per i docenti (circa 300),
rappresentiamo il cognome, l'età, la città di
nascita, tutti i numeri di telefono, il titolo del corso che
insegnano, di
quelli che hanno insegnato nel passato e di quelli che
possono
insegnare. I docenti possono essere dipendenti interni della
società di
formazione o collaboratori esterni.
Docente
Collaboratore Interno
CF
Cognome
Età
Telefono
Città nascita
(1,N)
Un esempio di progettazione concettuale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 143
Partecipante
Corso
Docente
Partecipazione Docenza
Un esempio di progettazione concettuale: Integrazione
Partecipante Corso
partecipazionepassata
(0,N) (0,N)
partecipazionecorrente
(0,1) (0,N)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 144
Tipologia
Corso
CodiceTitolo
Datainizio
(0,N)
(1,1)
DocenzaCorso
Edizione Docente
Abilitazione(1,N)
(1,N)
Docenzapassata
(0,N)(0,1)
Docenzacorrente
(0,1) (0,1)
(0,1)(0,1)
Un esempio di progettazione concettuale: Integrazione
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 145
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 146
I modelli logici dei dati
Tre modelli logici tradizionali
� Gerarchico� Reticolare
� Relazionale
Più recente (e poco diffuso)
� a Oggetti
utilizzano riferimentiespliciti (puntatori) frarecord
"è basato su valori“anche i riferimenti fradati in
strutture(relazioni) diverse sono rappresentati per mezzo dei
valoristessi
Caratteristiche
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 147
Il modello relazionale
Proposto da E. F. Codd nel 1970 per favorirel’indipendenza dei
dati
Disponibile in DBMS reali nel 1981 (non è facileimplementare
l’indipendenza con efficienza e affidabilità!)
Si basa sul concetto matematico di relazione (con
unavariante)
Le relazioni hanno naturale rappresentazione per mezzo di
tabelle
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 148
Struttura non posizionale
A ciascun dominio si associa un nome (attributo), che ne
descrive il "ruolo"
3200
1021
JuveLazioJuve
Roma
LazioMilanRomaMilan
RetiCasa RetiFuoriCasa Fuori
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 149
Tabelle e relazioni
Una tabella rappresenta una relazione se
� i valori di ogni colonna sono fra loro omogenei� le righe sono
diverse fra loro� le intestazioni delle colonne sono diverse tra
loro
In una tabella che rappresenta una relazione
� l’ordinamento tra le righe è irrilevante� l’ordinamento tra le
colonne è irrilevante
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 150
Il modello è basato su valori
i riferimenti fra dati in relazioni diverse sono
rappresentatiper mezzo di valori dei domini che compaiono nelle
ennuple
Matricola Cognome Nome Data di nascita
6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
esami
Studente3456345692836554
Voto30242826
Corso04020101
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica
Verdi
corsi
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 151
6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976
3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
Matricola Cognome Nome Data di nascitastudenti
Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica
Verdi
corsi
esami Studente Voto Corso30242826
Il modello basato su puntatori
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 152
Vantaggi della struttura basata su valori
� indipendenza dalle strutture fisiche (si potrebbe avereanche
con puntatori di alto livello) che possono
cambiaredinamicamente
� si rappresenta solo ciò che è rilevante dal punto di vista
dell’applicazione
� l’utente finale vede gli stessi dati dei programmatori
� i dati sono portabili piu' facilmente da un sistema ad
unaltro
� i puntatori sono direzionali
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 153
Definizioni
�Schema di relazione:un nome R con un insieme di attributi A1,
..., An:
R(A1,..., An)
�Schema di base di dati:insieme di schemi di relazione:
R = {R1(X1), ..., Rk(Xk)}
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 154
Strutture nidificate
Da FilippoVia Roma 2, RomaRicevuta Fiscale
1235 del 12/10/20003 Coperti 3,00
2 Bistecche 18,003 Primi 12,002 Antipasti 6,20
Totale 39,20
Da FilippoVia Roma 2, RomaRicevuta Fiscale
1240 del 13/10/20002 Coperti 2,00
2 Orate 20,002 Primi 8,002 Antipasti 7,00
2 Caffè 2,00
Totale 39,00
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 155
Relazioni che rappresentano strutture nidificate
1235 39,2012/10/2000Numero TotaleData
1240 39,0013/10/2000
Ricevute
3 Coperti 3,00
2 Bistecche 18,003 Primi 12,002 Antipasti 6,20
Dettaglio Qtà Descrizione Costo1235
Numero
1240
123512351235
2 Coperti 2,00… … … …
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 156
Strutture nidifcate, riflessione
Abbiamo rappresentato veramente tutti gli aspetti delle
ricevute?
Dipende da che cosa ci interessa!
� l'ordine delle righe e' rilevante?� possono esistere linee
ripetute in una ricevuta?
Sono possibili rappresentazioni diverse
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 157
Rappresentazione alternativa per strutture nidificate
Dettaglio3 Coperti 3,00
2 Bistecche 18,003 Primi 12,002 Antipasti 6,20
Qtà Descrizione Costo1235
Numero
1240
123512351235
2 Coperti 2,00… … … …
1
432
Riga
1…
1235 39,2012/10/2000Numero TotaleData
1240 39,0013/10/2000
Ricevute
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 158
Informazione incompleta
ll modello relazionale impone ai dati una struttura rigida: � le
informazioni sono rappresentate per mezzo di
ennuple� solo alcuni formati di ennuple sono ammessi: quelli
che
corrispondono agli schemi di relazione
I dati disponibili possono non corrispondere al
formatoprevisto
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 159
Informazione incompleta: motivazioni
Franklin RooseveltDelano
Nome CognomeSecondoNome
Winston Churchill
Charles De Gaulle
Josip Stalin
non conviene (anche se spesso si fa) usare valori del dominio
(0, stringa nulla, “99”, ...):� potrebbero non esistere valori “non
utilizzati”� valori “non utilizzati” potrebbero diventare
significativi� in fase di utilizzo (nei programmi) sarebbe
necessario
ogni volta tener conto del “significato” di questi valori
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 160
Informazione incompleta nel modello relazionale
Si adotta una tecnica rudimentale ma efficace:
� valore nullo: denota l’assenza di un valore del dominio (e non
è un valore del dominio)
t[A], per ogni attributo A, è un valore del dominio dom(A)
oppure il valore nullo NULL
Si possono (e debbono) imporre restrizioni sulla presenzadi
valori nulli
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 161
MatricolaCognome Nome Data di nascita6554 Rossi Mario
05/12/1978
NULL Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979
studenti
Codice Titolo Docente01 Analisi Mario02 NULL NULL04 Chimica
Verdi
corsi
Studente Voto CorsoNULL 30 NULLNULL 24 029283 28 01
esami
Troppi valori nulli
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 162
Tipi di valore nullo
(almeno) tre casi differenti
� valore sconosciuto� valore inesistente� valore senza
informazione
I DBMS non distinguono i tipi di valore nullo
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 163
Vincoli di integrità
Esistono istanze di basi di dati che, pur
sintatticamentecorrette, non rappresentano informazioni possibili
per l’applicazione di interesse
Esami Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
32
27 e lode739430
Studenti Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
787643787643
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 164
Vincolo di integrità
� Proprietà che deve essere soddisfatta dalle istanzeche
rappresentano informazioni corrette per l’applicazione
� Un vincolo è una funzione booleana (un predicato):associa ad
ogni istanza il valore vero o falso
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 165
� descrizione più accurata della realtà
� contributo alla “qualità dei dati”
� utili nella progettazione (vedremo)
� usati dai DBMS nella esecuzione delle interrogazioni
� non tutte le proprietà di interesse sono rappresentabiliper
mezzo di vincoli formulabili in modo esplicito
Vincolo di integrità, perchè ?
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 166
Tipi di vincoli
�vincoli intrarelazionali
� vincoli su valori (o di dominio) � vincoli di ennupla
�vincoli interrelazionali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 167
Tipi di vincoli
Esami Studente Voto Lode Corso32 01276545
276545 30 e lode 02787643 27 e lode 03739430 24 04
32
27 e lode739430
Studenti Matricola276545787643787643
CognomeRossiNeri
Bianchi
NomeMarioPieroLuca
787643787643
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 168
Vincoli di ennupla
Esprimono condizioni sui valori di
ciascunaennupla,indipendentemente dalle altre ennuple
Caso particolare:
� Vincoli di dominio: coinvolgono un solo attributo
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 169
Vincoli di ennupla: esempio
ImpiegatoRossiNeriBruni
Stipendi Lordo55.00045.00047.000
Netto42.50035.00036.000
Ritenute12.50010.00011.000
Lordo = (Ritenute + Netto)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 170
Identificazione delle ennuple
� non ci sono due ennuple con lo stesso valoresull’attributo
Matricola
� non ci sono due ennuple uguali su tutti e tre gli
attributiCognome, Nome e Data di Nascita
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Inf
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 171
Chiave
Insieme di attributi che identificano le ennuple di
unarelazione
Formalmente:
Un insieme K di attributi è superchiave per r se r non contiene
due ennuple distinte t1 e t2 con t1[K] = t2[K]
K è chiave per r se è una superchiave minimale per r (cioè non
contiene un’altra superchiave)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 172
Una chiave
Matricola è una chiave:
� è superchiave� contiene un solo attributo e quindi è
minimale
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Inf
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 173
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Inf
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Cognome, Nome, Nascita è un’altra chiave:
� è superchiave
� minimale
Un'altra chiave
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 174
Non ci sono ennuple uguali su Cognome e Corso:� Cognome e Corso
formano una chiave
Ma è sempre vero?
Matricola276557876365432
NomeMario
PieroMario87654
67653
Mario
CognomeRossi
NeriNeri
Rossi
Rossi Piero
CorsoIng Inf
Ing MeccIng Inf
Ing Inf
Ing Mecc
Nascita5/12/78
10/7/793/11/76
3/11/76
5/12/78
Un'altra chiave
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 175
Vincoli, schemi e istanze
i vincoli corrispondono a proprietà del mondo reale modellato
dalla base di dati
interessano a livello di schema (con riferimento cioè a tuttele
istanze)
ad uno schema associamo un insieme di vincoli e consideriamo
corrette (valide, ammissibili) le istanze chesoddisfano tutti i
vincoli
un'istanza può soddisfare altri vincoli (“per caso”)
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 176
Esistenza delle chiavi
Una relazione non può contenere ennuple distinte mauguali
Ogni relazione ha come superchiave l’insieme degliattributi su
cui è definita � ha (almeno) una chiave
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 177
Importanza delle chiavi
L’esistenza delle chiavi garantisce l’accessibilità a ciascun
dato della base di dati
Le chiavi permettono di correlare i dati in
relazionidiverse:
� il modello relazionale è basato su valori
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 178
Chiavi e valori nulli
In presenza di valori nulli, i valori della chiave non
permettono
� di identificare le ennuple
� di realizzare facilmente i riferimenti da altre relazioni
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 179
Matricola
7876365432
Nome
PieroMario87654
NULL
Mario
Cognome
NeriNeri
Rossi
Neri Mario
Corso
Ing MeccIng Inf
Ing Civile
NULL
NascitaNULL MarioNULL Ing Inf 5/12/78
10/7/79NULL
3/11/76
5/12/78Mario87654
NULLNeriNeri Mario
Ing InfNULL
NULL5/12/78
NULL MarioNULL Ing Inf 5/12/78
La presenza di valori nulli nelle chiavi deve essere
limitata
Chiavi e valori nulli
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 180
Chiave primaria
Chiave su cui non sono ammessi nulli
Notazione: sottolineatura
Matricola
7876365432
Nome
PieroMario87654
43289
Mario
Cognome
NeriNeri
Rossi
Neri Mario
Corso
Ing MeccIng Inf
Ing Civile
NULL
Nascita
86765 MarioNULL Ing Inf 5/12/78
10/7/79NULL
3/11/76
5/12/78
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 181
� Informazioni in relazioni diverse sono correlateattraverso
valori comuni
� In particolare, valori delle chiavi (primarie)� Le
correlazioni debbono essere "coerenti"
Integrità referenziale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 182
Matricola398732959345
Vigili
CognomeRossiNeriNeri
NomeLucaPieroMario
Mori Gino7543
Infrazioni
Codice34321
733216452153524
Data1/2/954/3/955/4/965/2/98
Vigile3987329532959345
Prov NumeroMITOPRPR
39548KE39548839548839548
Integrità referenziale: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 183
AutoProv Numero
MITOPR
39548KE39548839548
CognomeRossiRossiNeri
NomeMarioMarioLuca
InfrazioniCodice34321
733216452153524
Data1/2/954/3/955/4/965/2/98
Vigile3987329532959345
Prov NumeroMITOPRPR
39548KE39548839548839548
Integrità referenziale: Esempio
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 184
Un vincolo di integrità referenziale (“foreign key”) fra
gliattributi X di una relazione R1 e un’altra relazione R2impone ai
valori su X in R1 di comparire come valori dellachiave primaria di
R2
Vincolo di integrità referenziale
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 185
vincoli di integrità referenziale fra:
� l’attributo Vigile della relazione INFRAZIONI e la relazione
VIGILI
� gli attributi Prov e Numero di INFRAZIONI e la relazione
AUTO
Vincolo di integrità referenziale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 186
Codice34321
733216452153524
Data1/2/954/3/955/4/965/2/98
Vigile3987329532959345
Prov NumeroMITOPRPR
39548KE39548839548839548
Vincolo di integrità referenziale: Esempio violazione
Infrazioni
AutoProv Numero
MITOPR
E39548F34268839548
CognomeRossiRossiNeri
NomeMarioMarioLuca
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 187
Vincoli di integrità referenziale: commenti
Giocano un ruolo fondamentale nel concetto di “modellobasato su
valori.”
� In presenza di valori nulli i vincoli possono essereresi meno
restrittivi
� Sono possibili meccanismi per il supporto alla lorogestione
("azioni" compensative a seguito di violazioni)
� Attenzione ai vincoli su più attributi
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 188
Integrità referenziale e valori nulli
Progetti CodiceIDEA
BOHXYZ
Inizio01/200007/200109/2001
Durata362424
Costo200120150
Impiegati Matricola34321
6452153524
CognomeRossiNeriVerdi
ProgettoIDEAXYZ
NULL73032 Bianchi IDEA
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 189
Azioni compensative
Esempio:
� Viene eliminata una ennupla causando cosi' unaviolazione
Azioni
� Rifiuto dell'operazione� Eliminazione in cascata� Introduzione
di valori nulli
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 190
Eliminazione in cascata
Progetti CodiceIDEA
BOHXYZ
Inizio01/200007/200109/2001
Durata362424
Costo200120150
Impiegati Matricola34321
6452153524
CognomeRossiNeriVerdi
ProgettoIDEAXYZ
NULL73032 Bianchi IDEA
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 191
Incidenti
Codice
34321
64521
Data
1/2/95
5/4/96
ProvB NumeroB
MI
TO
39548K
E39548
ProvA NumeroA
TO
PR
E39548
839548
Vincoli multipli su più attributi
Prov NumeroMITOPR
E39548F34268839548
CognomeRossiRossiNeri
NomeMarioMarioLuca
Auto
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 192
Vincoli di integrità referenziale fra:
� gli attributi ProvA e NumeroA di INCIDENTI e la relazione
AUTO
� gli attributi ProvB e NumeroB di INCIDENTI e la relazione
AUTO
L'ordine degli attributi è significativo
Vincoli multipli su più attributi
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 193
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 194
Un data warehouse è una base di dati
collezione di dati di grandi dimensioni, persistente e
condivisagestita in maniera efficace, efficiente ed affidabile
con delle caratteristiche “peculiari”� utilizzata principalmente
per il supporto alle decisioni
direzionali � integrata — aziendale e non dipartimentale� con
dati storici — con un ampio orizzonte temporale� con dati
tipicamente aggregati — per effettuare stime� fuori linea —
aggiornata periodicamente� mantenuta separatamente dalle basi di
dati operazionali
Cosa è un data warehouse?
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 195
Motivazioni
I sistemi informatici hanno aumentato la produttività delle
organizzazioni automatizzandone la gestione operativa quotidiana �
le vendite nelle catene di supermercati� l’instradamento e la
contabilizzazione delle telefonate
Questi dati — se opportunamente accumulati e analizzati —possono
essere utilizzati per la pianificazione e il supporto alle
decisioni� le promozioni dei prodotti� l’offerta di contratti
diversificati
Una corretta gestione dei dati storici può essere occasione di
un grande vantaggio competitivo
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 196
Processi aziendali, dati e decisioni
I processi informativi svolti da una organizzazione possono
essere classificati in tre grandi categorie � processi
operativi
� operano sui dati dipartimentali e dettagliati � le decisioni
sono strutturate , basate su regole
perfettamente definite� processi gestionali
� operano su dati settoriali e parzialmente aggregati � le
decisioni sono semistrutturate , basate su regole
note, ma in cui è spesso necessario un intervento umano
“creativo”
� processi direzionali� operano su dati integrati e fortemente
aggregati � le decisioni sono non strutturate , per cui non
esistono
criteri precisi, e la capacità personale è essenziale
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 197
Processi presso una banca
Processi operativi� gestione di un movimento su un conto
corrente bancario,
presso sportello tradizionale o automatico
Processi gestionali� concessione di un fido� revisione delle
condizioni su un conto corrente
Processi direzionali� verifica dell’andamento dei servizi di
carta di credito� lancio di una campagna promozionale� stipula di
accordi commerciali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 198
Processi presso una compagnia telefonica
Processi operativi� stipula di contratti ordinari �
instradamento delle telefonate� memorizzazione di dati contabili
sulle telefonate
� chiamante, chiamato, giorno, ora, durata, instradamento
Processi gestionali� stipula di contratti speciali �
installazione di infrastrutture
Processi direzionali� scelta dei parametri che fissano il costo
delle telefonate � definizione di contratti diversificati �
pianificazione del potenziamento delle infrastrutture
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 199
Informatizzazione dei processi informativi
L’informatizzabilità di un processo informativo è funzione del
suo grado di strutturazione delle decisioni
Un processo altamente strutturato può essere facilmente
informatizzato — un processo non strutturato può essere al
piùsupportato da iniziative di informatizzazione
Tipologie di sistemi informatici� transaction processing systems
— dipartimentali, per i
processi operativi� management information systems — settoriali,
anche per
processi gestionali� decision support systems — fortemente
integrati, di
supporto ai processi direzionali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 200
OLTP
I sistemi informatici sono utilizzati tradizionalmente per
l’On-Line Transaction Processing
Caratteristiche dell’elaborazione OLTP�le transazioni sono
predefinite e di breve durata �i dati di interesse sono
dettagliati, aggiornati e recenti�i dati risiedono su una unica
base di dati �leggono e/o modificano pochi record�le proprietà
acide delle transazioni sono critiche�implementati su mainframe
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 201
Sistemi di supporto alle decisioni
I sistemi di supporto alle decisioni (DSS) sono la tecnologia
che supporta la dirigenza aziendale nel prendere decisioni
tattico-strategiche in modo migliore e veloce
Operazioni supportate dalla tecnologia DSS � quali sono stati i
volumi di vendita dello scorso anno per
regione e categoria di prodotto?� in che modo i dividendi di
aziende di hardware sono
correlati ai profitti trimestrali negli ultimi 10 anni?� quali
ordini dovremmo soddisfare per massimizzare le
entrate?� uno sconto tra il 7% e il 10% potrebbe incrementare
le
vendite in modo sufficiente?
Ma su quali dati? quelli accumulati dall’elaborazione OLTP
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 202
OLAP
Un tipo di elaborazione per i sistemi di supporto alle decisioni
—l’On-Line Analytical Processing
Caratteristiche dell’elaborazione OLAP� le interrogazioni sono
complesse e casuali � i dati di interesse sono tipicamente storici
e aggregati� i dati possono provenire da più basi di dati —
possibilmente
non omogenee � leggono un numero enorme di record — non scrivono
mai � le risposte alle interrogazioni sono attese in linea� la
visualizzazione dei dati è fondamentale — sono
implementati su PC
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 203
OLTP e OLAP
OLTPOLTPOLTPOLTP OLAPOLAPOLAPOLAP
UtenteUtenteUtenteUtente impiegato dirigente
FunzioneFunzioneFunzioneFunzione operazioni giornaliere supporto
alle decisioni
ProgettazioneProgettazioneProgettazioneProgettazione orientata
all'applicazione orientata ai dati
DatiDatiDatiDati correnti, aggiornati,
dettagliati, relazionali,
isolati
storici, aggregati,
multidimensionali,
integrati, consolidati
UsoUsoUsoUso ripetitivo casuale
AccessoAccessoAccessoAccesso read-write, indicizzato read,
sequenziale
Unità di lavoroUnità di lavoroUnità di lavoroUnità di lavoro
transazione breve interrogazione complessa
Record acc.Record acc.Record acc.Record acc. decine milioni
N. utentiN. utentiN. utentiN. utenti migliaia centinaia
DimensioneDimensioneDimensioneDimensione 100MB - 1GB 100GB -
1TB
MetricaMetricaMetricaMetrica throughput tempo di risposta
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 204
Evoluzione dei DSS
Anni ‘60 — rapporti batch� difficile trovare e analizzare dati�
costo, ogni richiesta richiede un nuovo programma
Anni ‘70 — DSS basato su terminale� non integrato con strumenti
di automazione d’ufficio
Anni ‘80 — strumenti d’automazione d’ufficio e di analisi�
strumenti di interrogazione, fogli elettronici, interfacce
grafiche� accesso ai dati operazionali
Anni ‘90 — data warehousing, con strumenti integrati di OLAP
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 205
Sommario
� Basi di dati� Sistemi informativi e sistemi informatici�
Metodologie e modelli per il progetto� Progettazione di una base di
dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione
concettuale� Un modello logico: Il modello relazionale
� DataWarehouse� Processi aziendali e sistemi informativi � OLTP
e OLAP� Data warehouse e data warehousing� Architetture per il
warehousing� Analisi multidimensionale
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 206
Data warehouse
Un data warehouse è una base di dati
� utilizzata principalmente per il supporto alle decisioni
direzionali
� integrata — aziendale e non dipartimentale� con dati storici —
con un ampio orizzonte temporale, e
indicazione di almeno un elemento di tempo� con dati tipicamente
aggregati — per effettuare stime� fuori linea — i dati sono
aggiornati periodicamente� mantenuta separatamente dalle basi di
dati operazionali
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 207
... integrata ...
I dati di interesse provengono da tutte le sorgenti informative
—ciascun dato proviene da una o più di esse
Il data warehouse rappresenta i dati in modo univoco
—riconciliando le eterogeneità dalle diverse rappresentazioni�
nomi� struttura� codifica � rappresentazione multipla
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 208
... dati storici ...
Le basi di dati operazionali mantengono il valore corrente
delleinformazioni
L’orizzonte temporale di interesse è dell’ordine dei pochi
mesi
Nel data warehouse è di interesse l’evoluzione storica delle
informazioni
L’orizzonte temporale di interesse è dell’ordine degli anni
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 209
... dati aggregati ...
Nelle attività di analisi dei dati per il supporto alle
decisioni �non interessa “chi” ma “quanti”�non interessa un dato
ma
� la somma,� la media,� il minimo e il massimo, ...
di un insieme di dati.
Le operazioni di aggregazione sono quindi fondamentali nel
warehousing e nella costruzione/mantenimento di un data
warehouse.
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 210
... fuori linea ...
In una base di dati operazionale, i dati vengono� acceduti�
inseriti� modificati � cancellati
pochi record alla volta
Nel data warehouse, abbiamo � operazioni di accesso e
interrogazione — “diurne”� operazioni di caricamento e
aggiornamento dei dati —
“notturne”
che riguardano milioni di record
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 211
... una base di dati separata ...
Un data warehouse viene mantenuto separatamente dalle basi di
dati operazionali perché� non esiste un’unica base di dati
operazionale che contiene
tutti i dati di interesse � la base di dati deve essere
integrata� non è tecnicamente possibile fare l’integrazione in
linea � i dati di interesse sarebbero comunque diversi
�devono essere mantenuti dati storici�devono essere mantenuti
dati aggregati
� l’analisi dei dati richiede per i dati organizzazioni speciali
e metodi di accesso specifici
� degrado generale delle prestazioni senza la separazione
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 212
Architettura per il data warehousing
Estrazione
TrasformazioneCaricamento
Refresh
Monitoraggio & Amministrazione
Serve
Data Data Data Data MartMartMartMart
Sorgenti dei datiSorgenti dei datiSorgenti dei datiSorgenti dei
dati
Strumenti di analisiStrumenti di analisiStrumenti di
analisiStrumenti di analisi
Serve
DataWarehouse Analisi
dimensionale
Basi di dati
operazionali
Data Mining
Interrogazione/Presentazione
MetadatiSorgenti
esterne
-
Basi di dati Università degli Studi Roma Tre - Gianluca Di
Tomassi 213
Livelli di rappresentazione dei dati
Nelle sorgenti informative — le basi di dati preesistenti�
dipartimentali — orientate alle applicazioni � es: vendita,
produzione, marketing, ...
Nel data warehouse — la base di dati integrata � aziendale —
soggetti comuni a tutta l’organizzazione � es: prodotti, clienti,
fornitori, ...
Nei data mart — sottoinsiemi del data warehouse� dipartimentali
o settoriali — soggetti selezion