ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa
ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa
ISCTE – ESCOLA DE GESTÃO - Universidade Técnica de Lisboa
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Tabela 7 - Cross table para as vendas da marca Chevy adaptado <strong>de</strong> [Gray1997]<br />
Chevy 1994 1995 Total (ALL)<br />
Chevy ALL Preto 135<br />
Chevy ALL Branco 155<br />
Total (ALL) 90 200 290<br />
Esta pequena <strong>de</strong>monstração é suficiente para mostrar que, apesar do uso <strong>de</strong> group-by e union resolver o<br />
problema <strong>de</strong> calcular os agregados, a forma como isso é conseguido não é eficiente em termos <strong>de</strong><br />
tempo e gera representações <strong>de</strong> díficil análise. Com efeito, exprimir histogramas, roll-ups, drill-downs e<br />
cross tables recorrendo a SQL convencional não é imediato e trivial: uma cross table 6D requer a<br />
realização da operação union <strong>de</strong> 64 formas diferentes para 64 group-bys diferentes e continua a não ser<br />
realmente um objecto relacional [Gray1997].<br />
Em 1996, Gray et al propuseram o operador DATA CUBE ou, mais simplemente, CUBE, capaz <strong>de</strong><br />
computar agregados sobre todas as combinações possíveis <strong>de</strong> atributos para um conjunto <strong>de</strong><br />
dimensões. Basicamente, o operador CUBE é uma generalização n-dimensional das funções <strong>de</strong><br />
agregação básicas <strong>de</strong> SQL, tal como mostra a figura 4 [Gray1997].<br />
Figura 4 - Operador CUBE para cubos 0D, 1D, 2D e 3D [Gray1997]<br />
20