Slide corso Basi Di Dati - Di Tomassi · Basi di dati Ing. Gianluca Di Tomassi Sito Web: Basi di...
Transcript of Slide corso Basi Di Dati - Di Tomassi · Basi di dati Ing. Gianluca Di Tomassi Sito Web: Basi di...
-
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