Cubo OLAP: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(39 versioni intermedie di 29 utenti non mostrate) | |||
Riga 1:
{{F|basi di dati|marzo 2011}}
[[File:OLAP Cube.png|thumb|right|Cubo OLAP]]
Un '''Cubo OLAP''' è una struttura per la memorizzazione di dati che che permette di eseguire analisi in tempi rapidi, superando un limite dei [[database relazionale|database relazionali]]. ▼
▲Un '''Cubo OLAP''' (OnLine Analytical Processing) è una struttura per la memorizzazione di dati
I database relazionali non sono adatti ad elaborazioni istantanee e alla visualizzazione di una grande mole di dati. Al contrario, sono adatti all'elaborazione di record derivanti dall'esecuzione di transazioni note come [[OLTP]].
Il Cubo OLAP può essere immaginato
Ad esempio, una società può essere interessata ad analizzare alcuni dati finanziari per prodotto, ==Funzionalità==
Il Cubo OLAP è composto da dati numerici, detti misure, che sono
Consente di creare una reportistica come tabella pivot, l'inserimento di elementi e campi calcolati che rielaborano i dati di partenza, e operazioni di ''[[roll-up]]'' e ''[[drill-down]]'', se le dimensioni sono organizzate all'interno di una gerarchia.
Lo schema dei [[metadato|metadati]] del Cubo OLAP può essere creato a partire da uno [[schema a stella]] oppure da un insieme di tabelle di un database relazionale. Le misure sono ricavate dai singoli record presenti nella tabella dei fatti dello schema a stella, e le dimensioni sono dedotte dalle dimensioni delle singole tabelle.
Ad esempio i dati finanziari possono essere aggregati per prodotto, località, data, tipologia di costo e ricavo, dato preventivo/consuntivo. Lo schema a stella avrà una tabella per ogni dimensione di analisi contenente i valori ammissibili (il dominio della variabile): una tabella con tutti i prodotti, una con tutte le tipologie di costo o ricavo, etc.
Le dimensioni di analisi sono tra loro indipendenti, per cui in un database relazionale le tabelle relative alle dimensioni di analisi sono collegate da relazioni molti-a-molti. Il dato numerico è un attributo della relazione fra queste tabelle.
Nello schema a stella, infine, alle tabelle relative alle dimensioni di analisi se ne aggiunge una centrale, detta dei fatti. Il cubo OLAP è composto da una sola tabella di n + 1 colonne, dove ogni numero è identificato da un valore per ogni dimensione di analisi.
Nell'esempio, il dato di costo/ricavo in euro sarà identificato dal codice di un prodotto, dal nome di una località, da una data, da una tipologia, da una sigla che indica se è preventivo o consuntivo. Il cubo OLAP sarà un'enorme tabella con 5 dimensioni di analisi + 1 colonna per la memorizzazione del dato numerico.
Chiaramente, il database relazionale può contenere più di un dato numerico, e il passaggio a uno schema a stella può rivelarsi non banale.
▲Lo schema dei [[metadato|metadati]] del Cubo OLAP può essere creato a partire da uno schema a stella oppure da un insieme di tabelle di un database relazionale. Le misure sono ricavate dai singoli record presenti nella tabella dei fatti dello schema stella, e le dimensioni sono dedotte dalle dimensioni delle singole tabelle.
==Gerarchia==
Ciascuno degli elementi di una certa dimensione
Ad esempio, maggio 2005 può appartenere alla gerarchia del Secondo Quadrimestre 2005, che a sua volta è contenuta nella gerarchia dell'Anno 2005.
==Tabelle pivot==
La [[tabella pivot]] è la reportistica che risulta da una [[query]] OLAP elaborata su dati organizzati all'interno di un ipercubo OLAP.
La sorgente dei dati della tabella pivot è una sola, la tabella dei fatti che contiene il dato numerico presente nella tabella pivot e le dimensioni di analisi che lo identificano.
==Definizione tecnica==
Per la teoria delle basi di dati, un cubo OLAP è una rappresentazione astratta della proiezione di un database relazionale. Data una relazione di cardinalità N, si consideri la proiezione delle variabili X, Y e Z come [[chiave primaria]], e di W come attributo residuo. Si caratterizzino questi come una funzione
:''f'' : (''X'',''Y'',''Z'') → ''W'',
dove gli attributi ''X'', ''Y'', e ''Z'' corrispondono agli assi del cubo, mentre l'attributo ''W'' all'interno della tripla ''( X, Y, Z )'' corrisponde ai singoli dati che popolano ciascuna cella del cubo.
Poiché un output bidimensionale (riga e colonna) non può rappresentare un vettore a tre dimensioni, è più pratico operare una riduzione delle dimensioni del cubo, e limitarsi a proiettare dei "tagli" del cubo, fissato come costanti uno o più valori di almeno delle sue dimensioni, o di un numero di dimensioni pari a n-2. Per cui, si ottiene:
:''g'' : (''X'',''Y'') → ''W'',
che elimina una delle chiavi primarie, ma mantiene la stessa informazione e significatività, sebbene fornisca la rappresentazione per un dato valore della variabile ''Z''.
==Voci correlate==
*[[OLAP]]
*[[Dicing]]
{{portale|informatica}}
[[Categoria:Teoria delle basi di dati]]
[[Categoria:Online Analytical Processing]]
|