Modellazione concettuale

Documenti analoghi
Modellazione concettuale

Il Dimensional Fact Model

Modellazione concettuale

Sistemi Informativi Avanzati Anno Accademico 2013/2014 Prof. Domenico Beneventano. Archi multipli

Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano. Archi multipli

Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Estensioni del linguaggio SQL per interrogazioni OLAP

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Sistemi Informativi Avanzati

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SQL-OLAP. Estensioni OLAP in SQL

Progettazione concettuale:

Indice. Prefazione. Capitolo 1 Introduzione al data warehousing 1

Progettazione concettuale

Sistemi Informativi Avanzati

3.1. CorsodiElementidiBasididati Il modello Entita Relazione (72) vendita ordine studente. Impiegato. Dipartimento. città. Città.

Progettazione concettuale di una base di dati

Le Basi di dati: progettazione concettuale

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

Il modello relazionale. A. Ferrari

Cardinalità degli attributi

Progettazione concettuale

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano. OLAP - Analysis Services

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

Entità. Relazioni. Cardinalità delle relazioni. Ogni entità ha un nome che la identifica

Entità. Modello Entità-Relazione (E-R) Relazioni (associazioni) Attributi

Definizione e calcolo delle misure

A. Ferrari modello relazionale

Le basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Capitolo 6: Progettazione di basi di dati: Metodologie e modelli

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Progettazione di Basi di Dati

Sistemi Informativi Territoriali

Progettazione concettuale usando il modello Entità-Relazione (ER)

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano SCENARI TEMPORALI

ESEMPIO A: Arco multiplo su LIBRO- AUTORE

Ma: progettazione dei dati. progettazione delle applicazioni. Progettazione di basi di dati

Unità 3. Modello Relazionale

Ma: progettazione dei dati progettazione delle applicazioni. Progettazione di basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Modello Entità-Relazione (E-R)

Prima di iniziare. Diamo qualche definizione :

Altri costrutti del modello E-R. Esempio di cardinalità. Cardinalità di Residenza. Occorrenze di Residenza. Cardinalità di relationship

Il modello Entità-Relazioni (entity-relationship)

Basi di dati Prova di autovalutazione 17 gennaio 2011

Informatica per Statistica Riassunto della lezione del 28/11/2012

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

Le relazioni hanno una naturale rappresentazione per mezzo di. D. Gubiani Il Modello Relazionale 3

Ciclo di vita di un sistema informativo

SISTEMI INFORMATIVI E DATABASE

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

Architetture per l analisi dei dati

Progetto concettuale delle basi di dati

Tecnologie dei sistemi informatici: Basi di Dati e Reti. Lezione 3. Parte I Il modello ERA: introduzione e concetti base

Sistemi Informativi Aziendali. Sistemi Informativi Aziendali. Sistemi Informativi Aziendali

Perché preoccuparci?

Modello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati

D B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati

Modellazione dei dati

Introduzione. Il Modello Relazionale. Relazioni e Tabelle. Relazioni Matematiche - 1. Relazioni Matematiche - 2. Relazioni Matematiche - 3

D B M G D B M G 2. Basi di dati. Progettazione di basi di dati. Elena Baralis 2007 Politecnico di Torino 1. Modello Entità-Relazione

ESEMPIO TELEFONATE. Esempio di progettazione con indicazioni per lo svolgimento della Tesina. DIAGRAMMA RELAZIONALE

ESAME CFU (C) VOTO (AVG) SOST REG

Il modello Entity-Relationship: elementi avanzati

Progettazione Concettuale/1

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, La normalizzazione

Il modello Entity-Relationship: elementi avanzati

Traduzione. Scelta degli identificatori principali

Basi di dati (Sistemi Informativi)

Catena del valore (studio di caso)

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Data warehouse. Progettazione di un data warehouse

Modello Entità-Relazione (E-R)

IL MODELLO CONCETTUALE ENITÀ-RELAZIONE (ER) (CAPITOLO 5 DELLA VERSIONE ITALIANA)

Lezione 5. Il Modello dei Dati Relazionale Vincoli sui Database Relazionali

Sistemi informativi D B M G

Il ciclo di vita del Data Warehouse

I modelli logici dei dati

Lezione 11. database: modello entityrelationship. Proff.Valle Folgieri. Lez11 Trattamento dati. Database: modello entity-relationship 1

Tornando all esempio..

Data warehouse Introduzione

La progettazione concettuale

Forme normali. Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill. La normalizzazione. Normalizzazione. Una relazione con anomalie.

Data warehouse Introduzione

Unità Due. Modello E/R

Metodologie e Modelli di Progetto

Fondamenti di Informatica e Programmazione

Datawarehouse. Proge.azione logica

Il Modello Concettuale Enità-Relazione (ER)

Progettazione del Data Warehouse

La progettazione concettuale

Laboratorio di Basi di Dati

Il modello multidimensionale. Per le slides si ringrazia il Prof. Stefano Rizzi ( e il Dott.

Elena Baralis, Claudio Demartini

IL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori

Basi di dati. La normalizzazione

Transcript:

Sistemi Informativi Avanzati Anno Accademico 2011/2012 Prof. Domenico Beneventano Modellazione concettuale Versione estesa rispetto alle dispense originali realizzate dal Prof. Stefano Rizzi e state tratte dal suo libro Data Warehouse - teoria e pratica della Progettazione Autori: Matteo Golfarelli, Stefano Rizzi; Editore: McGraw-Hill Le estensioni riguardano sia l introduzione di esempi sia la descrizione più approfondita di alcuni concetti. Alcuni concetti sono già stati trattati nell introduzione al modello multidimensionale; i relativi lucidi sono qui ripetuti solo per completezza.

Quale formalismo? Mentre è universalmente riconosciuto che un DW si appoggia sul modello multidimensionale, non cè accordo sul formalismo di modellazione concettuale e quindi sulla metodologia di progettazione concettuale. Il modello Entity/Relationship è molto diffuso nelle imprese come formalismo per la documentazione dei sistemi informativi relazionali, ma non può essere usato per modellare il DW. 2

Il Dimensional Fact Model (DFM) E un modello concettuale grafico per data mart, pensato per: supportare efficacemente il progetto concettuale; creare un ambiente su cui formulare in modo intuitivo le interrogazioni dellutente; permettere il dialogo tra progettista e utente finale per raffinare le specifiche dei requisiti; creare una piattaforma stabile da cui partire per il progetto logico (indipendentemente dal modello logico target); restituire una documentazione a posteriori espressiva e non ambigua. La rappresentazione concettuale generata dal DFM consiste in un insieme di schemi di fatto. Gli elementi di base modellati dagli schemi di fatto sono i fatti, le misure, le dimensioni e le gerarchie 3

Il DFM: costrutti di base Un fatto è un concetto di interesse per il processo decisionale; tipicamente modella un insieme di eventi che accadono nellimpresa (ad esempio: vendite, spedizioni,...). È essenziale che un fatto abbia aspetti dinamici, ovvero evolva nel tempo Una misura è una proprietà numerica di un fatto e ne descrive un aspetto quantitativo di interesse per lanalisi (ad esempio, ogni vendita è misurata dal suo incasso) Una dimensione è una proprietà con dominio finito di un fatto e ne descrive una coordinata di analisi (dimensioni tipiche per il fatto vendite sono prodotto, negozio, data) fatto prodotto Un fatto esprime una associazione molti-a-molti tra le dimensioni dimensione misura data VENDITA quantità v enduta incasso num. clienti prezzo unitari o negozi o 4

Il DFM: costrutti di base Con attributo dimensionale si intendono le dimensioni e gli altri attributi, che le descrivono (per esempio, un prodotto è descritto dal suo tipo, dalla categoria cui appartiene, dalla sua marca, dal reparto in cui è venduto) Una gerarchia è un albero direzionato i cui nodi sono attributi dimensionali e i cui archi rappresentano associazioni molti-auno tra coppie di attributi dimensionali: larco da X a Y rappresenta la dipendenza funzionale X Y La gerarchia racchiude una dimensione, posta alla radice dellalbero, e tutti gli attributi dimensionali che la descrivono attributo dimensionale anno trime stre mese gio rn o vacanza settimana data gruppo di marketin g prodot to tipo VENDIT A quan tità ve nduta incasso num. clie nti prezzo u nitario categoria marca reparto cit tà dell a marca responsabi le d elle vendite distretto di vendita nego zio gerarchia cit tà del regio ne nego zio sta to 5

6 vacanza responsabile delle vendite distretto di vendita settimana negozio PRODOTTO NEGOZIO DATA qtà venduta incasso prezzo unitario num. clienti data prodotto MESE mese TRIMESTRE trimestre ANNO anno città CITT regione REGIONE stato STATO tipo TIPO categoria CATEGORIA reparto REPARTO MARCA marca CITT MARCA città marca (0,n) (0,n) (0,n) vendita RESP. VENDITE DISTRETTO VENDITA giorno VACANZA GIORNO SETTIMANA GRUPPO MARKETING gruppo marketing Il DFM: corrispondenza con le/r

Naming conventions Tutti gli attributi dimensionali in ciascuno schema di fatto devono avere nomi diversi Eventuali nomi uguali devono essere differenziati qualificandoli con il nome di un attributo dimensionale che li precede nella gerarchia Ad esempio, warehouse city è la città in cui si trova un magazzino, mentre store city è la città in cui si trova un negozio I nomi degli attributi non dovrebbero riferirsi esplicitamente al fatto a cui appartengono Ad esempio, si evitino shipped product e shipment date Attributi con lo stesso significato in schemi diversi devono avere lo stesso nome 7

Eventi primari e dimensioni Un evento primario è una particolare occorrenza di un fatto, individuata da una ennupla costituita da un valore per ciascuna dimensione. A ciascun evento primario è associato un valore per ciascuna misura Nelle vendite, un possibile evento primario registra per esempio che, il 10/10/2001, nel negozio NonSoloPappa sono state vendute 10 confezioni di detersivo Brillo per un incasso complessivo di 25 euro Un fatto F con n dimensioni Dim 1,, Dim n e k misure Mis 1,, Mis k si può considerare come una relazione F(Dim 1,, Dim n, Mis 1,, Mis k ) che ha come chiave D = { Dim 1,, Dim n } quindi ciascuna misura dipende funzionalmente da D Questo parallelo con il modello relazionale ci consente di parlare di dipendenze funzionali tra le dimensioni, tra le dimensioni e le misure 8

Eventi secondari e pattern Dato un insieme di attributi dimensionali (pattern), ciascuna ennupla di loro valori individua un evento secondario che aggrega tutti gli eventi primari corrispondenti. A ciascun evento secondario è associato un valore per ciascuna misura, che riassume in sé tutti i valori della stessa misura negli eventi primari corrispondenti Pertanto, le gerarchie definiscono il modo in cui gli eventi primari possono essere aggregati e selezionati significativamente per il processo decisionale; mentre la dimensione in cui una gerarchia ha radice ne definisce la granularità più fine di aggregazione, agli altri attributi dimensionali corrispondono granularità via via crescenti Pattern Primario e Pattern Secondari Pattern primario: è il pattern formato dallinsieme delle dimensioni Pattern secondario: è un qualsiasi altro pattern diverso dal primario, ovvero contenente almeno un attributo dimensionale che non è una dimensione 9

Eventi e aggregazione Evento secondario (1-2001,Roma,Viteria) Evento secondario (1-2001,Viteria) città! negozio tipo! prodotto tipo! prodotto mese Pattern secondario {mese,tipo-prodotto} mese negozio Evento primario (10-1-2001,BigWare,Vite) data prodotto Pattern primario {data,negozio,prodotto} 10

Pattern ed aggregazione Un pattern secondario specifica un aggregazione P1 = {Prodotto, Regione,Data} " P2 = { Tipo, Regione, Mese, Giorno} " P3 = {Tipo,Trimestre} " " Pn = {} " Un pattern che contiene due attributi dimensionali A e B tali che A B è non significativo in quanto il raggruppamento su A,B equivale al raggruppamento su A P = { Tipo, Regione, Mese, Giorno, Stato} è non significativo in quanto Regione Stato Nella visualizzazione bi-dimensionale di A e B, la DF A B comporta che per ogni A ci sarà un solo B corrispondente e quindi un solo evento secondario del pattern { A, B} Nel caso di pattern primario non significativo si parla di Dipendenze funzionali tra le dimensioni 11

Pattern: roll-up e drill-down Dati due pattern P1 e P2 con P1 P2, allora passare da P1 a P2 (da P2 a P1) significa aumentare (diminuire) l aggregazione, ovvero effettuare un roll-up (drill-down). " Esempi di roll-up {Prodotto, Regione,Data} { Tipo, Regione, Trimestre} " {Prodotto, Regione,Data} {Prodotto, Regione }" Dati due pattern significativi P1 e P2, se P1 P2 allora P1 P2, quindi passare da P1 a P2 (da P2 a P1) significa fare un roll-up (drill-down). " Passare da P = {Regione, Mese, Giorno, Stato} non significativo al sottoinsieme P = {Regione, Mese, Giorno} non implica nessun roll-up" Nel seguito per pattern si intende un pattern significativo, ovvero privo di dipendenze funzionali tra i suoi elementi. Un pattern è anche detto cuboide. 12

Reticolo di roll-up Dato uno schema di fatto F, l insieme dei suoi pattern ordinato sulla base della relazione di dipendenza funzionale è detto reticolo di roll-up " PRODOTTO NEGOZIO CASSA VENDITA Reticolo di roll-up CASSA, PRODOTTO Pattern: 1. {CASSA,PRODOTTO} 2. {NEGOZIO,PRODOTTO} 3. {CASSA} 4. {PRODOTTO} 5. {NEGOZIO} 6. {} NEGOZIO, PRODOTTO NEGOZIO PRODOTTO { } CASSA 13

Reticolo di roll-up Per semplicità, le sono rappresentate (a volte) da linee, e si intendono dall alto verso il basso: {CASSA,PRODOTTO} {NEGOZIO,PRODOTTO} Sono riportate solo le dirette e non quelle indirette, quali {CASSA,PRODOTTO} {NEGOZIO} CASSA, PRODOTTO NEGOZIO, PRODOTTO NEGOZIO PRODOTTO CASSA { } " Diamone una definizione formale 14

Perchè si chiama Reticolo? L ordinamento dei pattern in base alla relazione è " 1. Parziale " tra P1 = {Regione} e P2 = {Tipo,Trimestre} non c è relazione" 2. Ha come elemento massimo (che determina tutti gli altri) il pattern primario P0 " 3. Ha come elemento minimo (determinato da tutti gli altri) il pattern vuoto Pn = {} 4. Inoltre ogni coppia di pattern ha un estremo superiore ed un estremo inferiore " La coppia di pattern Px = {Tipo,Trimestre} e Py = {Prodotto,Anno} ha come estremo superiore Psup = {Prodotto,Trimestre} : infatti Psup Px e Psup Py e come estremo inferiore Pinf = {Tipo,Anno} : infatti Px Pinf e Py Pinf & L insieme dei pattern ordinato con la relazione è un reticolo " 15

Reticolo di roll-up : esempio 16

Reticolo di roll-up : considerazioni In uno schema di Fatto con n dimensioni (senza gerarchia) D1, D2,, Dn, i pattern sono 2 n (corrispondono infatti agli elementi dell insieme potenza di {D1, D2,, Dn} Esempio : n=3 17

Reticolo di roll-up : considerazioni Nel caso generale in cui le dimensioni hanno una gerarchia associata: i pattern del reticolo di roll-up sono in un numero minore di 2 N, dove N è il numero di attributi dimensionali Esempio : N=4, numero di pattern = 9 18

Reticoli di roll-up: Esempio CITTA TIPO NEGOZIO VENDITA PRODOTTO Pattern: 1. {NEGOZIO,PRODOTTO} 2. {CITTA,TIPO,PRODOTTO} 3. {CITTA,PRODOTTO} 4. {TIPO,PRODOTTO} 5. {CITTA,TIPO} 6. {CITTA} 7. {PRODOTTO} 8. {NEGOZIO} 9. {TIPO} 10. {} 19

Corrispondenza tra DFM reparto ed E/R REPARTO gruppo marketing GRUPPO stato MARKETING STATO ANNO categoria CATEGORIA semantica dei costrutti del nuovo modello DFM a partire dalla città semantica del modello E/R (e quindi del modello CITT relazionale) marca regione MARCA REGIONE TRIMESTRE tipo TIPO prodotto marca MARCA città CITT MESE prodotto PRODOTTO VENDITA Questa corrispondenza è utile per spiegare il significato, la data quantità v enduta incasso num. clienti prezzo unitari o negozi o negozio NEGOZIO (0,n) (0,n) vendita qtà venduta incasso num. clienti prezzo unitario (0,n) DATA anno trimestre mese data RESP. VENDITE Un fatto esprime una associazione responsabile delle vendite molti-a-molti tra le dimensioni DISTRETTO VENDITA distretto di vendita VACANZA vacanza SETTIMANA GIORNO giorno settimana 20

reparto REPARTO Corrispondenza tra DFM ed E/R GRUPPO stato MARKETING STATO categoria CATEGORIA La corrispondenza a livello di istanze: CITT regione MARCA data prodotto VENDITA quantità v enduta incasso num. clienti prezzo unitari o negozi o città negozio REGIONE CITT NEGOZIO tipo prodotto (0,n) TIPO PRODOTTO (0,n) vendita qtà venduta incasso MARCA num. clienti prezzo unitario (0,n) gruppo marketing città marca marca ANNO TRIMESTRE MESE DATA anno trimestre mese data Le istanze del fatto sono gli eventi primari con le corrispondenti misure (si riporta solo Incasso) RESP. VENDITE responsabile delle vendite DISTRETTO VENDITA distretto di vendita VACANZA Le istanze dello schema E/R sono vacanza quelle ottenibili con lo schema relazionale corrispondente (si riporta solo Incasso) SETTIMANA GIORNO giorno settimana 21

Corrispondenza tra DFM ed E/R Lassociazione molti-a-molti VENDITA si può anche esprimere, in modo del tutto equivalente, in forma reificata (nello schema E/R sono riportate solo le entità e non gli attributi) prodotto data VENDITA quantità v enduta incasso num. clienti prezzo unitari o negozi o DATA (0,N) VENDITA (0,N) NEGOZIO (0,N) PRODOTTO 22

città marca CITT Corrispondenza tra DFM ed E/R regione MARCA REGIONE tipo TIPO marca MARCA città CITT prodotto prodotto PRODOTTO Dimensione Opzionale TRIMESTRE MESE trimestre mese data VE NDITA quantità v enduta incasso num. clienti prezzo unitario negozi o negozio RESP. VENDITE NEGOZIO DISTRETTO VENDITA (0,n) (0,n) vendita qtà venduta incasso (0,N) num. clienti prezzo unitario (0,n) VACANZA DATA data GIORNO Promoz responsabile delle vendite distretto di vendita Promoz vacanza SETTIMANA Questa corrispondenza non è del tutto esatta in quanto nello schema di fatto Promoz è opzionale (cioè ci sono vendite senza la Promoz) mentre nello schema E/R Vendita è un associazione quaternaria che per esistere necessita anche di Promoz Per una corrispondenza esatta si dovrebbe considerare lo schema E/R reificato al quale aggiungere una entità VENDITA_IN_PROMO come subset di VENDITA. giorno settimana si semplifica tutto considerando un particolare valore di PROMOZIONE: 23

Corrispondenza tra DFM ed E/R L opzionalità viene codificata con un opportuno valore a livello di eventi primari prodotto data VENDITA quantità v enduta incasso num. clienti prezzo unitari o Promoz negozi o PROMOZ Prodotto Negozi Data Incasso Estate P1 o A 18/4 13 NO_PROMO P2 B 18/4 12 Estate P2 B 18/4 12 Con questa codifica la corrispondenza tra schema di fatto e schema E/R si può considerare esatta se anche nello schema E/R consideriamo che ci sia unistanza di Promoz con valore NO_PROMO, da usare appunto nelle istanze di vendita senza promozione 24

Modellazione e progettazione concettuale Modellazione: sintassi e semantica del modello DFM la semantica dei costrutti del modello DFM viene spiegata a partire dalla semantica del modello E/R Progettazione: metodi per progettare uno schema secondo il modello DFM Progettazione a partire da schemi E/R: dato uno schema E/R ed i requisiti del Data Warehouse, progettare lo schema di fatto corrispondente 25

Introduzione alla progettazione concettuale a partire da schemi E/R La progettazione concettuale verrà fatta più avanti, dopo aver introdotto tutti gli elementi del modello DFM Le scelte fondamentali che deve fare il progettista durante la progettazione concettuale sono 1. Scelta delle dimensioni e quindi della granularità del fatto 2. Scelta delle misure e dei relativi operatori di aggregazione 3. Scelta della gerarchia associata a ciascuna dimensione 26

Definizione delle gerarchie Un arco da X a Y rappresenta la DF X Y ma non tutte le DF (disponibili nello schema E/R) sono riportate in una gerarchia : Una gerarchia deve rappresentare solo quelle dipendenze funzionali che il progettista ritiene utili ai fini dell analisi dei dati. In fase di analisi dei dati, le operazioni OLAP (quali ad esempio roll-up e drill-down) saranno possibili solo lungo gli archi della gerarchia Anche le interrogazioni MDX si basano sugli archi definiti nella gerarchia 27

Definizione delle gerarchie: esempio Consideriamo la gerarchia di PRODOTTO in VENDITA Nello schema di fatto possiamo riportare tutta la gerarchia CATEGORIA PRODOTTO VENDITA TIPO oppure decidere che il tipo non è utile ai fini dell analisi: CATEGORIA PRODOTTO VENDITA 28

Definizione delle gerarchie: esempio Un altra possibilità è quella di scegliere una granularità meno fine, e quindi non considerare PRODOTTO (schema di fatto temporale): CATEGORIA TIPO VENDITA Un altra possibilità ancora è quella di considerare tutti gli attributi nella gerarchia, ma di non considerare l arco TIPO GATEGORIA: CATEGORIA PRODOTTO VENDITA TIPO Il confronto tra queste possibilità verrà trattato in fase di progettazione concettuale. 29

Il DFM: costrutti avanzati Un attributo descrittivo contiene informazioni aggiuntive su un attributo dimensionale, a cui è connesso da una associazione uno-a-uno. Non è usato per laggregazione poiché ha valori continui e/o poiché deriva da unassociazione uno-a-uno Alcuni archi dello schema di fatto possono essere opzionali attributo descrittivo an no trimestre me se gi orno va can za settim ana responsabile da ta pe so capo reparto gr upp o di ma rketin g pr odotto tipo VENDITA ca tego ria ma rca di eta qu antità venduta in cas so nu m. clie nti pr ezzo u ni tario ( AVG) reparto ci ttà d ell a ma rca ne gozio arco opzionale responsabile dell e vendi te di stretto di vendita ci ttà d el stato ne gozio regione indi rizzo telefono 30

Il DFM: costrutti avanzati nonaggregabilità anno trimestre mese giorno vacanza settimana respon sabile data peso capo reparto gruppo di marketing prodotto tipo VENDITA categoria marca dieta quantità venduta incasso num. clienti prezzo unitario (AV G) reparto città della marca respon sabile delle vendite distretto di vendita negozi o IVA attributo cross-dimensionale città del stato negozio regione indirizzo convergenza telefono data inizio data fine costo promo zione pubblicità sconto dimensione opzionale 31

Convergenza Vincolo di integrità (non esprimibile in E/R): gruppo capo lo stato della marketing città del responsabile negozio deve reparto essere reparto lo stesso di quello del distretto del negozio GRUPPO MARKETING TIPO (0,N) di (1,N) REPARTO Questa informazione è esprimibile sullo schema (1,N) (1,N) di fatto indicando tipouna per convergenza: categoria per la convergenza rappresenta un vincolo di integrità. La convergenza dieta riduce di il numero prezzo (0,1) unitario di pattern nel reticolo di roll-up: Il Pattern peso PRODOTTO { Negozio.DistrettoVendite.Stato, CATEGORIA data (0,N) (1,N) vendita SCONTRINO (1,N) quantità Negozio.Citta.Regione.Stato dimensione } da prodotto magazzino (1,N) ammette come eventi secondari indirizzo solo MAGAZZINO coppie di valori uguali: quindi nel reticolo di roll-up si considera solo {Stato } num. scontrino responsabile vendite (0,N) (1,N) in NEGOZIO in negozio (1,N) di num. distretto DISTRETTO VENDITA (1,N) di indirizzo in (1,N) regione STATO REGIONE (1,N) stato di di CITT telefono città (1,N) prodotta in In un pattern che contiene un attributo MARCA con condivisione o convergenza, per distinguere le due occorrenza marca occorre qualificare con Il percorso nella gerarchia (1,N) 32

Il DFM: costrutti avanzati distretto uso del num. chiamante distretto del numero chiamante distretto del numero chiamato uso del num. chiamato prodotto uso numero telefonico SPED IZIONE numero costo chiamante chiamato numero chiamante numero chiamato CHIAMATA numero durata ruolo CHIAMATA numero durata magazzino ordine da ta di sp edi zion e data c liente mese gerarchia condivisa ora data ora data anno mese mese città regione stato anno anno La gerarchia è sicuramente condivisa: il numero del chiamante deve essere diverso dal numero del chiamato È il numero di chiamate, mentre la durata è quella complessiva. 33

Condivisione: reticolo di roll-up Attributo CITTA condiviso ESAME FACOLTA STUDENTE CITTA Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE, FACOLTA_CITTA} 3. {FACOLTA, STUDENTE_CITTA } 4. {STUDENTE_CITTA, FACOLTA_CITTA} 5. {FACOLTA_CITTA} 6. {STUDENTE_CITTA} 7. {STUDENTE} 8. {FACOLTA } 9. {} (Per il reticolo: vedi pag. 18) STUDENTE Non ha senso considerare un pattern {CITTA} in quanto con la condivisione si rappresentano due citta: ESAME FACOLTA CITTA_ STUDENTE CITTA_ FACOLTA 34

Convergenza: reticolo di roll-up In caso di condivisione: ha senso considerare {CITTA} in quanto un esame non è associato univocamente ad un unica città Nel caso di convergenza ha senso considerare {CITTA} in quanto un esame è associato univocamente ad un unica città! ESAME STUDENTE CITTA Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE} 3. {FACOLTA } 4. {CITTA} 5. {} FACOLTA STUDENTE, FACOTA STUDENTE FACOLTA CITTA { } 35

Reticolo di roll-up: esempio Condivisione su CITTA: la città dello studente non coincide necessariamente con quella della facoltà Convergenza su STATO: lo stato (della città) dello studente coincide con lo stato (della città) della facoltà ESAME FACOLTA STUDENTE CITTA Per semplicità, del reticolo di roll-up si riportano solo i pattern, ma non le relazioni tra di loro STATO Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE, FACOLTA_CITTA} 3. {STUDENTE, FACOLTA_STATO} 4. {FACOLTA, STUDENTE_CITTA } 5. {FACOLTA, STUDENTE_STATO} 6. {STUDENTE_CITTA, FACOLTA_CITTA} 7. {STUDENTE_CITTA, FACOLTA_STATO} 8. {STUDENTE_STATO, FACOLTA_CITTA} 9. {FACOLTA_CITTA} 10. {STUDENTE_CITTA} 11. {STATO} 12. {} 36

Attributi cross-dimensionali: pattern Attributo cross-dimensionale ANNO (anno di iscrizione di uno studente ad una facoltà) ANNO ESAME STUDENTE FACOLTA Pattern: 1. {STUDENTE, FACOLTA } 2. {STUDENTE, ANNO} 3. {FACOLTA, ANNO } 4. {STUDENTE} 5. {FACOLTA} 6. {ANNO} 7. {} STUDENTE E equivalente allo schema di fatto con tre dimensioni e con dipendenza funzionale tra le dimensioni {STUDENTE,FACOLTA} ANNO che rende non significativo {STUDENTE,FACOLTA, ANNO} ANNO ESAME FACOLTA 37

Attributi cross-dimensionali: pattern LUSTRO Attributo cross-dimensionale ANNO (anno di iscrizione di uno studente ad una facoltà) Pattern: ANNO ESAME STUDENTE FACOLTA 1. {STUDENTE, FACOLTA } 2. {STUDENTE, ANNO} 3. {STUDENTE, LUSTRO} 4. {FACOLTA, ANNO } 5. {FACOLTA, LUSTRO} 6. {STUDENTE} 7. {FACOLTA} 8. {ANNO} 9. {LUSTRO} 10. {} E equivalente allo schema di fatto con tre dimensioni e con dipendenza funzionale tra le dimensioni {STUDENTE,FACOLTA} ANNO che rende non significativo {STUDENTE,FACOLTA, ANNO} LUSTRO ANNO ESAME STUDENTE FACOLTA 38

Archi e dimensioni opzionali Derivano da una cardinalità minima pari a zero nelle associazioni, ovvero da associazioni opzionali Arco Opzionale Prodotto Dieta Un Prodotto ha una sola Dieta; per alcuni prodotti la dieta è indefinita, ovvero assume un valore NULL A livello di analisi dei dati, normalmente tale valore NULL viene rappresentato con un valore significativo, quale NESSUNA DIETA Dimensione Opzionale Promozione Un evento primario è identificato dalle dimensioni; se una dimensione è opzionale alcuni eventi primari sono identificati solo dalle altre dimensioni: le vendite senza promozione sono identificate da prodotto-negozio-data e con un valore significativo per Promozione, es. NESSUNA PROMOZIONE L opzionalità si propaga ai discendenti nella gerarchia Gli eventi senza promozione non hanno sconto A livello di analisi dei dati, al valore NESSUNA PROMOZIONE faremo corrispondere NESSUN SCONTO per l attributo dimensionale sconto. 39

Copertura di un arco opzionale copertura di arco opzionale Prodotto (p,e) data c liente c odord LINEA D'ORD INE quantità importo data sc adenza taglia P-E tipo prodoto c odprod Alimentare data scadenza Abbigliamento taglia La proprietà di copertura influisce sul numero di eventi secondari ammissibili Il Pattern {Data scadenza, Taglia} in caso di copertura esclusiva non ammette eventi secondari 40

Arco Multiplo genere VENDITA autore libro numero incasso data mese anno arco multiplo Un arco multiplo corrisponde ad unassociazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore) Nellesempio si aggregano le vendite dei libri sulla base dei loro autori: un libro è scritto da più autori quindi non si può associare ad un unico autore Gli archi multipli verranno trattati a parte: in particolare si vedrà che per definire in modo consistente laggregazione anche per gli archi multipli sia a volte necessario definire un peso Intuitivamente, nell esempio delle vendite di un libro, il peso stabilisce la percentuale dell incasso di un libro che deve essere attribuita a ciascuno dei suoi autori Arco multiplo sulle dimensioni: verrà trattato a parte. 41

Dipendenze funzionali tra dimensioni Una DF tra le dimensioni si ha quando, dato linsieme delle dimensioni D, esistono due sottoinsiemi X ed Y di D tali che X Y. ogni misura M dipende solo da X, cioè X M Una DF tra le dimensioni rende il pattern primario P0 non significativo In questo caso lo schema di fatto F è equivalente, ovvero può essere semplificato in uno schema di fatto F con dimensioni X e con le restanti vecchie dimensioni in Y sono inclusi come attributi cross-dimensionali determinate da X Rappresentare gli attributi di Y come dimensioni è comunque più utile per dare maggiore risalto al loro ruolo nellaggregazione. 42

Il DFM: costrutti avanzati (riepilogo) nonaggregabilità anno trimestre mese giorno vacanza settimana respon sabile data peso capo reparto gruppo di marketing prodotto tipo VENDITA categoria marca dieta quantità venduta incasso num. clienti prezzo unitario (AV G) reparto città della marca respon sabile delle vendite distretto di vendita negozi o IVA attributo cross-dimensionale città del stato negozio regione indirizzo convergenza telefono IVA {Prodotto, Negozio} IVA! data inizio data fine costo promo zione pubblicità sconto dimensione opzionale 43