Slide corso Basi Di Dati - ditomassi.it · Basi di dati Universitàdegli Studi Roma Tre -Gianluca...

57
Basi di dati Ing. Gianluca Di Tomassi Sito 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 scopi dell’organizzazione ) ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura; quasi sempre, il sistema informativo è di supporto ad altri sottosistemi, 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 fortemente integrati Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 4 Sistema organizzativo insieme di risorse e regole per lo svolgimento coordinato delle 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)

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