2010-08-24 9 views
6

Ho bisogno di un processo mentale per la progettazione di un database OLAP ...Come si progetta un database OLAP?

Essenzialmente per lo standard relazionale che sarebbe (vagamente):

Identify Entities 
Identify Relationships 
Identify Properties of Entities 

Per ogni proprietà:

Ensure property can be related to only one entity 
Ensure property is directly related to entity 

Per Database OLAP, capisco la terminologia, la motivazione e la struttura; tuttavia, non ho idea di come decomporre il mio modello relazionale in un modello OLAP.

risposta

8

Identifica dimensioni (o By) Queste sono tutte le informazioni che potresti voler analizzare/raggruppare il tuo rapporto per. Ogni tabella nel database di origine è una dimensione potenziale. Le dimensioni devono essere gerarchiche se possibile, ad es. la tua dimensione Data dovrebbe avere una gerarchia di anno, mese, giorno, Analogamente la posizione dovrebbe avere per esempio la gerarchia Paese, Regione, Città. Ciò consentirà al tuo strumento OLAP di calcolare in modo più efficiente le aggregazioni.

Identifica misure Questi sono i KPI o le informazioni numeriche effettive che il client desidera vedere, di solito sono in grado di essere aggregati, pertanto qualsiasi campo numerico non chiave, non chiave nel database di origine è una misura potenziale.

Disporre nello schema a stella, con Misure nella tabella "Fatto" centrale e nelle relazioni FK alle tabelle di dimensioni applicabili. Le misure devono essere archiviate al livello di gerarchia di dimensioni più basso.

Identificare il "Grano" della tabella dei fatti, questo è essenzialmente il "livello di dettaglio" mantenuto. Di solito è determinato dai requisiti di reporting, dalla granularità dei dati disponibile nei requisiti di origine e di prestazioni della soluzione di reporting. È possibile identificare la grana mentre si procede, oppure è possibile avvicinarla come passaggio finale una volta identificati tutti i dati importanti . Tendo ad avere un ultimo passaggio per garantire che il grano sia coerente tra le mie tabelle dei fatti.

Il passaggio finale è l'identificazione delle dimensioni che cambiano lentamente e dei requisiti per queste. Ad esempio, se la dimensione del cliente include un elemento del suo indirizzo e si spostano, come gestirlo.

+0

Cosa sono "By's"? –

+3

Qualsiasi cosa tu voglia raggruppare o analizzare i tuoi dati "BY", gergo davvero ... – stevenrcfox

+0

Anche i campi non numerici possono essere aggregati con la funzione count, giusto? – dpp

3

Un punto importante per identificare le dimensioni e le misure è la cardinalità finale che si sta eleggendo per il modello. Supponiamo che l'immissione dei dati del database relazionale sia durante tutto il giorno. Forse non hai bisogno di visualizzare o aggregare le misure per ora, anche di giorno. Puoi scegliere una settimana di granularità o mensile, ecc.

+1

Grazie, Questo è un punto utile che non ho incluso nella mia risposta. – stevenrcfox

Problemi correlati