L’esempio contenuto in questa pagina è collegato alla guida: Sistemi Informativi e Data Warehouse, pertanto se ne consiglia la lettura.

Dopo il primo esempio (Sistemi Informativi – 01 Progettazione Concettuale) riproponiamo la conversione di uno schema relazione, in questo caso rappresentante il database di un’agenzia immobiliare, in un Diagramma ER, in uno schema di tipo Dimensional Fact Model e successivamente in uno Schema a Stella.

All’interno di questo schema le entità coinvolte sono:

  • PROPRIETARIO, contenente gli attributi: Identificativo, Nome, Cognome, Indirizzo, Citta’, Telefono;
  • PROPRIETA’, contenente gli attributi: Identificativo, PROPRIETARIO:Identificativo, Categoria, Citta’, Provincia, Stanze, Letti, Dimensioni;
  • ACQUIRENTE, contenente gli attributi: Identificativo, Nome, Cognome, Budget, Indirizzo, Citta’, Telefono;
  • AGENTE, contenente gli attributi: Identificativo, Nome, Cognome, Ufficio, Indirizzo, Citta’, Telefono;
  • VISITA, contenente gli attributi: PROPRIETA’:Identificativo, AGENTE:Identificativo, ACQUIRENTE:Identificativo, Data, Durata.
  • VENDITA, contenente gli attributi: PROPRIETA’:Identificativo, AGENTE:Identificativo, ACQUIRENTE:Identificativo, PROPRIETARIO:Identificativo, Prezzo_offerta, Prezzo_vendita, Stato.

Gli attributi chiave per ogni entità sono stati sottolineati (ad esempio: Attributo_chiave), gli attributi che sono chiavi esterne sono preceduti dall’entità a cui appartengono (esempio: ENTITA’:Attributo).

Definizione del Diagramma ER

La richiesta è quella di convertire lo schema relazionale in un Diagramma ER (Per maggiori informazioni si veda: Guida al Modello ER), iniziamo creando i box per le entità fondamentali e successivamente collegandole tra loro per mezzo delle relazioni.

Le cardinalità non ricavabili dallo schema relazionale sono state dedotte a logica.

Sistemi Informativi Esempio - Schema ER
Sistemi Informativi Esempio – Schema ER

Definizione del DFM

Rispondiamo ora alla seconda richiesta, convertire il Diagramma ER in un Dimensional Fact Model (gli abbiamo definiti nella guida: Sistemi Informativi e Data Warehouse) da utilizzare per la progettazione di un data warehouse. Concentriamoci sulla traduzione delle relazioni “VISITA” e “VENDITA”.

Elenchiamo le caratteristiche del fatto “VISITA”, esso comprende alcuni attributi dimensionali:

  • Agente, l’incaricato della gestione della visita;
  • Cliente, la persona che ha compiuto la visita;
  • Proprietà, la casa che è stata visitata;
  • Data, la data in cui si è svolta la visita;

Inoltre, il fatto “VISITA” gode della misura Durata.

Il fatto “VENDITA” comprendere invece gli attributi:

  • Agente, l’incaricato della vendita;
  • Cliente, la persona che ha acquistato la casa;
  • Proprietario, la persona a cui apparteneva la casa che è stata venduta;
  • Proprietà, la casa che è stata venduta;

Le misure interessanti dal punto di vista dell’analisi sono:

  • Prezzo_offerta, l’offerta iniziale dell’acquirente;
  • Prezzo_vendita, il prezzo a cui è stata venduta la casa;
  • Stato, lo stato della trattativa.

Di seguito vediamo il Dimensional Fact Model originato a partire dal Diagramma ER. Quello presentato in seguito è un DFM estremamente semplificato, non sono presenti attributi descrittivi, archi opzionali o multipli, né esempi di gerarchie. Le misure che sono state scelte per i fatti sono state dedotte dall’analisi del diagramma scegliendo gli attributi più utili per un eventuale analisi.

Sistemi Informativi Esempio - Dimensional Fact Model
Sistemi Informativi Esempio – Dimensional Fact Model

Definizione dello Schema a Stella

Rispondiamo infine alla terza richiesta: convertire lo schema concettuale appena definita in uno Schema a Stella (Star Schema) da utilizzare per la realizzazione del data warehouse. Abbiamo parlato degli Schemi a Stella all’interno del capitolo dedicato alla progettazione logica dei data warehouse nella guida: Sistemi Informativi e Data Warehouse.

Durante la trasformazione (dal DFM allo Schema a Stella) le dimensioni del fatto vengono trasformate in Dimensional Table (si veda ad esempio: Proprietà, Proprietario, Acquirente e Agente), mentre i fatti vengono trasformati in Fact Table. Ogni Dimensional Table disporrà di un attributo chiave che sarà referenziato all’interno della Fact Table a cui è collegato.

Sistemi Informativi Esempio - Star Schema
Sistemi Informativi Esempio – Star Schema
Il primo esempio di conversione di un Diagramma ER in un DFM è disponibile a questo indirizzo: Esempio di progettazione concettuale