Slide corso Basi Di Dati - Di Tomassi · Basi di dati Ing. Gianluca Di Tomassi Sito Web: Basi di...

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

  • Basi di dati

    Ing. Gianluca Di TomassiSito Web: www.ditomassi.it

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 2

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 3

    Sistema informativo

    Componente (sottosistema) di una organizzazione che gestisce(acquisisce, elabora, conserva, produce) le informazioni di interesse (cioè utilizzate per il perseguimento degli scopidell’organizzazione )

    � ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura;

    � quasi sempre, il sistema informativo è di supporto ad altrisottosistemi, e va quindi studiato nel contesto in cui èinserito

    � il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortementeintegrati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 4

    Sistema organizzativo

    insieme di risorse e regole per lo svolgimento coordinatodelle attività al fine del perseguimento degli scopi

    � il sistema informativo è parte del sistema organizzativo

    � il sistema informativo esegue/gestisce processi informativi(cioè i processi che coinvolgono informazioni)

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 5

    Risorse

    Le risorse di una azienda (o amministrazione):

    � materiali

    � denaro� persone

    � informazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 6

    Risorse: Informazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 7

    Risorse: Informazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 8

    Sistemi informativi e automazione

    Il concetto di “sistema informativo” è indipendente da qualsiasi automatizzazione:

    � esistono organizzazioni la cui ragion d’essere è la gestione di informazioni (p. es. servizi anagrafici e banche) e che operano da secoli.

    Anche prima di essere automatizzati, molti sistemi informativisi sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dell’organizzazionedelle informazioni

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 9

    Sistema Informatico

    Porzione automatizzata del sistema informativo:� la parte del sistema informativo che gestisce

    informazioni con tecnologia informatica

    Sistema aziendaSistema organizzativo

    Sistema informativo

    Sistema informatico

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 10

    Gestione delle informazioni

    Nelle attività umane, le informazioni vengono gestite(registrate e scambiate) in forme diverse:

    � idee informali� linguaggio naturale (scritto o parlato, formale o

    colloquiale, in una lingua o in un’altra) � disegni, grafici, schemi� numeri e codici

    e su vari supporti� memoria umana, carta, dispositivi elettronici

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 11

    Gestione delle informazioni

    Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni

    Ad esempio, nei servizi anagrafici si è iniziato con registrazionidiscorsive e poi

    � nome e cognome� estremi anagrafici� codice fiscale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 12

    Informazioni e dati

    Nei sistemi informatici (e non solo), le informazioni vengonorappresentate in modo essenziale, spartano: attraverso i dati

    Dal Vocabolario della lingua italiana (1987)

    � informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

    � dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbonoessere elaborati.

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 13

    Dati e informazioni

    I dati hanno bisogno di essere interpretati

    Esempio‘Mario’ ’275’ su un foglio di carta sono due dati . Se il foglio di carta viene fornito in risposta alla domanda “A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?”, allora i dati possono essere interpretati per fornireinformazione e arricchire la conoscenza .

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 14

    Perché i dati?

    La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile

    I dati costituiscono spesso una risorsa strategica, perchépiù stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 15

    Base di dati

    �(accezione generica, metodologica ) Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona)

    �(accezione specifica, metodologica e tecnologica ) insieme di dati gestito da un DBMS

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 16

    Sistema di gestione di basi di datiDataBase Management System — DBMS

    Sistema (prodotto software) in grado di gestire collezioni didati che siano (anche):

    � grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati)

    � persistenti (con un periodo di vita indipendente dallesingole esecuzioni dei programmi che le utilizzano)

    � condivise ( utilizzate da applicazioni diverse)

    garantendo affidabilità (resistenza a malfunzionamentihardware e software) e privatezza (con una disciplina e uncontrollo degli accessi). Come ogni prodotto informatico, un DBMS deve essereefficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività deisuoi utilizzatori).

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 17

    Alcuni DBMS in commercio

    �Access

    �DB2

    �Oracle

    � Informix

    �Sybase

    �SQLServer

    � Ingres

    � .........

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 18

    Condivisione

    Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività

    A ciascun settore o attività corrisponde un (sotto)sistemainformativo

    Possono esistere sovrapposizioni fra i dati di interesse deivari settori

    Una base di dati è una risorsa integrata , condivisa fra i varisettori

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 19

    Condivisione: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 20

    Condivisione: Esempio

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 21

    Possibili problemi

    Possibilità di avere:

    Ridondanza: � informazioni ripetute

    Di conseguenza:

    Rischio di incoerenza: � le versioni possono non coincidere

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 22

    Archivi e basi di dati

    Gestione ricevimento

    Archivio 2:ricevimento

    Gestione orario lezioni

    Archivio 1:orario lezioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 23

    Archivi e basi di dati

    Gestione ricevimento

    Gestione orario lezioni

    Base di dati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 24

    Le basi di dati sono condivise

    Una base di dati è una risorsa integrata , condivisa fra le varie applicazioni

    Conseguenze

    � Attività diverse su dati in parte condivisi: � meccanismi di autorizzazione

    � Attività multi-utente su dati condivisi:� controllo della concorrenza

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 25

    Efficienza

    Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria).

    I DBMS, a causa della varietà di funzioni, non sononecessariamente più efficienti dei file system.

    L’efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 26

    DBMS vs file system

    La gestione di insiemi di dati grandi e persistenti è possibileanche attraverso sistemi più semplici (gli ordinari filesystem dei sistemi operativi)

    I file system prevedono forme rudimentali di condivisione: "tutto o niente". Nei DBMS, c’è maggiore flessibilità

    I DBMS estendono le funzionalità dei file system, fornendopiù servizi ed in maniera integrata (cfr. efficacia)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 27

    DBMS vs file system (2)

    Nei programmi tradizionali che accedono a file, ogniprogramma contiene una descrizione della struttura del filestesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi.

    Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizionecentralizzata dei dati, che può essere utilizzata dai variprogrammi.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 28

    Descrizioni dei dati nei DBMS

    Descrizioni e rappresentazioni dei dati a livelli diversi

    � Permettono l’indipendenza dei dati dallarappresentazione fisica: � i programmi fanno riferimento alla struttura a livello

    più alto, e le rappresentazioni sottostanti possonoessere modificate senza necessità di modifica deiprogrammi

    � Precisiamo attraverso il concetto di � modello dei dati

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 29

    Modello dei dati

    Insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica

    Componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)

    Come nei linguaggi di programmazione esistono meccanismiche permettono di definire nuovi tipi, così ogni modello deidati prevede alcuni costruttori

    Ad esempio, il modello relazionale prevede il costruttorerelazione, che permette di definire insiemi di recordomogenei

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 30

    Organizzazione dei dati in una base di dati

    Orario

    8:00N3Pero RossiSistemi Inform.

    9:45N3Mario BruniFisica II

    11:45N1Mario BruniFisica I

    9:45N1Nicola MoriChimica

    9:45N2Piero RossiBasi di dati

    8:00N1Luigi NeriAnalisi matem. I

    OraAulaDocenteInsegnamento

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 31

    BD

    Schema logico

    Schema interno (o fisico)

    utente

    Architettura (semplificata) di un DBMS

    � Schema logico :Descrizione della base di dati nel modello logico (ad esempio, la struttura dellatabella)

    � Schema fisico :Rappresentazione delloschema logico per mezzo di strutture memorizzazione(file)

    Il livello logico è indipendente da quello fisico:

    Una tabella è utilizzata nello stesso modo qualunque siala sua realizzazione fisica (che può anche cambiare neltempo)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 32

    Architettura standard (ANSI/SPARC)a tre livelli per DBMS

    BD

    Schema logico

    Schemaesterno

    Schema interno (o fisico)

    Schemaesterno

    Schemaesterno

    utente utente utente utente utente

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 33

    Architettura ANSI/SPARC: schemi

    � schema logico: descrizione dell’intera base di dati nelmodello logico “principale” del DBMS

    � schema fisico: rappresentazione dello schema logicoper mezzo di strutture fisiche di memorizzazione

    � schema esterno: descrizione di parte della base di datiin un modello logico (“viste” parziali, derivate, anche in modelli diversi)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 34

    Una vista

    Corso AulaDocenteRossiBasi di dati DS3

    BruniReti N3NeriSistemi N3

    BruniControlli G

    Corsi

    Nome PianoEdificio

    OMIDS1 Terra

    PincherleG Primo

    OMIN3 Terra

    Aule

    CorsiSedi

    Corso Aula PianoEdificio

    Reti N3

    Sistemi N3

    Controlli G

    OMI Terra

    Pincherle Primo

    OMI Terra

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 35

    Indipendenza dei dati

    Conseguenza della articolazione in livelli: l’accesso avviene solo tramite il livello esterno (che può coincidere con il livello logico)

    � Indipendenza fisicail livello logico e quello esterno sono indipendenti da quello fisico� una relazione è utilizzata nello stesso modo qualunque sia la

    sua realizzazione fisica� la realizzazione fisica può cambiare senza che debbano

    essere modificati i programmi

    � Indipendenza logicail livello esterno è indipendente da quello logico� aggiunte o modifiche alle viste non richiedono modifiche al

    livello logico� modifiche allo schema logico che lascino inalterato lo schema

    esterno sono trasparenti

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 36

    Linguaggi per basi di dati

    Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce diverse:

    � linguaggi testuali interattivi (SQL)

    � comandi (come quelli del linguaggio interattivo) immersiin un linguaggio ospite (Pascal, C, Cobol, etc.)

    � comandi (come quelli del linguaggio interattivo) immersiin un linguaggio ad hoc, con anche altre funzionalità(p.es. per grafici o stampe strutturate), anche con l’ausilio di strumenti di sviluppo (p. es. per la gestione di maschere)

    � con interfacce amichevoli (senza linguaggio testuale)

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 37

    SQL un linguaggio interattivo

    SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND Piano="Terra"

    Corso Aula

    Reti N3

    Sistemi N3

    Piano

    Terra

    Terra

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 38

    SQL immerso in linguaggio ad alto livello

    write('nome della citta''?'); readln(citta); EXEC SQL DECLARE P CURSOR FOR

    SELECT NOME, REDDITOFROM PERSONEWHERE CITTA = :citta ;

    EXEC SQL OPEN P ; EXEC SQL FETCH P INTO :nome, :reddito ; while SQLCODE = 0 do begin

    write('nome della persona:', nome, 'aumento?');readln(aumento);EXEC SQL UPDATE PERSONE SET REDDITO = REDDITO + :aumento

    WHERE CURRENT OF PEXEC SQL FETCH P INTO :nome, :reddito

    end;

    EXEC SQL CLOSE CURSOR P

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 39

    SQL immerso in linguaggio ad hoc (Oracle PL/SQL)

    declare Stip number;begin

    select Stipendio into Stip

    from Impiegatowhere Matricola = '575488'

    for update of Stipendio;if Stip > 30 then

    update Impiegato set Stipendio = Stipendio * 1.1 where Matricola = '575488';

    elseupdate Impiegato set Stipendio = Stipendio * 1.15 where Matricola = '575488';

    end if;commit;

    exceptionwhen no_data_found then

    insert into Errori

    values('Non esiste la matricola specificata',sysdate);end;

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 40

    Interazione non testuale (in Access)

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 41

    Una distinzione terminologica(separazione fra dati e programmi)

    � Data Manipulation Language (DML)

    per l’interrogazione e l’aggiornamento di (istanze di) basi di dati

    � Data Definition Language (DDL)

    per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 42

    Un'operazione DDL (sullo schema)

    CREATE TABLE orario (insegnamento CHAR(20) ,docente CHAR(20) ,aula CHAR(4) ,ora CHAR(5) );

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 43

    Personaggi e interpreti

    �progettisti e realizzatori di DBMS

    �progettisti della base di dati e amministratori dellabase di dati (DBA)

    �progettisti e programmatori di applicazioni

    �utenti� utenti finali (terminalisti): eseguono applicazioni

    predefinite (transazioni) � utenti casuali : eseguono operazioni non previste a

    priori, usando linguaggi interattivi

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 44

    Database administrator (DBA)

    Persona o gruppo di persone responsabile del controllocentralizzato e della gestione del sistema, delle prestazioni, dell’affidabilità, delle autorizzazioni

    Le funzioni del DBA includono quelle di progettazione, anche se in progetti complessi ci possono esseredistinzioni

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 45

    Transazioni

    Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori.Esempi: � versamento presso uno presso sportello bancario� emissione di certificato anagrafico� dichiarazione presso l’ufficio di stato civile� prenotazione aerea

    Le transazioni sono di solito realizzate con programmi in linguaggio ospite (tradizionale o ad hoc). N.B.: il termine transazione ha un’altra accezione, piùspecifica: sequenza indivisibile di operazioni (o vengonoeseguite tutte o nessuna).

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 46

    Vantaggi e svantaggi dei DBMS

    Pro� dati come risorsa comune, base di dati come modello

    della realtà� gestione centralizzata con possibilità di

    standardizzazione ed “economia di scala”� disponibilità di servizi integrati� riduzione di ridondanze e inconsistenze� indipendenza dei dati (favorisce lo sviluppo e la

    manutenzione delle applicazioni)Contro� costo dei prodotti e della transizione verso di essi� non scorporabilità delle funzionalità (con riduzione di

    efficienza)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 47

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 48

    Progettazione di basi di dati

    È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in un contesto più generale:

    Il ciclo di vita dei sistemi informativi:

    � Insieme e sequenzializzazione delle attività svolte da analisti, progettisti, utenti, nello sviluppo e nell’uso dei sistemi informativi

    � attività iterativa, quindi ciclo

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 49

    Studio di fattibilità

    Raccolta e analisidei requisiti

    Progettazione

    Realizzazione

    Validazione ecollaudo

    Funzionamento

    Ciclo di vita sistemi informativi

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 50

    Fasi (tecniche) del ciclo di vita

    �Studio di fattibilità: definizione costi e priorità

    �Raccolta e analisi dei requisiti: studio delle proprietà del sistema

    �Progettazione: di dati e funzioni

    �Realizzazione

    �Validazione e collaudo: sperimentazione

    �Funzionamento: il sistema diventa operativo

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 51

    i dati hanno un ruolo centrale in quanto più stabili

    La progettazione di un sistema informativo riguarda due aspetti:

    �progettazione dei dati�progettazione delle applicazioni

    Ma:

    Progettazione: Note

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 52

    Studio di fattibilità

    Raccolta e analisidei requisiti

    Progettazione

    Realizzazione

    Validazione ecollaudo

    Funzionamento

    Ciclo di vita sistemi informativi

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 53

    Per garantire prodotti di buona qualità è opportuno seguire una metodologia di progetto, con:

    �articolazione delle attività in fasi

    �criteri di scelta

    �modelli di rappresentazione

    �generalità e facilità d'uso

    Metodologia di progetto

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 54

    Studio di fattibilità

    Raccolta e analisidei requisiti

    Progettazione

    Realizzazione

    Validazione ecollaudo

    Funzionamento

    Ciclo di vita sistemi informativi

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 55

    Schema concettuale

    Requisiti della base di dati

    Progettazioneconcettuale

    Schema logico

    Schema fisico

    “CHE COSA”:analisi

    “COME”:progettazione

    Progettazionelogica

    Progettazionefisica

    Metodologia di progetto per le basi di dati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 56

    � Schema concettuale

    � Schema logico

    � Schema fisico

    I prodotti della varie fasi sono schemi di alcuni modelli di dati:

    Metodologia di progetto per le basi di dati

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 57

    Descrizioni dei dati nei DBMS

    Descrizioni e rappresentazioni dei dati a livelli diversi

    � Permettono l’indipendenza dei dati dallarappresentazione fisica: � i programmi fanno riferimento alla struttura a livello

    più alto, e le rappresentazioni sottostanti possonoessere modificate senza necessità di modifica deiprogrammi

    � Precisiamo attraverso il concetto di � modello dei dati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 58

    Modello dei dati

    Insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica

    Componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)

    Come nei linguaggi di programmazione esistono meccanismiche permettono di definire nuovi tipi, così ogni modello deidati prevede alcuni costruttori

    Ad esempio, il modello relazionale prevede il costruttorerelazione, che permette di definire insiemi di recordomogenei

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 59

    Modello dei dati:Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 60

    Organizzazione dei dati in una base di dati

    Orario

    8:00N3Pero RossiSistemi Inform.

    9:45N3Mario BruniFisica II

    11:45N1Mario BruniFisica I

    9:45N1Nicola MoriChimica

    9:45N2Piero RossiBasi di dati

    8:00N1Luigi NeriAnalisi matem. I

    OraAulaDocenteInsegnamento

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 61

    Definizioni: Schema e istanza

    In ogni base di dati esistono:

    � lo schema , sostanzialmente invariante nel tempo, chene descrive la struttura (aspetto intensionale)

    � le intestazioni delle tabelle

    � l’istanza , i valori attuali, che possono cambiare anchemolto rapidamente (aspetto estensionale)

    � il “corpo” di ciascuna tabella

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 62

    L'istanza della base di dati

    Lo schema della base di datiOrario

    8:00N3Pero RossiSistemi Inform.

    9:45N3Mario BruniFisica II

    11:45N1Mario BruniFisica I

    9:45N1Nicola MoriChimica

    9:45N2Piero RossiBasi di dati

    8:00N1Luigi NeriAnalisi matem. I

    OraAulaDocenteInsegnamento

    Definizioni: Schema e istanza

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 63

    Due tipi (principali) di modelli

    � Modelli logici : utilizzati nei DBMS esistenti per l’organizzazione dei dati

    � utilizzati dai programmi� indipendenti dalle strutture fisiche

    esempi: relazionale , reticolare, gerarchico, a oggetti

    � Modelli concettuali : permettono di rappresentare i dati in modo indipendente da ogni sistema

    � cercano di descrivere i concetti del mondo reale� sono utilizzati nelle fasi preliminari di progettazione

    il più noto è il modello Entity-RelationshipBasi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 64

    Modelli concettuali, perché ?

    Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati:

    � da dove cominciamo?� rischiamo di perderci subito nei dettagli� dobbiamo pensare subito a come correlare le varie

    tabelle (chiavi etc.)� i modelli logici sono rigidi

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 65

    Modelli concettuali, perché?

    � servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi

    � permettono di rappresentare le classi di dati di interesse e le loro correlazioni

    � prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 66

    Progettazioneconcettuale

    Progettazione logica

    Progettazionefisica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 67

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 68

    Il più diffuso modello concettuale ma attenzione ne esistono molte versioni, (più o meno) diverse l’una dall’altra

    Modello Entity-Relationship (Entità-Relazione)

    � Entità� Relationship� Attributo� Identificatore� Generalizzazione� ….

    I costrutti del modello E-R:

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 69

    Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza “autonoma”

    Esempi: impiegato, città, conto corrente, ordine, fattura

    Modello E-R: Entità

    �Entità: � classe di oggetti, persone, … "omogenei"

    �Occorrenza (o istanza) di entità:� elemento della classe (l'oggetto, la persona, …,

    non i dati)

    Distinguiamo tra:

    Nello schema concettuale rappresentiamo le entità, non le singole istanze (“astrazione”)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 70

    Impiegato Dipartimento

    Città Vendita

    Modello E-R: Entità rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 71

    Ogni entità ha un nome che la identifica univocamente nello schema:

    � nomi espressivi

    � opportune convenzioni (Es: singolare)

    Modello E-R: Entità commenti

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 72

    Legame logico fra due o più entità, rilevante nell’applicazione di interesse

    Esempi:� Residenza (fra persona e città)� Esame (fra studente e corso)

    Chiamata anche: � relazione, correlazione, associazione

    Modello E-R: Relationship

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 73

    Esame

    Residenza

    Modello E-R: Relationship rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 74

    Ogni relationship ha un nome che la identifica univocamente nello schema:

    � nomi espressivi

    � opportune convenzioni (Es: singolare, se possibile sostantivi invece dei verbi)

    Modello E-R: Relationship commenti

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 75

    EsameStudente Corso

    ResidenzaImpiegato Città

    Modello E-R: rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 76

    Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta

    Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità coinvolta

    Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute

    Modello E-R: Relationship occorrenze

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 77

    Due relationship sulle stesse entità

    ResidenzaImpiegato Città

    Sede dilavoro

    Modello E-R: Relationship binarie

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 78

    Fornitore Prodotto

    Dipartimento

    Fornitura

    Modello E-R: Relationship n-arie

    A fornisce stampanti al Dip PersonaleB fornisce fotocopiatrici al Dip PersonaleA fornisce calcolatori al Dip RicercaC fornisce calcolatori al Dip Personale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 79

    Coinvolge “due volte” la stessa entità

    Persona

    Conoscenza

    Modello E-R: Relationship ricorsiva

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 80

    Coinvolge “due volte” la stessa entità ma essendo simmetrica occorre specificare i ruoli al fine di poter fornie una semantica

    Sovrano

    Successione

    Modello E-R: Relationship ricorsiva con ruoli

    Successore Predecessore

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 81

    Confronto

    Tennista

    Superficie

    Migliore Peggiore

    Migliore Peggiore SuperficeSanchez Navratilova Terra

    Navratilova Sanchez ErbaGraf Sanchez Erba

    Modello E-R: Relationship ternaria ricorsiva con ruoli

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 82

    Proprietà elementare di un’entità o di una relationship, di interesse ai fini dell’applicazione

    Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell’attributo

    Modello E-R: Attributo

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 83

    EsameStudente Corso

    Cognome Nome

    Matricola

    DataTitolo

    Codice

    Voto

    Modello E-R: Attributo rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 84

    Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso

    Esempio:

    Via, Numero civico e CAP formano un Indirizzo

    Modello E-R: Attributo composto

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 85

    Impiegato

    Cognome

    Età

    Via

    Indirizzo Numero

    CAP

    Modello E-R: Attributo composto rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 86

    CittàIndirizzo

    Telefono

    Dipartimento

    Composizione

    Sede

    Direzione

    Afferenza

    Impiegato

    Progetto

    Partecipazione

    Nome

    Nome

    Cognome

    Budget

    Data

    Via

    CAP

    Codice

    Modello E-R: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 87

    Cardinalità� di relationship� di attributo

    Identificatore� interno� esterno

    Generalizzazione

    Modello E-R: Altri costrutti

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 88

    Coppia di valori associati a ogni entità che partecipa a una relationship

    Specificano il numero minimo e massimo di occorrenze delle relationship cui ciascuna occorrenza di una entità può partecipare

    Modello E-R: Cardinalità di Relationship

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 89

    Modello E-R: Cardinalità di Relationship esempio

    AssegnamentoImpiegato Incarico

    (1,5) (0,50)

    Un impiegato ha assegnati minimo 1 massimo 5 incarichi

    Un incarico ha assegnati minimo 0 massimo 50 impiegati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 90

    Per semplicità usiamo solo tre simboli:

    0 e 1 per la cardinalità minima:� 0 = “partecipazione opzionale”� 1 = “partecipazione obbligatoria”

    1 e “N” per la cardinalità massima:� “N” non pone alcun limite

    Modello E-R: Cardinalità di Relationship

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 91

    ResidenzaStudente Città

    (1,1) (0,N)

    Modello E-R: Cardinalità di Relationship esempo

    Uno studente risiede minimo in 1 massimo in 1 città

    Una città è residenza per minimo 0 massimo N studenti

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 92

    Con riferimento alle cardinalità massime, abbiamo relationship:

    � uno a uno� uno a molti (o 1 a N)� molti a molti (o N a N)

    Modello E-R: Tipi di Relationship

    � Attenzione al "verso" nelle relationship uno a molti

    � le relationship obbligatorie-obbligatorie sono molto rare

    Avvertenze:

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 93

    Modello E-R: Relationship “molti a molti”

    EsameStudente Corso

    (0,N) (0,N)

    ScalataMontagna Alpinista

    (0,N) (1,N)

    AbilitazioneMacchinista Locomotore

    (1,N) (1,N)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 94

    Modello E-R: Relationship “uno a molti”

    ImpiegoPersona Azienda

    (0,1) (0,N)

    UbicazioneCinema Località

    (1,1) (0,N)

    UbicazioneComune Provincia

    (1,1) (1,N)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 95

    Modello E-R: Relationship “uno a uno”

    TitolaritàProfessore Cattedra

    (0,1) (0,1)

    TitolaritàProfessore di ruolo

    Cattedra

    (1,1) (0,1)

    TitolaritàProfessore di ruolo

    Cattedra coperta

    (1,1) (1,1)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 96

    E’ possibile associare delle cardinalità anche agli attributi, con due scopi:

    � indicare opzionalità ("informazione incompleta")� indicare attributi multivalore

    Modello E-R: Cardinalità di attributi

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 97

    Impiegato

    Telefono

    Nome

    Numero patente

    (0,N)

    (0,1)

    Modello E-R: Cardinalità di attributi rappresentazione grafica

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 98

    “Strumento” per l’identificazione univoca delle occorrenze di un’entità

    Costituito da:� attributi dell’entità

    � identificatore interno

    � (attributi +) entità esterne attraverso relationship� identificatore esterno

    Modello E-R: Identificatore entità

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 99

    Persona

    Data Nascita

    Cognome

    Nome

    Automobile

    Targa

    Modello

    Indirizzo

    Modello E-R: Identificatore entità interno

    La targa di un’automobile sul territorio nazionale la identifica in modo univoco

    Supponendo che non esistono persone che hanno contemporaneamente lo stesso nome, cognome e data di nascita

    Marca

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 100

    IscrizioneStudente Università

    Cognome Matricola

    Anno di corso

    Nome

    Indirizzo

    (1,1) (0,N)

    Modello E-R: Identificatore entità esterno

    Sul territorio nazionale l’Università è identificata univocamente dal nome. Lo studente dal nome dell’Università e dalla matricola che gli è stata assegnata

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 101

    Ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno

    Una identificazione esterna è possibile solo attraverso una relationship a cui l’entità da identificare partecipa con cardinalità (1,1)

    Modello E-R: Identificatore osservazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 102

    (1,1)(0,1)

    (0,N)(0,1)

    (0,1)

    (1,1)

    (1,N)

    (0,N)

    (1,N)

    (1,N)

    CittàIndirizzo

    Telefono

    Dipartimento

    Composizione

    Sede

    Direzione

    Afferenza

    Impiegato

    Progetto

    Partecipazione

    Nome

    Nome

    Cognome

    Budget

    Data

    Via

    CAP

    Codice

    Modello E-R: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 103

    Mette in relazione una o più entità E1, E2, ..., En con una entità E, che le comprende come caso particolare

    � E è generalizzazione di E1, E2, ..., En� E1, E2, ..., En sono specializzazioni (o sottotipi) di E

    Modello E-R: Generalizzazione

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 104

    Dipendente

    Impiegato Funzionario Dirigente

    Modello E-R: Generalizzazione rappresentazione grafica

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 105

    Se E (genitore) è generalizzazione di E1, E2, ..., En (figlie):

    � ogni proprietà di E è significativa per E1, E2, ..., En

    � ogni occorrenza di E1, E2, ..., En è occorrenza anche di E

    Modello E-R: Generalizzazione proprietà

    � tutte le proprietà (attributi, relationship, altre generalizzazioni) dell’entità genitore vengono ereditate dalle entità figlie e non rappresentate esplicitamente

    Ereditarietà delle generalizzazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 106

    Persona

    Codice fiscale

    Nome

    Età

    Città

    Nascita

    (0,N)

    (1,1)

    Lavoratore Studente

    Stipendio

    Modello E-R: Generalizzazione esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 107

    � totale se ogni occorrenza dell'entità genitore è occorrenza di almeno una delle entità figlie, altrimenti è parziale

    � esclusiva se ogni occorrenza dell'entità genitore èoccorrenza di al più una delle entità figlie, altrimenti èsovrapposta

    Modello E-R: Tipi di generalizzazione

    consideriamo (senza perdita di generalità) solo generalizzazioni esclusive e distinguiamo fra totali e parziali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 108

    Disoccupato Lavoratore

    Persona

    Uomo Donna

    Persona

    Generalizzazione parziale esclusiva

    Generalizzazione totale esclusiva

    Modello E-R: Tipi di generalizzazione esempi

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 109

    � possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello

    � un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia

    � se una generalizzazione ha solo un’entità figlia si parla di sottoinsieme

    alcune configurazioni non hanno senso

    il genitore di una generalizzazione totale può non avere identificatore, purché …

    Modello E-R: Tipi di generalizzazione altre proprietà

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 110

    Le persone sono uomini e donne hanno CF,cognome ed età; per gli uomini è rilevante anche la posizione militare. Gli impiegati e gli studenti sono delle persone. Gli impiegati hanno lo stipendio e possono essere segretari per i quali èrilevante l’orario di lavoro, direttori o progettisti (nell’ultimo caso possono essere anche responsabili di progetto); gli studenti (che non possono essere impiegati) hanno il numero di matricola; esistono persone che non sono néimpiegati né studenti (ma i dettagli non ci interessano)

    Modello E-R: Generalizzazioni esercizio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 111

    Segretario Direttore Progettista

    Responsabile

    PersonaCF

    Cognome

    Età

    Uomo Donna

    Militare

    Impiegato Studente

    Stipendio Matr.

    Modello E-R: Generalizzazioni esercizio

    Orario lavoro

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 112

    �dizionario dei dati � entità� relationship

    �vincoli non esprimibili

    Modello E-R: Documentazione associata agli schemi concettuali

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 113

    (1,1)(0,1)

    (0,N)(0,1)

    (0,1)

    (1,1)

    (1,N)

    (0,N)

    (1,N)

    (1,N)

    CittàIndirizzo

    Telefono

    Dipartimento

    Composizione

    Sede

    Direzione

    Afferenza

    Impiegato

    Progetto

    Partecipazione

    Nome

    Nome

    Cognome

    Budget

    Data

    Via

    CAP

    Codice

    Modello E-R: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 114

    Entità Descrizione Attributi Identificatore Impiegato Dipendente

    dell'azienda Codice, Cognome, Stipendio

    Codice

    Progetto Progetti aziendali

    Nome, Budget

    Nome

    Dipartimento Struttura aziendale

    Nome, Telefono

    Nome, Sede

    Sede Sede dell'azienda

    Città, Indirizzo

    Città

    Modello E-R: Dizionario dei dati (entità)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 115

    Relazioni Descrizione Componenti Attributi Direzione Direzione di un

    dipartimento Impiegato, Dipartimento

    Afferenza Afferenza a un dipartimento

    Impiegato, Dipartimento

    Data

    Partecipazione Partecipazione a un progetto

    Impiegato, Progetto

    Composizione Composizione dell'azienda

    Dipartimento, Sede

    Modello E-R: Dizionario dei dati (relationship)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 116

    Vincoli di integrità sui dati (1) Il direttore di un dipartimento deve a afferire a tale

    dipartimento (2) Un impiegato non deve avere uno stipendio

    maggiore del direttore del dipartimento al quale afferisce

    (3) Un dipartimento con sede a Roma deve essere diretto da un impiegato con più di dieci anni di anzianità

    (4) Un impiegato che non afferisce a nessun dipartimento non deve partecipare a nessun un progetto

    Modello E-R: Vincoli non esprimibili

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 117

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 118

    Schema concettuale

    Requisiti della base di dati

    Progettazioneconcettuale

    Schema logico

    Schema fisico

    “CHE COSA”:analisi

    “COME”:progettazione

    Progettazionelogica

    Progettazionefisica

    Metodologia di progetto per le basi di dati

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 119

    Analisi dei requisiti e progettazione concettuale ("Analisi dei dati")

    Comprende attività (interconnesse) di:

    � acquisizione dei requisiti

    � analisi dei requisiti

    � costruzione dello schema concettuale

    � costruzione del glossario

    Il reperimento dei requisiti è un'attività difficile e non standardizzabile

    l'attività di analisi inizia con i primi requisiti raccolti e spesso indirizza verso altre acquisizioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 120

    Requisiti

    Possibili fonti:

    �utenti, attraverso:� interviste� documentazione apposita

    �documentazione esistente:� normative (leggi, regolamenti di settore)� regolamenti interni, procedure aziendali� realizzazioni preesistenti

    �modulistica

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 121

    Acquisizione per interviste

    � utenti diversi possono fornire informazioni diverse

    � utenti a livello più alto hanno spesso una visione piùampia ma meno dettagliata

    � le interviste portano spesso ad una acquisizione dei requisiti “per raffinamenti successivi”

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 122

    Interazione con gli utenti

    Spunti:

    � effettuare spesso verifiche di comprensione e coerenza

    � verificare anche per mezzo di esempi (generali e relativi a casi limite)

    � richiedere definizioni e classificazioni � far evidenziare gli aspetti essenziali rispetto a quelli

    marginali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 123

    Requisiti: documentazione descrittiva

    Regole generali:

    � scegliere il corretto livello di astrazione� standardizzare la struttura delle frasi� suddividere le frasi articolate� separare le frasi sui dati da quelle sulle funzioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 124

    Requisiti: organizzazione di termini e concetti

    Regole generali

    � costruire un glossario dei termini� individuare omonimi e sinonimi e unificare i termini� rendere esplicito il riferimento fra termini� riorganizzare le frasi per concetti

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 125

    Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione dei riferimenti bibliografici

    Requisiti: Esempio

    Base di dati bibliografica Si vogliono organizzare i dati di interesse per automatizzare la gestione

    dei riferimenti bibliografici, con tutte le informa zioni da riportarsi in una

    bibliografia.

    Per ogni pubblicazione deve esistere un codice identificante costituito da

    sette caratteri, indicanti le iniziali degli autori, l'anno di pubblicazione e

    un carattere aggiuntivo per la discriminazione delle collisioni.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 126

    Termine Descrizione Sinonim i Collegamenti Partecipante Persona che partecipa

    ai corsi

    Studente Corso,

    Società

    Docente Docente dei corsi. Può

    essere esterno

    Insegnante Corso

    Corso Corso organizzato

    dalla società. Può

    avere più edizioni.

    Seminario Docente

    Requisiti: Glossario dei termini

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 127

    Frasi di carattere generale Si vuole realizzare una base di dati per una società che eroga

    corsi, di cui vogliamo rappresentare i dati dei partecipanti ai

    corsi e dei docenti.

    Requisiti: Strutturazione dei requisiti in gruppi di frasi omogenee

    Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice,

    rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di

    nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti

    (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che

    stanno attualmente frequentando e quelli che hanno frequentato nel

    passato, con la relativa votazione finale in decimi.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 128

    Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti,

    rappresentiamo il nome, l'indirizzo e il numero di telefono.

    Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie

    edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il

    numero di partecipanti e il giorno della settimana, le aule e le ore dove

    sono tenute le lezioni.

    Requisiti: Strutturazione dei requisiti in gruppi di frasi omogenee

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 129

    Quale costrutto E-R va utilizzato per rappresentare un concetto presente nelle specifiche?

    Bisogna basarsi sulle definizioni dei costrutti del modello E-R

    � se ha proprietà significative e descrive oggetti con esistenza autonoma

    � entità� se è semplice e non ha proprietà

    � attributo� se correla due o più concetti

    � relazione� se è caso particolare di un altro

    � generalizzazione

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 130

    Strategie di progetto

    � top-down

    � bottom-up

    � inside-out

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 131

    Strategie di progetto: Top Down

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 132

    Strategie di progetto: Bottom Up

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 133

    Strategie di progetto: Inside Out

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 134

    si procede di solito con una strategia ibrida (mista):

    � si individuano i concetti principali e si realizza uno schema scheletro

    � sulla base di questo si può decomporre� poi si raffina, si espande, si integra

    Strategie di progetto: In pratica

    Si individuano i concetti più importanti, ad esempio perchépiù citati o perché indicati esplicitamente come cruciali e li si organizza in un semplice schema concettuale

    Definizione dello schema scheletro:

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 135

    Qualità di uno schema concettuale

    � Correttezza

    � Completezza

    � Leggibilità

    � minimalità

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 136

    Un esempio di progettazione concettuale

    Frasi d i cara ttere genera le S i vuo le rea lizzare una base d i da ti per una società che eroga corsi, d i cu i vog liam o rapp resen tare i da ti dei partecipan ti a i corsi e dei docen ti.

    Supponiamo di dover progettare una base di dati per una società di formazione

    Partecipante

    Corso

    Docente

    Partecipazione Docenza

    Definiamo lo schema scheletro:

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 137

    Frasi relative ai partecipanti Per i partecipanti (circa 5000), identificati da un codice,

    rappresentiamo il codice fiscale, il cognome, l'età, il sesso, la città di

    nascita, i nomi dei loro attuali datori di lavoro e di quelli precedenti

    (insieme alle date di inizio e fine rapporto), le edizioni dei corsi che

    stanno attualmente frequentando e quelli che hanno frequentato nel

    passato, con la relativa votazione finale in decimi.

    Un esempio di progettazione concettuale

    Frasi relative ai datori di lavoro Relativamente ai datori di lavoro presenti e passati dei partecipanti,

    rappresentiamo il nome, l'indirizzo e il numero di telefono.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 138

    Frasi relative a tipi specifici di partecipanti Per i partecipanti che sono liberi professionisti, rappresentiamo

    l'area di interesse e, se lo possiedono, il titolo professionale. Per i

    partecipanti che sono dipendenti, rappresentiamo invece il loro

    livello e la posizione ricoperta.

    Un esempio di progettazione concettuale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 139

    PosizioneLivello Titolo prof. Area

    Partecipante

    CF

    Codice

    …..

    Impiegopassato

    (0,N)

    (0,N)

    Dipendente Professionista

    Datore Nome

    …..Impiegocorrente

    (0,N)

    (1,1)

    Un esempio di progettazione concettuale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 140

    Frasi relative ai corsi Per i corsi (circa 200), rappresentiamo il titolo e il codice, le varie

    edizioni con date di inizio e fine e, per ogni edizione, rappresentiamo il

    numero di partecipanti e il giorno della settimana, le aule e le ore dove

    sono tenute le lezioni.

    Un esempio di progettazione concettuale

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 141

    (1,N)

    (1,1)

    ComposizioneTipologia

    (1,1)

    (0,N)

    Corso

    N.Part.Data fine

    Data inizio

    Edizionecorso

    Orario Aula Giorno

    Lezione

    Titolo Codice

    Un esempio di progettazione concettuale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 142

    Frasi relative ai docenti Per i docenti (circa 300), rappresentiamo il cognome, l'età, la città di

    nascita, tutti i numeri di telefono, il titolo del corso che insegnano, di

    quelli che hanno insegnato nel passato e di quelli che possono

    insegnare. I docenti possono essere dipendenti interni della società di

    formazione o collaboratori esterni.

    Docente

    Collaboratore Interno

    CF

    Cognome

    Età

    Telefono

    Città nascita

    (1,N)

    Un esempio di progettazione concettuale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 143

    Partecipante

    Corso

    Docente

    Partecipazione Docenza

    Un esempio di progettazione concettuale: Integrazione

    Partecipante Corso

    partecipazionepassata

    (0,N) (0,N)

    partecipazionecorrente

    (0,1) (0,N)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 144

    Tipologia

    Corso

    CodiceTitolo

    Datainizio

    (0,N)

    (1,1)

    DocenzaCorso

    Edizione Docente

    Abilitazione(1,N)

    (1,N)

    Docenzapassata

    (0,N)(0,1)

    Docenzacorrente

    (0,1) (0,1)

    (0,1)(0,1)

    Un esempio di progettazione concettuale: Integrazione

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 145

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 146

    I modelli logici dei dati

    Tre modelli logici tradizionali

    � Gerarchico� Reticolare

    � Relazionale

    Più recente (e poco diffuso)

    � a Oggetti

    utilizzano riferimentiespliciti (puntatori) frarecord

    "è basato su valori“anche i riferimenti fradati in strutture(relazioni) diverse sono rappresentati per mezzo dei valoristessi

    Caratteristiche

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 147

    Il modello relazionale

    Proposto da E. F. Codd nel 1970 per favorirel’indipendenza dei dati

    Disponibile in DBMS reali nel 1981 (non è facileimplementare l’indipendenza con efficienza e affidabilità!)

    Si basa sul concetto matematico di relazione (con unavariante)

    Le relazioni hanno naturale rappresentazione per mezzo di tabelle

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 148

    Struttura non posizionale

    A ciascun dominio si associa un nome (attributo), che ne descrive il "ruolo"

    3200

    1021

    JuveLazioJuve

    Roma

    LazioMilanRomaMilan

    RetiCasa RetiFuoriCasa Fuori

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 149

    Tabelle e relazioni

    Una tabella rappresenta una relazione se

    � i valori di ogni colonna sono fra loro omogenei� le righe sono diverse fra loro� le intestazioni delle colonne sono diverse tra loro

    In una tabella che rappresenta una relazione

    � l’ordinamento tra le righe è irrilevante� l’ordinamento tra le colonne è irrilevante

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 150

    Il modello è basato su valori

    i riferimenti fra dati in relazioni diverse sono rappresentatiper mezzo di valori dei domini che compaiono nelle ennuple

    Matricola Cognome Nome Data di nascita

    6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

    3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

    studenti

    esami

    Studente3456345692836554

    Voto30242826

    Corso04020101

    Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi

    corsi

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 151

    6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

    3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

    Matricola Cognome Nome Data di nascitastudenti

    Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi

    corsi

    esami Studente Voto Corso30242826

    Il modello basato su puntatori

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 152

    Vantaggi della struttura basata su valori

    � indipendenza dalle strutture fisiche (si potrebbe avereanche con puntatori di alto livello) che possono cambiaredinamicamente

    � si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione

    � l’utente finale vede gli stessi dati dei programmatori

    � i dati sono portabili piu' facilmente da un sistema ad unaltro

    � i puntatori sono direzionali

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 153

    Definizioni

    �Schema di relazione:un nome R con un insieme di attributi A1, ..., An:

    R(A1,..., An)

    �Schema di base di dati:insieme di schemi di relazione:

    R = {R1(X1), ..., Rk(Xk)}

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 154

    Strutture nidificate

    Da FilippoVia Roma 2, RomaRicevuta Fiscale

    1235 del 12/10/20003 Coperti 3,00

    2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

    Totale 39,20

    Da FilippoVia Roma 2, RomaRicevuta Fiscale

    1240 del 13/10/20002 Coperti 2,00

    2 Orate 20,002 Primi 8,002 Antipasti 7,00

    2 Caffè 2,00

    Totale 39,00

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 155

    Relazioni che rappresentano strutture nidificate

    1235 39,2012/10/2000Numero TotaleData

    1240 39,0013/10/2000

    Ricevute

    3 Coperti 3,00

    2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

    Dettaglio Qtà Descrizione Costo1235

    Numero

    1240

    123512351235

    2 Coperti 2,00… … … …

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 156

    Strutture nidifcate, riflessione

    Abbiamo rappresentato veramente tutti gli aspetti delle ricevute?

    Dipende da che cosa ci interessa!

    � l'ordine delle righe e' rilevante?� possono esistere linee ripetute in una ricevuta?

    Sono possibili rappresentazioni diverse

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 157

    Rappresentazione alternativa per strutture nidificate

    Dettaglio3 Coperti 3,00

    2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

    Qtà Descrizione Costo1235

    Numero

    1240

    123512351235

    2 Coperti 2,00… … … …

    1

    432

    Riga

    1…

    1235 39,2012/10/2000Numero TotaleData

    1240 39,0013/10/2000

    Ricevute

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 158

    Informazione incompleta

    ll modello relazionale impone ai dati una struttura rigida: � le informazioni sono rappresentate per mezzo di

    ennuple� solo alcuni formati di ennuple sono ammessi: quelli che

    corrispondono agli schemi di relazione

    I dati disponibili possono non corrispondere al formatoprevisto

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 159

    Informazione incompleta: motivazioni

    Franklin RooseveltDelano

    Nome CognomeSecondoNome

    Winston Churchill

    Charles De Gaulle

    Josip Stalin

    non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, “99”, ...):� potrebbero non esistere valori “non utilizzati”� valori “non utilizzati” potrebbero diventare significativi� in fase di utilizzo (nei programmi) sarebbe necessario

    ogni volta tener conto del “significato” di questi valori

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 160

    Informazione incompleta nel modello relazionale

    Si adotta una tecnica rudimentale ma efficace:

    � valore nullo: denota l’assenza di un valore del dominio (e non è un valore del dominio)

    t[A], per ogni attributo A, è un valore del dominio dom(A) oppure il valore nullo NULL

    Si possono (e debbono) imporre restrizioni sulla presenzadi valori nulli

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 161

    MatricolaCognome Nome Data di nascita6554 Rossi Mario 05/12/1978

    NULL Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

    studenti

    Codice Titolo Docente01 Analisi Mario02 NULL NULL04 Chimica Verdi

    corsi

    Studente Voto CorsoNULL 30 NULLNULL 24 029283 28 01

    esami

    Troppi valori nulli

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 162

    Tipi di valore nullo

    (almeno) tre casi differenti

    � valore sconosciuto� valore inesistente� valore senza informazione

    I DBMS non distinguono i tipi di valore nullo

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 163

    Vincoli di integrità

    Esistono istanze di basi di dati che, pur sintatticamentecorrette, non rappresentano informazioni possibili per l’applicazione di interesse

    Esami Studente Voto Lode Corso32 01276545

    276545 30 e lode 02787643 27 e lode 03739430 24 04

    32

    27 e lode739430

    Studenti Matricola276545787643787643

    CognomeRossiNeri

    Bianchi

    NomeMarioPieroLuca

    787643787643

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 164

    Vincolo di integrità

    � Proprietà che deve essere soddisfatta dalle istanzeche rappresentano informazioni corrette per l’applicazione

    � Un vincolo è una funzione booleana (un predicato):associa ad ogni istanza il valore vero o falso

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 165

    � descrizione più accurata della realtà

    � contributo alla “qualità dei dati”

    � utili nella progettazione (vedremo)

    � usati dai DBMS nella esecuzione delle interrogazioni

    � non tutte le proprietà di interesse sono rappresentabiliper mezzo di vincoli formulabili in modo esplicito

    Vincolo di integrità, perchè ?

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 166

    Tipi di vincoli

    �vincoli intrarelazionali

    � vincoli su valori (o di dominio) � vincoli di ennupla

    �vincoli interrelazionali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 167

    Tipi di vincoli

    Esami Studente Voto Lode Corso32 01276545

    276545 30 e lode 02787643 27 e lode 03739430 24 04

    32

    27 e lode739430

    Studenti Matricola276545787643787643

    CognomeRossiNeri

    Bianchi

    NomeMarioPieroLuca

    787643787643

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 168

    Vincoli di ennupla

    Esprimono condizioni sui valori di ciascunaennupla,indipendentemente dalle altre ennuple

    Caso particolare:

    � Vincoli di dominio: coinvolgono un solo attributo

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 169

    Vincoli di ennupla: esempio

    ImpiegatoRossiNeriBruni

    Stipendi Lordo55.00045.00047.000

    Netto42.50035.00036.000

    Ritenute12.50010.00011.000

    Lordo = (Ritenute + Netto)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 170

    Identificazione delle ennuple

    � non ci sono due ennuple con lo stesso valoresull’attributo Matricola

    � non ci sono due ennuple uguali su tutti e tre gli attributiCognome, Nome e Data di Nascita

    Matricola276557876365432

    NomeMario

    PieroMario87654

    67653

    Mario

    CognomeRossi

    NeriNeri

    Rossi

    Rossi Piero

    CorsoIng Inf

    Ing MeccIng Inf

    Ing Inf

    Ing Mecc

    Nascita5/12/78

    10/7/793/11/76

    3/11/76

    5/12/78

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 171

    Chiave

    Insieme di attributi che identificano le ennuple di unarelazione

    Formalmente:

    Un insieme K di attributi è superchiave per r se r non contiene due ennuple distinte t1 e t2 con t1[K] = t2[K]

    K è chiave per r se è una superchiave minimale per r (cioè non contiene un’altra superchiave)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 172

    Una chiave

    Matricola è una chiave:

    � è superchiave� contiene un solo attributo e quindi è minimale

    Matricola276557876365432

    NomeMario

    PieroMario87654

    67653

    Mario

    CognomeRossi

    NeriNeri

    Rossi

    Rossi Piero

    CorsoIng Inf

    Ing MeccIng Inf

    Ing Inf

    Ing Mecc

    Nascita5/12/78

    10/7/793/11/76

    3/11/76

    5/12/78

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 173

    Matricola276557876365432

    NomeMario

    PieroMario87654

    67653

    Mario

    CognomeRossi

    NeriNeri

    Rossi

    Rossi Piero

    CorsoIng Inf

    Ing MeccIng Inf

    Ing Inf

    Ing Mecc

    Nascita5/12/78

    10/7/793/11/76

    3/11/76

    5/12/78

    Cognome, Nome, Nascita è un’altra chiave:

    � è superchiave

    � minimale

    Un'altra chiave

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 174

    Non ci sono ennuple uguali su Cognome e Corso:� Cognome e Corso formano una chiave

    Ma è sempre vero?

    Matricola276557876365432

    NomeMario

    PieroMario87654

    67653

    Mario

    CognomeRossi

    NeriNeri

    Rossi

    Rossi Piero

    CorsoIng Inf

    Ing MeccIng Inf

    Ing Inf

    Ing Mecc

    Nascita5/12/78

    10/7/793/11/76

    3/11/76

    5/12/78

    Un'altra chiave

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 175

    Vincoli, schemi e istanze

    i vincoli corrispondono a proprietà del mondo reale modellato dalla base di dati

    interessano a livello di schema (con riferimento cioè a tuttele istanze)

    ad uno schema associamo un insieme di vincoli e consideriamo corrette (valide, ammissibili) le istanze chesoddisfano tutti i vincoli

    un'istanza può soddisfare altri vincoli (“per caso”)

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 176

    Esistenza delle chiavi

    Una relazione non può contenere ennuple distinte mauguali

    Ogni relazione ha come superchiave l’insieme degliattributi su cui è definita � ha (almeno) una chiave

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 177

    Importanza delle chiavi

    L’esistenza delle chiavi garantisce l’accessibilità a ciascun dato della base di dati

    Le chiavi permettono di correlare i dati in relazionidiverse:

    � il modello relazionale è basato su valori

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 178

    Chiavi e valori nulli

    In presenza di valori nulli, i valori della chiave non permettono

    � di identificare le ennuple

    � di realizzare facilmente i riferimenti da altre relazioni

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 179

    Matricola

    7876365432

    Nome

    PieroMario87654

    NULL

    Mario

    Cognome

    NeriNeri

    Rossi

    Neri Mario

    Corso

    Ing MeccIng Inf

    Ing Civile

    NULL

    NascitaNULL MarioNULL Ing Inf 5/12/78

    10/7/79NULL

    3/11/76

    5/12/78Mario87654

    NULLNeriNeri Mario

    Ing InfNULL

    NULL5/12/78

    NULL MarioNULL Ing Inf 5/12/78

    La presenza di valori nulli nelle chiavi deve essere limitata

    Chiavi e valori nulli

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 180

    Chiave primaria

    Chiave su cui non sono ammessi nulli

    Notazione: sottolineatura

    Matricola

    7876365432

    Nome

    PieroMario87654

    43289

    Mario

    Cognome

    NeriNeri

    Rossi

    Neri Mario

    Corso

    Ing MeccIng Inf

    Ing Civile

    NULL

    Nascita

    86765 MarioNULL Ing Inf 5/12/78

    10/7/79NULL

    3/11/76

    5/12/78

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 181

    � Informazioni in relazioni diverse sono correlateattraverso valori comuni

    � In particolare, valori delle chiavi (primarie)� Le correlazioni debbono essere "coerenti"

    Integrità referenziale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 182

    Matricola398732959345

    Vigili

    CognomeRossiNeriNeri

    NomeLucaPieroMario

    Mori Gino7543

    Infrazioni

    Codice34321

    733216452153524

    Data1/2/954/3/955/4/965/2/98

    Vigile3987329532959345

    Prov NumeroMITOPRPR

    39548KE39548839548839548

    Integrità referenziale: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 183

    AutoProv Numero

    MITOPR

    39548KE39548839548

    CognomeRossiRossiNeri

    NomeMarioMarioLuca

    InfrazioniCodice34321

    733216452153524

    Data1/2/954/3/955/4/965/2/98

    Vigile3987329532959345

    Prov NumeroMITOPRPR

    39548KE39548839548839548

    Integrità referenziale: Esempio

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 184

    Un vincolo di integrità referenziale (“foreign key”) fra gliattributi X di una relazione R1 e un’altra relazione R2impone ai valori su X in R1 di comparire come valori dellachiave primaria di R2

    Vincolo di integrità referenziale

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 185

    vincoli di integrità referenziale fra:

    � l’attributo Vigile della relazione INFRAZIONI e la relazione VIGILI

    � gli attributi Prov e Numero di INFRAZIONI e la relazione AUTO

    Vincolo di integrità referenziale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 186

    Codice34321

    733216452153524

    Data1/2/954/3/955/4/965/2/98

    Vigile3987329532959345

    Prov NumeroMITOPRPR

    39548KE39548839548839548

    Vincolo di integrità referenziale: Esempio violazione

    Infrazioni

    AutoProv Numero

    MITOPR

    E39548F34268839548

    CognomeRossiRossiNeri

    NomeMarioMarioLuca

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 187

    Vincoli di integrità referenziale: commenti

    Giocano un ruolo fondamentale nel concetto di “modellobasato su valori.”

    � In presenza di valori nulli i vincoli possono essereresi meno restrittivi

    � Sono possibili meccanismi per il supporto alla lorogestione ("azioni" compensative a seguito di violazioni)

    � Attenzione ai vincoli su più attributi

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 188

    Integrità referenziale e valori nulli

    Progetti CodiceIDEA

    BOHXYZ

    Inizio01/200007/200109/2001

    Durata362424

    Costo200120150

    Impiegati Matricola34321

    6452153524

    CognomeRossiNeriVerdi

    ProgettoIDEAXYZ

    NULL73032 Bianchi IDEA

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 189

    Azioni compensative

    Esempio:

    � Viene eliminata una ennupla causando cosi' unaviolazione

    Azioni

    � Rifiuto dell'operazione� Eliminazione in cascata� Introduzione di valori nulli

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 190

    Eliminazione in cascata

    Progetti CodiceIDEA

    BOHXYZ

    Inizio01/200007/200109/2001

    Durata362424

    Costo200120150

    Impiegati Matricola34321

    6452153524

    CognomeRossiNeriVerdi

    ProgettoIDEAXYZ

    NULL73032 Bianchi IDEA

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 191

    Incidenti

    Codice

    34321

    64521

    Data

    1/2/95

    5/4/96

    ProvB NumeroB

    MI

    TO

    39548K

    E39548

    ProvA NumeroA

    TO

    PR

    E39548

    839548

    Vincoli multipli su più attributi

    Prov NumeroMITOPR

    E39548F34268839548

    CognomeRossiRossiNeri

    NomeMarioMarioLuca

    Auto

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 192

    Vincoli di integrità referenziale fra:

    � gli attributi ProvA e NumeroA di INCIDENTI e la relazione AUTO

    � gli attributi ProvB e NumeroB di INCIDENTI e la relazione AUTO

    L'ordine degli attributi è significativo

    Vincoli multipli su più attributi

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 193

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 194

    Un data warehouse è una base di dati

    collezione di dati di grandi dimensioni, persistente e condivisagestita in maniera efficace, efficiente ed affidabile

    con delle caratteristiche “peculiari”� utilizzata principalmente per il supporto alle decisioni

    direzionali � integrata — aziendale e non dipartimentale� con dati storici — con un ampio orizzonte temporale� con dati tipicamente aggregati — per effettuare stime� fuori linea — aggiornata periodicamente� mantenuta separatamente dalle basi di dati operazionali

    Cosa è un data warehouse?

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 195

    Motivazioni

    I sistemi informatici hanno aumentato la produttività delle organizzazioni automatizzandone la gestione operativa quotidiana � le vendite nelle catene di supermercati� l’instradamento e la contabilizzazione delle telefonate

    Questi dati — se opportunamente accumulati e analizzati —possono essere utilizzati per la pianificazione e il supporto alle decisioni� le promozioni dei prodotti� l’offerta di contratti diversificati

    Una corretta gestione dei dati storici può essere occasione di un grande vantaggio competitivo

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 196

    Processi aziendali, dati e decisioni

    I processi informativi svolti da una organizzazione possono essere classificati in tre grandi categorie � processi operativi

    � operano sui dati dipartimentali e dettagliati � le decisioni sono strutturate , basate su regole

    perfettamente definite� processi gestionali

    � operano su dati settoriali e parzialmente aggregati � le decisioni sono semistrutturate , basate su regole

    note, ma in cui è spesso necessario un intervento umano “creativo”

    � processi direzionali� operano su dati integrati e fortemente aggregati � le decisioni sono non strutturate , per cui non esistono

    criteri precisi, e la capacità personale è essenziale

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 197

    Processi presso una banca

    Processi operativi� gestione di un movimento su un conto corrente bancario,

    presso sportello tradizionale o automatico

    Processi gestionali� concessione di un fido� revisione delle condizioni su un conto corrente

    Processi direzionali� verifica dell’andamento dei servizi di carta di credito� lancio di una campagna promozionale� stipula di accordi commerciali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 198

    Processi presso una compagnia telefonica

    Processi operativi� stipula di contratti ordinari � instradamento delle telefonate� memorizzazione di dati contabili sulle telefonate

    � chiamante, chiamato, giorno, ora, durata, instradamento

    Processi gestionali� stipula di contratti speciali � installazione di infrastrutture

    Processi direzionali� scelta dei parametri che fissano il costo delle telefonate � definizione di contratti diversificati � pianificazione del potenziamento delle infrastrutture

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 199

    Informatizzazione dei processi informativi

    L’informatizzabilità di un processo informativo è funzione del suo grado di strutturazione delle decisioni

    Un processo altamente strutturato può essere facilmente informatizzato — un processo non strutturato può essere al piùsupportato da iniziative di informatizzazione

    Tipologie di sistemi informatici� transaction processing systems — dipartimentali, per i

    processi operativi� management information systems — settoriali, anche per

    processi gestionali� decision support systems — fortemente integrati, di

    supporto ai processi direzionali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 200

    OLTP

    I sistemi informatici sono utilizzati tradizionalmente per l’On-Line Transaction Processing

    Caratteristiche dell’elaborazione OLTP�le transazioni sono predefinite e di breve durata �i dati di interesse sono dettagliati, aggiornati e recenti�i dati risiedono su una unica base di dati �leggono e/o modificano pochi record�le proprietà acide delle transazioni sono critiche�implementati su mainframe

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 201

    Sistemi di supporto alle decisioni

    I sistemi di supporto alle decisioni (DSS) sono la tecnologia che supporta la dirigenza aziendale nel prendere decisioni tattico-strategiche in modo migliore e veloce

    Operazioni supportate dalla tecnologia DSS � quali sono stati i volumi di vendita dello scorso anno per

    regione e categoria di prodotto?� in che modo i dividendi di aziende di hardware sono

    correlati ai profitti trimestrali negli ultimi 10 anni?� quali ordini dovremmo soddisfare per massimizzare le

    entrate?� uno sconto tra il 7% e il 10% potrebbe incrementare le

    vendite in modo sufficiente?

    Ma su quali dati? quelli accumulati dall’elaborazione OLTP

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 202

    OLAP

    Un tipo di elaborazione per i sistemi di supporto alle decisioni —l’On-Line Analytical Processing

    Caratteristiche dell’elaborazione OLAP� le interrogazioni sono complesse e casuali � i dati di interesse sono tipicamente storici e aggregati� i dati possono provenire da più basi di dati — possibilmente

    non omogenee � leggono un numero enorme di record — non scrivono mai � le risposte alle interrogazioni sono attese in linea� la visualizzazione dei dati è fondamentale — sono

    implementati su PC

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 203

    OLTP e OLAP

    OLTPOLTPOLTPOLTP OLAPOLAPOLAPOLAP

    UtenteUtenteUtenteUtente impiegato dirigente

    FunzioneFunzioneFunzioneFunzione operazioni giornaliere supporto alle decisioni

    ProgettazioneProgettazioneProgettazioneProgettazione orientata all'applicazione orientata ai dati

    DatiDatiDatiDati correnti, aggiornati,

    dettagliati, relazionali,

    isolati

    storici, aggregati,

    multidimensionali,

    integrati, consolidati

    UsoUsoUsoUso ripetitivo casuale

    AccessoAccessoAccessoAccesso read-write, indicizzato read, sequenziale

    Unità di lavoroUnità di lavoroUnità di lavoroUnità di lavoro transazione breve interrogazione complessa

    Record acc.Record acc.Record acc.Record acc. decine milioni

    N. utentiN. utentiN. utentiN. utenti migliaia centinaia

    DimensioneDimensioneDimensioneDimensione 100MB - 1GB 100GB - 1TB

    MetricaMetricaMetricaMetrica throughput tempo di risposta

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 204

    Evoluzione dei DSS

    Anni ‘60 — rapporti batch� difficile trovare e analizzare dati� costo, ogni richiesta richiede un nuovo programma

    Anni ‘70 — DSS basato su terminale� non integrato con strumenti di automazione d’ufficio

    Anni ‘80 — strumenti d’automazione d’ufficio e di analisi� strumenti di interrogazione, fogli elettronici, interfacce

    grafiche� accesso ai dati operazionali

    Anni ‘90 — data warehousing, con strumenti integrati di OLAP

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 205

    Sommario

    � Basi di dati� Sistemi informativi e sistemi informatici� Metodologie e modelli per il progetto� Progettazione di una base di dati� Un modello concettuale: Il Modello E-R (1976)� Progettazione concettuale� Un modello logico: Il modello relazionale

    � DataWarehouse� Processi aziendali e sistemi informativi � OLTP e OLAP� Data warehouse e data warehousing� Architetture per il warehousing� Analisi multidimensionale

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 206

    Data warehouse

    Un data warehouse è una base di dati

    � utilizzata principalmente per il supporto alle decisioni direzionali

    � integrata — aziendale e non dipartimentale� con dati storici — con un ampio orizzonte temporale, e

    indicazione di almeno un elemento di tempo� con dati tipicamente aggregati — per effettuare stime� fuori linea — i dati sono aggiornati periodicamente� mantenuta separatamente dalle basi di dati operazionali

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 207

    ... integrata ...

    I dati di interesse provengono da tutte le sorgenti informative —ciascun dato proviene da una o più di esse

    Il data warehouse rappresenta i dati in modo univoco —riconciliando le eterogeneità dalle diverse rappresentazioni� nomi� struttura� codifica � rappresentazione multipla

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 208

    ... dati storici ...

    Le basi di dati operazionali mantengono il valore corrente delleinformazioni

    L’orizzonte temporale di interesse è dell’ordine dei pochi mesi

    Nel data warehouse è di interesse l’evoluzione storica delle informazioni

    L’orizzonte temporale di interesse è dell’ordine degli anni

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 209

    ... dati aggregati ...

    Nelle attività di analisi dei dati per il supporto alle decisioni �non interessa “chi” ma “quanti”�non interessa un dato ma

    � la somma,� la media,� il minimo e il massimo, ...

    di un insieme di dati.

    Le operazioni di aggregazione sono quindi fondamentali nel warehousing e nella costruzione/mantenimento di un data warehouse.

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 210

    ... fuori linea ...

    In una base di dati operazionale, i dati vengono� acceduti� inseriti� modificati � cancellati

    pochi record alla volta

    Nel data warehouse, abbiamo � operazioni di accesso e interrogazione — “diurne”� operazioni di caricamento e aggiornamento dei dati —

    “notturne”

    che riguardano milioni di record

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 211

    ... una base di dati separata ...

    Un data warehouse viene mantenuto separatamente dalle basi di dati operazionali perché� non esiste un’unica base di dati operazionale che contiene

    tutti i dati di interesse � la base di dati deve essere integrata� non è tecnicamente possibile fare l’integrazione in linea � i dati di interesse sarebbero comunque diversi

    �devono essere mantenuti dati storici�devono essere mantenuti dati aggregati

    � l’analisi dei dati richiede per i dati organizzazioni speciali e metodi di accesso specifici

    � degrado generale delle prestazioni senza la separazione

    Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 212

    Architettura per il data warehousing

    Estrazione

    TrasformazioneCaricamento

    Refresh

    Monitoraggio & Amministrazione

    Serve

    Data Data Data Data MartMartMartMart

    Sorgenti dei datiSorgenti dei datiSorgenti dei datiSorgenti dei dati

    Strumenti di analisiStrumenti di analisiStrumenti di analisiStrumenti di analisi

    Serve

    DataWarehouse Analisi

    dimensionale

    Basi di dati

    operazionali

    Data Mining

    Interrogazione/Presentazione

    MetadatiSorgenti

    esterne

  • Basi di dati Università degli Studi Roma Tre - Gianluca Di Tomassi 213

    Livelli di rappresentazione dei dati

    Nelle sorgenti informative — le basi di dati preesistenti� dipartimentali — orientate alle applicazioni � es: vendita, produzione, marketing, ...

    Nel data warehouse — la base di dati integrata � aziendale — soggetti comuni a tutta l’organizzazione � es: prodotti, clienti, fornitori, ...

    Nei data mart — sottoinsiemi del data warehouse� dipartimentali o settoriali — soggetti selezion