Beruflich Dokumente
Kultur Dokumente
Nesta segunda parte do artigo vamos modelar um data warehouse ou um data mart que atenda estas necessidades
utilizando a modelagem dimensional ou multidimensional. Este tipo de modelagem segue a chamada escola Ralph
Kimball, introdutor do conceito do star schema, um esquema bastante utilizado para a modelagem de bases de
dados de suporte deciso. Apesar de ser o mais conhecido, o star schema no o nico. Existem uma srie de
variaes incluindo uma opo normalizada deste esquema, o snowflake, que tambm iremos discutir neste artigo.
Assim, de posse das informaes relevantes para o entendimento das necessidades do negcio, iniciaremos a
modelagem da base de dados. A Figura 1 mostra, de forma bem simplificada, a representao das informaes
que iremos modelar. Estas informaes foram definidas durante o primeiro artigo desta srie, publicado na edio
passada, onde foram apresentadas as necessidades gerenciais de uma empresa que atua na rea comercial.
1/3
Figura 1.
As tabelas de dimenso
A principal funo de uma tabela de dimenso reunir os atributos que sero utilizados para qualificar as consultas
e cujos valores sero utilizados para agrupar e sumariar as mtricas (ou fatos). Ou seja, as tabelas dimenso
contm atributos textuais que funcionam como filtros para as consultas do usurio.
Os atributos de uma dimenso podem compor uma hierarquia ou serem apenas descritivos. Em nosso exemplo, a
dimenso Produto contm uma hierarquia composta pelos atributos item, linha e categoria, indicando que os itens
de produto esto agrupados em linhas de produto, que por sua vez esto agrupadas em categorias de produto. Isto
ser bastante til, posteriormente, durante a anlise de informaes pelo usurio. Podemos tambm incluir uma
srie de outros atributos descritivos que no faam, necessariamente, parte desta hierarquia, como o tipo de
empacotamento (caixas com 12 unidades etc.), peso e outros que sejam relevantes para o processo de anlise.
Ralph Kimball sugere que as tabelas de dimenses possuam o maior nmero possvel de atributos textuais para
enriquecer o modelo de dados e, por conseqncia, as possibilidades de anlise de informaes. Podem existir,
inclusive, vrias hierarquias diferentes na mesma dimenso. Neste caso, porm, nomes de atributos e seus valores
devem ser exclusivos para cada uma delas.
Gostaramos de destacar que devem ser avaliados e escolhidos os atributos que sejam importantes para a anlise.
O data warehouse/data mart no deve ser confundindo com um grande cadastro de informaes, muitas vezes
repleto de dados no utilizados pelos usurios.
Um atributo muito importante da tabela dimenso sua chave. A chave primria de uma tabela dimenso deve ser
sempre um atributo nico e definido pelo sistema com um valor genrico, inteiros atribudos seqencialmente. Por
questes de desempenho, no se utilizam chaves compostas por vrias partes, nem tampouco chaves
concatenadas. A ordem aqui a da simplicidade, para facilitar o acesso aos grandes volumes de dados
armazenados. As chaves sero utilizadas apenas para possibilitar a juno de tabelas entre uma tabela dimenso
e a tabela fato (que ser o prximo tpico a ser discutido). Tambm no so utilizados as chaves ou identificadores
2/3
provenientes de outros sistemas, como cdigo do cliente ou cdigo do produto.
Existem vrias razes para se utilizar chaves genricas, tambm chamadas de artificiais, substitutas ou surrogate
keys. De acordo com Ralph Kimbal, uma das razes que o data warehouse deve se manter isolado das regras
operacionais para gerar, atualizar, excluir, reciclar e reutilizar os cdigos utilizados nos sistemas transacionais. O
data warehouse manter as informaes durante muito tempo (normalmente vrios anos) e no pode ficar
vulnervel a problemas de sobreposio de chaves, no caso de aquisio ou consolidao de dados. Outra razo
o melhor desempenho no acesso s informaes. Muitas vezes, o cdigo utilizado em um sistema transacional
um string de caracteres alfanumricos que apresentam desempenho pior nas operaes de acesso base de
dados do que as chaves genricas, que utilizam o menor inteiro possvel.
Existe uma outra razo importante para o uso das chaves genricas. Em caso de alteraes de atributos nos
sistemas transacionais, as chaves genricas sero a base para se manter o histrico destas alteraes no data
warehouse. O tratamento das alteraes de valores da dimenso um tpico complexo, que Ralph Kimball chama
de Slowly Changing Dimensions ou dimenses que mudam lentamente e dever ser tratado em outro artigo.
Isto no significa que no se pode incluir, por exemplo, o cdigo do produto utilizado nos sistemas transacionais,
normalmente bastante conhecido dos usurios. Se for bastante conhecido pelos usurios, este cdigo pode ser um
dos atributos textuais da dimenso Produto, favorecendo a anlise das informaes, mas, no deve ser a chave
primria da dimenso, nem fazer parte da chave.
Em nosso exemplo, para a dimenso Produto, o primeiro registro da dimenso recebe chave com o valor 1, o
segundo recebe chave com valor 2 e assim por diante. O mesmo ocorrer para as outras dimenses. A Tabela 1
apresenta o detalhe da dimenso Produto em nosso exemplo. A Tabela 2 apresenta o detalhe da dimenso Tempo
e a Tabela 3, da dimenso Geografia.
3/3