Escolar Documentos
Profissional Documentos
Cultura Documentos
Banca Avaliadora
Presidente Prof. Moacir de Souza Prado
_______________________________
Prof. Dr. Marcelo Saraiva Limeira
Orientador Acadêmico
______________________________________
Prof. Dr.Márcio Magini
Coordenador da Disciplina de TCC
Data:
Resumo
1. Introdução
1.1 Antecedentes........................................................................................ 1
1.2 Descrição do Problema......................................................................... 4
1.3 Objetivo................................................................................................ 5
1.4 Restrições............................................................................................. 6
1.5 Organização do Trabalho...................................................................... 6
2. Embasamento teórico
2.1 Conceitos Básicos................................................................................. 7
2.1.1 Modelos de dados Relacional...................................................... 7
2.1.2 Sistemas OLTP............................................................................ 11
2.1.3 DataWarehouse........................................................................... 12
2.1.4 Data Warehouse versus dados operacionais................................ 15
2.1.5 Modelo de dados Dimensional.................................................... 16
2.1.5.1 Dimensões e Fatos........................................................... 17
2.1.5.2 Esquemas do tipo Estrela e Floco de Neve...................... 18
2.1.6 Características do Data Warehouse............................................ 21
2.1.6.1 Granularidade................................................................... 25
2.1.7 Data Marts.................................................................................. 27
2.1.8 Data Warehouses versus Data Marts.......................................... 29
2.1.9 Arquiteturas de um Data Warehouse.......................................... 31
2.1.10 Metadados................................................................................ 35
2.2 Metodologia......................................................................................... 37
2.2.1 Sistemas OLAP........................................................................... 38
3. Desenvolvimento
3.1 Especificação do Sistema…………………………………………….. 41
3.2 Projeto Preliminar……………………………………………………. 42
3.2.1 Base de Dados………………………………………………….. 42
3.2.2 Implementando Dimensões…………………………………….. 45
3.2.2.1 Níveis de Dimensões…………………………………… 47
3.2.3 Implementando o Cubo………………………………………… 48
3.2.3.1 Medidas……………………………………………….... 49
3.2.3.2 Processamento do Cubo………………………………... 49
4. Resultados
3.1 Validação…………………………………………………………….. 51
5. Conclusões …………………………………………………………….... 55
Índice de Figuras
BI Business Intelligence
OLAP Online Analytical Processing
OLTP Online Transaction Processing
DW Data Warehouse
SQL Structure Query Language
SGDB Sistema de Gerenciamento de Banco de dados
SSAS SQL Server Analysis Services
GUI Graphical User Interface
SAD Sistemas de Apoio à Decisão
ER Entidade Relacionamento
ODBC Open Data Base Connectivity
1
Capítulo 1
Introdução
1.1 Antecedentes
Antecipar mudanças.
Antecipar ações.
Descobrir novos potenciais.
Aprender com os sucessos e as falhas dos outros.
Conhecer novas tecnologias, produtos ou processos que tenham impacto no
negócio.
Conhecer sobre mudanças regulamentais que possam afetar o negócio.
Rever as próprias práticas.
Auxiliar na implementação de novas ferramentas gerenciais.
4
1.3 Objetivo
1.4 Restrições
Capítulo 2
Embasamento Teórico
Uma tabela que cumpra estes requisitos pode-se considerar equivalente a uma
relação. Estas tabelas, de tipo especial, poderão receber a designação de R-tabelas. Uma
base de dados relacional é composta por um conjunto de tabelas deste tipo muito
particular.
Um modelo de dados relacional é um conjunto de esquemas de relações sujeitos
a um conjunto de restrições de integridade. Há três tipos de restrições de integridade que
se especificam sobre os modelos de dados relacionais: a chave de uma relação, a
integridade da tabela, a integridade referencial. As regras ou restrições de integridade
10
chave primária nunca pode ser nula. Se a chave for composta nenhum dos seus
elementos pode ter o valor nulo, o cumprimento desta regra assegura que é sempre
possível identificar cada um das tuplas de uma relação.
Segundo Date [7], um banco de dados relacional é um banco de dados percebido
por seus usuários como uma coleção de “RelVars” ou de modo mais informal, tabelas.
Um sistema relacional é um sistema que admite bancos de dados relacionais e operações
sobre esses bancos de dados, incluindo em particular as operações de restrição, projeção
e junção. Essas operações, e outras semelhantes a elas, são conhecidas coletivamente
como álgebra relacional, e todas elas são operações em nível de conjunto. A
propriedade de fechamento dos sistemas relacionais significa que a saída de toda
operação é do mesmo tipo de objeto que a entrada (são todas as relações), o que
significa que podemos escrever expressões relacionais aninhadas. As RelVars podem
ser atualizadas por meio da operação de atribuição relacional. As operações conhecidas
de atualização INSERT, UPDATE e DELETE podem ser consideradas atalhos para
certas atribuições relacionais comuns.
A teoria formal em que se baseiam os relacionais é chamada modelo relacional
de dados. O modelo relacional trata apenas de questões lógicas, não de questões físicas.
Ele está relacionado com três aspectos principais dos dados: a estrutura de dados, a
integridade de dados e manipulação de dados. O aspecto estrutural tem a ver com as
relações propriamente ditas; o aspecto de integridade está relacionado com “chaves
primárias” e “chaves estrangeiras”; e o aspecto manipulativo tem a ver com os
operadores (de restrição, projeção, junção etc). O princípio da informação estabelece
que todo o conteúdo de informação de um banco de dados relacional é representado de
um e somente um modo, especificamente sob a forma de valores explícitos em posições
de colunas nas linhas das relações. As únicas variáveis permitidas em um banco de
dados relacional são, especificamente, RelVars (Variáveis Relacionais).
O Data Warehouse é construído para responder questões que não estão limitadas
às transações individuais, porém tratam do processo como um todo. Para isso, o desenho
do Data Warehouse deve refletir a forma com que os especialistas enxergam o negócio e
este é o ponto chave que distingue um Data Warehouse de um sistema OLTP.
13
Não volatilidade: Significa que o Data Warehouse permite apenas a carga inicial
dos dados e consultas a estes dados. Após serem integrados e transformados, os
dados são carregados em bloco para o Data Warehouse, para que estejam
disponíveis aos usuários para acesso. No ambiente operacional, ao contrário, os
dados são, em geral, atualizados registro a registro, em múltiplas transações.
Esta volatilidade requer um trabalho considerável para assegurar integridade e
consistência através de atividades de rollback, recuperação de falhas, commits e
bloqueios. A figura 5 mostra que o Data Warehouse não requer este grau de
controle típico dos sistemas orientados a transações.
Não volátil
Incluir
Excluir Carregar
Alterar Acessar
Acessar
Inmon [11] afirma que antes dos dados serem inseridos no Data Warehouse, eles
sempre passam por filtros. Com isso muitos deles jamais saem do ambiente
transacional. A maior parte dos dados é física e radicalmente alterada quando passa a
fazer parte do Data Warehouse. Dificilmente ocorre a redundância de dados entre os
dois ambientes, resultando em menos de 1 por cento de duplicações.
De acordo com Takai [10], a localização dos dados pode estar fisicamente
armazenada de três formas:
24
2.1.6.1 Granularidade
usuário final, pois com o Data Mart é possível fatiar e agrupar dados de diversas
maneiras.
Data Mart (DM) é um subconjunto do Data Warehouse, direcionado a um
departamento ou área de negócio. Para Kimball [12], o conjunto de todos os Data Marts
da organização, construídos de forma incremental, compartilhando Dimensões e Fatos
comuns, segundo um planejamento prévio, formam o Data Warehouse lógico da
organização.
O DM é uma coleção de assuntos de uma determinada área, baseado nas
necessidades de um departamento ou setor de uma empresa. Por exemplo, uma empresa
terá um DM para o departamento financeiro e outro para o departamento de marketing.
Normalmente, todos os DM possuem hardware, software, dados e programas
próprios. Esta característica de independência torna difícil o controle e coordenação dos
dados localizados em DM diferentes. Devido a esta dificuldade, torna-se necessário a
elaboração de um DM que trabalhe como um grande centralizador, ou de uma
ferramenta que permita centralizar os dados distribuídos pelos diferentes DM. De
acordo com Inmon [11] segue algumas características de um Data Mart:
DM Dependente DM Independente
Fonte de dados é o Data Warehouse. Fonte de dados são os sistemas
operativos do ambiente operativo.
Carga centralizada. Todos os DM são Carga descentralizada. Cada DM é
atualizados pela mesma fonte. atualizado de forma separada e
exclusiva a partir do ambiente
operativo.
Arquitetura de fácil crescimento. Difícil aproveitamento dos dados
existentes. A arquitetura dificulta o
crescimento.
De acordo com Mark [15], os Data Warehouses podem ser vistos como sendo
semelhantes aos clubes de Warehouse no atacado. Eles contêm um grande inventário de
itens, mas não parecem especializar-se em uma área em particular. Os Data Marts são
como lojas de produtos especializados, como uma cafeteria ou uma padaria. Eles só
negociam café ou pães e os empacotarão em uma forma conhecida e esperada.
Um Data Mart e um Data Warehouse tendem a implicar a existência um do
outro. É largamente entendido que o projeto do Data Mart inicia a partir dos requisitos
do usuário. O projeto do Data Warehouse normalmente começa a partir da análise de
dados existentes atualmente e da maneira como pode ser coletado para ser utilizado
mais tarde.
Um Data Warehouse é uma agregação central de dados. Um Data Mart pode ser
derivado de um Data Warehouse ou o Data Warehouse pode ser derivado de Data Marts
menores especializados. O Data Mart enfatiza facilidade de acesso e capacidade de
utilização para um propósito particular de projeto. Em geral, um Data Warehouse tende
a ser estratégico mas freqüentemente incompleto; um Data Mart tende a ser tático e
dirigido para atender uma necessidade imediata. A tabela 3 resume algumas diferenças
chave entre Warehouses e Marts.
30
Reconhece-se que não existe uma arquitetura correta para o Data Warehouse.
Para algumas organizações pode ser atrativo utilizar a arquitetura em duas camadas, por
que ela minimiza o custo e a complexidade de construção do Data Warehouse. Para
outras que requerem grande desempenho e escalabilidade, a arquitetura em três camadas
pode ser mais apropriada. No planejamento do Data Warehouse, as organizações devem
examinar as alternativas disponíveis de arquiteturas e selecionar aquela que satisfaça os
seu requisitos estratégicos e organizacionais.
2.1.10 Metadados
Metadados são uma abstração dos dados, e permite que os dados armazenados
em vários formatos tenham um determinado significado. Eles descrevem ou qualificam
outro dado, incorporando, a este, um significado. Sem metadado, a informação se
restringe a um conjunto de dados sem significado.
Com a utilização de metadados é possível avaliar o impacto das mudanças nos
sistemas transacionais. Consequentemente a manutenção desses sistemas se torna menos
complexa. Assim, os metadados assistem o processo de construção e manutenção do
Data Warehouse.
O processo de construção de um Data Warehouse é constituído de várias tarefas,
onde a extração de dados é uma delas. Assim, a integração de todos os dados exige o
conhecimento dos seus significados, estruturas, locais de armazenamento e sistemas que
os mantêm atualizados. Os metadados devem possuir todo esse conhecimento.
A carência de metadados integrados, competentes em descrever os dados
totalmente, dificulta ainda mais a integração e o compartilhamento dos dados nas
empresas.
Os metadados assumem um papel de extrema importância no processo de
transformação dos dados, pois através deles, serão armazenadas as lógicas das
transformações e os mapeamentos entre os dados dos sistemas transacionais e aqueles
mantidos no Data Warehouse.
Dentre as funções dos metadados relacionadas por Singh [13], pode-se destacar
as seguintes:
2.2 Metodologia
Existem divisões dentro da OLAP, usadas de acordo com o banco de dados a ser
explorado. A ROLAP (OLAP relacional) é ligada aos conceitos básicos de Banco de
Dados Relacionais para a análise dos dados, transformando consultas em rotinas SQL
padrão. A partir dela, o usuário recebe resultados cruzados de tabelas em forma de
planilha multidimensional ou de outra forma que suporte a rotação, Drill-down e
manipulação. A MOLAP (OLAP multidimensional) difere da ROLAP no
armazenamento dos dados. Na MOLAP os dados são processados a partir de um
servidor multidimensional, onde o acesso aos dados ocorre diretamente no banco de
dados. Através dela o usuário trabalha, monta e manipula os dados diretamente no
servidor, o que traz benefícios com relação à performance que os usuários podem
atingir, mas é uma modelagem mais cara para a aquisição, por ser elaborada para um
Banco de Dados Multidimensional. Existe também a HOLAP (OLAP híbrido), que
consiste de uma mistura das tecnologias usadas na ROLAP e na MOLAP. Nela os dados
de agregação, isto é, dados de baixo nível da tabela de fatos que são resumidos e
armazenados em tabelas intermediárias para agilizar as consultas, são armazenados em
MOLAP, enquanto que os dados de base são armazenados no Banco de Dados
Relacional. Então, em consultas que utilizam resumos, a HOLAP é análoga ao MOLAP,
enquanto que, nas consultas aos dados de base, não é necessário que os usuários
manipulem diretamente os dados, podendo interagir através de consultas simples, como
no ROLAP. Além disso, o banco de dados pode ser modelado ou como um Banco de
Dados Multidimensional ou como um Banco de Dados Multirelacional, projetado para
aceitar propriedades multidimensionais.
41
Capítulo 3
Desenvolvimento
3.1 Especificação do sistema
Os Data Warehouses podem ser utilizados para os mais diversos assuntos, por se
tratarem de uma nova metodologia para o armazenamento e acesso a informação. Esta
nova metodologia, adotada na forma com que os dados são dimensionados e
armazenados no Data Warehouse, é que o torna mais complexo e, ao mesmo tempo,
mais atraente do que os banco de dados tradicionais para realizar estes tipos de
consultas.
Devido a sua arquitetura diferenciada, a qual já foi devidamente detalhada neste
trabalho, o tratamento de grandes volumes de dados históricos não se torna uma tarefa
tão desgastante e, muitas vezes quase impossível de ser feita. Este fato deve ser
mostrado de forma a encorajar empresários de várias áreas a adotarem o uso do Data
Warehouse para tornar eficiente o uso dos dados que possuem, tornando capazes de
alcançar diferencial competitivo no mercado.
Neste trabalho, pretende-se ter como foco o problema do armazenamento de
dados históricos utilizando um protótipo de um banco de dados multidimensional.
Com o rápido crescimento do número de empresas a competitividade aumenta
gradualmente, o desenvolvimento e comercialização de produtos, busca de novos
parceiros comerciais, todos estes fatores contribuem para o aumento das informações.
As informações vinculadas a esses produtos por exemplo, devem ser plenamente
conhecidas e dominadas pelos empresários de diversos ramos, para permanecerem à
frente do mercado. Porém, atualmente, é reproduzido um modelo onde não existe um
ambiente que reúna todas estas informações de uma forma otimizada, para que estes
usuários efetuem suas consultas. O que torna a tomada de decisão, por parte desses
usuários, uma tarefa difícil e que exige pesquisa em diversas fontes diferentes, a qual
não oferece uma visão global dos dados necessários.
Tendo em vista a otimização na análise de grandes volumes de dados históricos
que os Data Warehouses oferecem, neste trabalho procurou-se estudar qual a melhor
forma de disponibilizar os dados, relativos a um ambiente comercial, em um Data
42
Warehouse, para que venha a solucionar o problema de análise dos dados, apresentado
acima.
Segundo Mark [15], a origem de dados para um banco de dados OLAP pode ser
praticamente qualquer armazenamento de dados relacional e, no caso específico do
Analysis Services, qualquer banco de dados relacional que possa expor os dados via um
provedor OLE DB, que é o modelo de objeto de acesso a dados universal da Microsoft.
Para criar uma origem de dados para o banco OLAP foi utilizada uma conexão
para a fonte de dados, “Data Source”, através do ODBC Data Source Administrator do
sistema operacional. O ODBC, “Open Data Base Connectivity”, permite conectar um
banco de dados relacional que esteja utilizando um driver do aplicativo Microsoft
Access, que é o utilizado neste trabalho. A figura 11 demonstra a conexão criada
utilizando o ODBC Data Source Administrator.
43
Importante ressaltar que o banco de dados OLAP pode conter múltiplas origens
de dados, extraindo de vários sistemas transacionais para um banco de dados
multidimesional OLAP.
Pode-se observar na figura 13 uma caixa de diálogo de origem de dados
disponibilizada pelo Analysis Server Manager. Nesta há uma lista de provedores OLE
DB disponíveis provando que o banco de dados OLAP pode ser criado utilizando
múltiplas fontes de dados. Segundo Mark [15], a Microsoft incorporou inteligência
nessa caixa de dialogo para alterar informações requeridas de conexão com base no
provedor OLE DB escolhido. Isso é feito porque cada provedor de OLE DB talvez
requeira parâmetros únicos de conexão a fim de estabelecer uma conexão com origem
de dados. Neste trabalho utilizou-se o provedor OLE DB para ODBC.
Após a criação das conexões para o banco de dados OLAP, inicia-se a definição
das dimensões compartilhadas. De acordo com Mark [15], uma dimensão compartilhada
é uma dimensão que está disponível para qualquer cubo no banco de dados OLAP, são
categorias através das quais pode-se analisar e resumir dados. A criação das dimensões
é realizada através de entradas de parâmetros fornecidos pelo desenvolvedor via
Analysis Server Manager e pela Data Source configurada a ele. Seguindo a mesma
estrutura de dados, selecionando a área de dimensões compartilhadas, as quais foram
detalhadas na figura 12, pode-se iniciar o processo de criação que é suportado por
mecanismos standard do sistema de análise.
Escolhe-se o tipo de dimensão a ser criada, de acordo com a figura 14. Mark
[15] define que o tipo de dimensão é baseado nas tabelas subjacentes de dados originais
para as dimensões. Entre os tipos disponíveis optou-se pelo modelo “Star Schema,
single dimension table” como pré-definido nos capítulos anteriores. Essa é uma
dimensão básica que utiliza uma única tabela subjacente de banco de dados para definir
suas características.
hierárquicos para esta dimensão são representados pela seqüência dos atributos país,
estado, cidade e nome.
3.2.3.1 Medidas
Capítulo 4
Resultados
4.1 Validação
Figura 25 – Drill-Down.
57
Capítulo 5
Conclusões
Referências Bibliográficas
Apostilas:
[1] NETPARTNER consultoria e Sistemas Ltda. Business Intelligence, técnicas de
modelagem para construção de Data Warehouse (JOHNSON & JOHNSON)
Websites:
[4] iMasters FFPA Informática Ltda. http://www.imasters.com.br (2001).
Livros:
[7] DATE C. J., Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Editora
Campus (2004)
[9] Richard D. Hackathron & W. H. Inmon, Como usar o Data Warehouse. IBPI press
(1997).
[10] TAKAI, kotaro Oswaldo; ITALIANO, Cristina Isabel; FERREIRA Eduardo João.
Introdução a Banco de Dados. DCC – IME – USP. São Paulo (2005)
[11] INMON, William H.,Como Construir o Data Warehouse. Rio de Janeiro: Editora
Campus (1997).
[15] MARK Spenik, ORRYN Sledge. Microsoft SQL Server 2000 DBA, Guia de
Sobrevivência. Rio de Janeiro: Editora Campus (2001)
Webinsider Ltda , 08 de julho de 2006,