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.
que faria com que cada ponto (x, y) passasse a representar o valor agregado <strong>de</strong> vendas para o ano x na<br />
cida<strong>de</strong> y.<br />
Além das mencionadas acima, existem outras operações OLAP oferecidas em sistemas comerciais, tais<br />
como o drill-through ou o drill-cross, que resultam da combinação <strong>de</strong> algumas das operações anteriores.<br />
2.2 O operador DATA CUBE<br />
Os utilizadores típicos <strong>de</strong> sistemas <strong>de</strong> apoio à <strong>de</strong>cisão estão mais interessados em extrair informação<br />
dos dados do que propriamente em visualizá-los, o que faz com que as interrogações que realizam<br />
exijam agregação dos dados, na maior parte dos casos sobre várias dimensões. O uso das funções <strong>de</strong><br />
agregação existentes no SQL (group-by e union) traz alguns problemas que serviram <strong>de</strong> motivação para<br />
a concepção do operador DATA CUBE, <strong>de</strong>stacando-se <strong>de</strong>sses problemas o cálculo <strong>de</strong> totais para<br />
operações <strong>de</strong> roll-up e <strong>de</strong> subtotais para operações <strong>de</strong> drill-down. A apresentação <strong>de</strong> resultados sob a<br />
forma <strong>de</strong> cross-tables, que são tabelas que expressam a relação entre os valores apresentados nas<br />
linhas e os valores apresentados nas colunas, também não é facilitada recorrendo às funções <strong>de</strong><br />
agregação nativas <strong>de</strong> SQL, uma vez que estas tabelas mostram o resultado <strong>de</strong> várias operações, como<br />
o total, o total das colunas e o total das linhas [Gray1997]. A tabela 3 mostra uma organização típica dos<br />
dados numa aplicação OLAP, em que os agregados são cada vez mais finos e em cada nível é gerado<br />
um subtotal.<br />
Tabela 3 <strong>–</strong> Roll-up das vendas por mo<strong>de</strong>lo, ano e cor adaptado <strong>de</strong> [Gray1997]<br />
Marca Ano Cor<br />
Vendas<br />
por mo<strong>de</strong>lo<br />
por ano por cor<br />
Chevy 1994 Preto 50<br />
Branco 40<br />
1995 Preto 85<br />
Branco 115<br />
Vendas<br />
por mo<strong>de</strong>lo<br />
por ano<br />
90<br />
Vendas<br />
por<br />
mo<strong>de</strong>lo<br />
Porém, a representação <strong>de</strong>sta tabela não é relacional visto que existem células vazias, inviabilizando<br />
assim a hipótese <strong>de</strong> funcionarem como i<strong>de</strong>ntificadores unívocos (chaves). Para obviar este problema,<br />
Chris Date recomendou a criação <strong>de</strong> 2 n colunas <strong>de</strong> agregação para um roll-up <strong>de</strong> n elementos<br />
[Gray1997], obtendo-se assim a tabela 4.<br />
200<br />
290<br />
18