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
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Figura 5 - Malha <strong>de</strong> combinações possíveis para 3 atributos [Harinarayan1996]<br />
Consi<strong>de</strong>rando duas interrogações Q1 e Q2, diz-se que Q1 <strong>de</strong>pen<strong>de</strong> <strong>de</strong> Q2 se Q1 po<strong>de</strong> ser respondida<br />
usando apenas os resultados <strong>de</strong> Q2. Tomando a figura 5, a interrogação (peça) po<strong>de</strong> ser respondida<br />
usando os resultados da interrogação (peça, cliente); logo, a interrogação (peça) <strong>de</strong>pen<strong>de</strong> da<br />
interrogação (peça, cliente).<br />
Este trabalho introduziu também o mo<strong>de</strong>lo <strong>de</strong> custo linear (linear cost mo<strong>de</strong>l) para exprimir o custo <strong>de</strong><br />
uma <strong>de</strong>terminada interrogação. Segundo este mo<strong>de</strong>lo, o tempo necessário para respon<strong>de</strong>r a uma<br />
interrogação Q correspon<strong>de</strong> ao número <strong>de</strong> linhas existentes na tabela <strong>de</strong> dados e que são necessárias<br />
para respon<strong>de</strong>r à interrogação QA, previamente respondida e da qual a interrogação Q <strong>de</strong>pen<strong>de</strong>.<br />
2.4 Computação <strong>de</strong> agregados multidimensionais<br />
Tal como foi referido, a tarefa <strong>de</strong> computar um cubo correspon<strong>de</strong>, basicamente, a pré-computar e<br />
armazenar agregações <strong>de</strong> dados multidimensionais <strong>de</strong> maneira a que seja possível analisar<br />
imediatamente esses dados. Naturalmente, esta é uma tarefa que consome bastantes recursos a nível<br />
<strong>de</strong> tempo e espaço. Logo, o <strong>de</strong>sempenho é uma questão fulcral no que se refere à computação e<br />
representação do cubo, tendo sido <strong>de</strong>senvolvidos vários algoritmos para esta tarefa.<br />
Segundo [Gray1997], as funções <strong>de</strong> agregação po<strong>de</strong>m ser classificados em três categorias:<br />
Funções distributivas <strong>–</strong> a função F( ) é consi<strong>de</strong>rada distributiva se existir uma função G( ) tal que<br />
F({Xi,j}) = G({F({Xi,j | i = 1, ..., I}) |j = 1, ..., J}); como exemplos, temos as funções COUNT( ),<br />
MIN( ), MAX( ) e SUM( ).<br />
Funções algébricas <strong>–</strong> a função F( ) é consi<strong>de</strong>rada algébrica se existir um tuplo <strong>de</strong> or<strong>de</strong>m M <strong>de</strong><br />
valores <strong>de</strong> uma função G( ) e uma função H( ) tal que F({Xi,j}) = H({G({Xi,j | i = 1, ..., I}) | j = 1, ...,<br />
J}); como exemplos, temos a função AVG().<br />
Funções holísticas <strong>–</strong> uma função F( ) é consi<strong>de</strong>rada holística se não existir uma constante M tal<br />
que caracterize a computação F({Xi,j | i = 1, ..., I}); como exemplo, temos a mediana ou a moda.<br />
No que se refere às funções holísticas, a forma mais eficiente <strong>de</strong> computar agregados <strong>de</strong>ste tipo <strong>de</strong><br />
funções é o recurso ao algoritmo 2 N [Gray1997]. Este algoritmo começa por reservar um apontador<br />
22