Slide corso Basi Di Dati - ditomassi.it · Basi di dati Universitàdegli Studi Roma Tre -Gianluca...
Transcript of Slide corso Basi Di Dati - ditomassi.it · Basi di dati Universitàdegli Studi Roma Tre -Gianluca...
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 scopidellorganizzazione )
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 dessere 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 dellorganizzazionedelle 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 unaltra) 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
EsempioMario 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, perchpi 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.
Lefficienza 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 lindipendenza 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 dellintera 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: laccesso 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 allefficacia: 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 lausilio 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 linterrogazione e laggiornamento 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, dellaffidabilit, 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 lufficio 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 unaltra accezione, pispecifica: 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 nelluso 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 datiprogettazione 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 lindipendenza 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
listanza , 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 lorganizzazione 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 luna dallaltra
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 nellapplicazione 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 unentit o di una relationship, di interesse ai fini dellapplicazione
Associa ad ogni occorrenza di entit o relationship un valore appartenente a un insieme detto dominio dellattributo
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
CittIndirizzo
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
TitolaritProfessore Cattedra
(0,1) (0,1)
TitolaritProfessore di ruolo
Cattedra
(1,1) (0,1)
TitolaritProfessore 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 lidentificazione univoca delle occorrenze di unentit
Costituito da: attributi dellentit
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 unautomobile 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 lUniversit identificata univocamente dal nome. Lo studente dal nome dellUniversit 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 lentit 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)
CittIndirizzo
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) dellentit 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 unentit 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 lorario di lavoro, direttori o progettisti (nellultimo caso possono essere anche responsabili di progetto); gli studenti (che non possono essere impiegati) hanno il numero di matricola; esistono persone che non sono nimpiegati 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)
CittIndirizzo
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 piampia 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 perchpi 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 valorianche 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 favorirelindipendenza dei dati
Disponibile in DBMS reali nel 1981 (non facileimplementare lindipendenza 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
lordinamento tra le righe irrilevante lordinamento 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 dellapplicazione
lutente 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 lassenza 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 lapplicazione 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 lapplicazione
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 valoresullattributo 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 unaltra 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 unaltra 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 linsieme degliattributi su cui definita ha (almeno) una chiave
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 177
Importanza delle chiavi
Lesistenza delle chiavi garantisce laccessibilit 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 unaltra 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:
lattributo 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 linstradamento 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 lofferta 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 dellandamento 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
Linformatizzabilit 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 pisupportato 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 lOn-Line Transaction Processing
Caratteristiche dellelaborazione OLTPle transazioni sono predefinite e di breve durata i dati di interesse sono dettagliati, aggiornati e recentii dati risiedono su una unica base di dati leggono e/o modificano pochi recordle propriet acide delle transazioni sono criticheimplementati 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 dallelaborazione 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 lOn-Line Analytical Processing
Caratteristiche dellelaborazione 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 dufficio
Anni 80 strumenti dautomazione dufficio 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
Lorizzonte temporale di interesse dellordine dei pochi mesi
Nel data warehouse di interesse levoluzione storica delle informazioni
Lorizzonte temporale di interesse dellordine 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 quantinon 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 ununica base di dati operazionale che contiene
tutti i dati di interesse la base di dati deve essere integrata non tecnicamente possibile fare lintegrazione in linea i dati di interesse sarebbero comunque diversi
devono essere mantenuti dati storicidevono essere mantenuti dati aggregati
lanalisi 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 lorganizzazione es: prodotti, clienti, fornitori, ...
Nei data mart sottoinsiemi del data warehouse dipartimentali o settoriali soggetti selezionati es: dati relativi al marketing
Negli strumenti di analisi estratti dal DW o da un data mart individuali focalizzata su un problema in esame es: promozioni e vendite negli ultimi cinque anni
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 214
Popolazione del data warehouse
Attivit necessarie a popolare un data warehouse estrazione accesso ai dati nelle sorgenti informative
operazionali trasformazione pulizia dei dati, trasformazione di
formato, correlazione con oggetti in sorgenti diverse caricamento con introduzione di informazioni temporali
e generazione dei dati aggregati refresh le stesse fasi, ma eseguite in modalit
incrementale
I metadati sono informazioni mantenute a supporto di queste attivit
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 215
Implementazione di un data warehouse con uno starschema
VenditeVenditeVenditeVendite
Codice orarioCodice luogoCodice prodottoCodice clienteUnitIncasso
TempoTempoTempoTempo
Codice orarioOraGiornoSettimanaMeseTrimestreAnno
LuogoLuogoLuogoLuogo
Codice luogoNegozioIndirizzoCodice CittCittCodice RegioneRegioneCodice StatoStato
ProdottoProdottoProdottoProdotto
Codice prodottoDescrizioneColoreModelloCodice categoriaCategoria
ClienteClienteClienteCliente
Codice clienteNomeCognomeIndirizzoEtCodice professioneProfessione
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 216
Dallo star schema allo snowflake schema
CategoriaCategoriaCategoriaCategoria
Codice categoriaCategoria
Codice Stato
Stato
StatoStatoStatoStato
CodiceRegione
Regione
RegioneRegioneRegioneRegione
VenditeVenditeVenditeVendite
Codice orarioCodice luogoCodice prodottoCodice clienteUnitIncasso
TempoTempoTempoTempo
Codice orarioOraGiornoSettimanaMeseTrimestreAnno
LuogoLuogoLuogoLuogo
Codice luogoNegozioIndirizzoCodice CittCittCodiceRegione
Codice Stato
ProdottoProdottoProdottoProdotto
Codice prodottoDescrizioneColoreModelloCodice categoria
ClienteClienteClienteCliente
Codice clienteNomeCognomeIndirizzoEtCodice professioneProfessione
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 217
Differenze rispetto a una base di dati operazionale
Le tabelle in una base di dati sono normalizzate mentre in un warehouse sono tipicamente denormalizzate per facilitare e rendere pi efficente laccesso
Le tabelle in una base di dati sono numerose e omogenee mentre in un warehouse le tabelle sono poche e si possono classificare in: fact tables , che corrispondono ai dati da analizzare (centro
stella), dimension tables , che servono a descrivere i dati secondo
diverse prospettive
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 218
Rappresentazione multidimensionale dei dati
Lanalisi dei dati orientata al supporto alle decisioni non viene eseguita direttamente sul data warehouse ma su dati estratti dal DW o da un data mart e rappresentati in forma multidimensionale
Lanalisi pu essere basata sui seguenti concetti fatto un concetto sul quale centrare lanalisi misura una propriet atomica di un fatto da analizzare dimensione descrive una prospettiva lungo la quale
effettuare lanalisi
Esempi di fatti/misure/dimensioni vendita / quantit venduta, incasso / prodotto, tempo telefonata / costo, durata / chiamante, chiamato, tempo
Basi di dati Universit degli Studi Roma Tre - Gianluca Di Tomassi 219
Rappresentazione multidimensionale dei dati
Gli analisti sono abituati a ragionare in termini di dimensioni e misure non di schemi, tabelle e record
Prodotti
Periodi di tempo
Mercati
VenditaVenditaVenditaVendita
Basi di dati