ROBSON DE CASTRO NERY ESTRUTURAÇÃO E IMPLEMENTAÇÃO DA INTERFACE COM O USUÁRIO E DO CONTROLE DE ACESSO AO DATA WEBHOUSE DO HEMOVIDA - PDF
Download "ROBSON DE CASTRO NERY ESTRUTURAÇÃO E IMPLEMENTAÇÃO DA INTERFACE COM O USUÁRIO E DO CONTROLE DE ACESSO AO DATA WEBHOUSE DO HEMOVIDA"
Marco de Sá Arruda
1 ROBSON DE CASTRO NERY ESTRUTURAÇÃO E IMPLEMENTAÇÃO DA INTERFACE COM O USUÁRIO E DO CONTROLE DE ACESSO AO DATA WEBHOUSE DO HEMOVIDA Palmas 2006
2 ii ROBSON DE CASTRO NERY ESTRUTURAÇÃO E IMPLEMENTAÇÃO DA INTERFACE COM O USUÁRIO E DO CONTROLE DE ACESSO AO DATA WEBHOUSE DO HEMOVIDA Relatório apresentado como exigência curricular do Curso de Sistemas de Informação, nas disciplinas de TCC I e TCC II, sob orientação do Prof. MSc. Fabiano Fagundes. Palmas 2006
3 iii ROBSON DE CASTRO NERY ESTRUTURAÇÃO E IMPLEMENTAÇÃO DA INTERFACE COM O USUÁRIO E DO CONTROLE DE ACESSO AO DATA WEBHOUSE DO HEMOVIDA Relatório apresentado como exigência curricular do Curso de Sistemas de Informação, nas disciplinas de TCC I e TCC II, sob orientação do Prof. MSc. Fabiano Fagundes. Aprovada em dezembro de 2006 BANCA EXAMINADORA Prof. MSc. Fabiano Fagundes - Orientador Centro Universitário Luterano de Palmas Prof. MSc. Fernando Luiz de Oliveira Centro Universitário Luterano de Palmas Prof. Esp. Cristina D Ornellas Filipakis Souza Centro Universitário Luterano de Palmas Palmas 2006
4 iv Dedico este trabalho aos meus pais Silvestre e Laura, pelo grande apoio, incentivo e todo carinho e dedicação que sempre me ofereceram.
5 v AGRADECIMENTOS Agradeço a todas as pessoas que fizeram parte da minha caminhada e que acreditaram que esta conquista seria possível. Primeiramente agradeço a Deus, aos meus pais por me darem oportunidade de cursar uma faculdade, por toda a paciência que tiveram e o apoio que sempre ofereceram nas minhas escolhas e ideais. Às minhas irmãs pelo incentivo e por me darem força para nunca desistir da luta. Aos meus familiares, e principalmente a Tia Vanda que sempre me ouviu e torceu para que eu chegasse ao fim, e muito outros que sempre me incentivaram na conclusão do meu curso me dando muita força e ânimo. Aos meus amigos, em especial a Kênia Zorzin por aceitar o desafio de se dedicar totalmente no desenvolvimento deste trabalho, não medindo esforços em me apoiar. As amigas Tânia e Letícia por sempre acreditarem no meu sucesso. Ao Antônio Marcos por me aturar nos meus momentos de stress, nunca me deixando desistir. Ao Leonardo da Mata pelas madrugadas passadas em claro e pelas conversas descontraídas. A Lucília pelas críticas construtivas e por cuidar de mim durante todo esse tempo. Aos companheiros Edson e Elder por me incentivarem. Ao grande amigo Meron pela paciência e apoio, principalmente em dias de chuva. Ao meu orientador e amigo Fabiano Fagundes por acreditar em mim, mesmo quando eu não acreditava. Aos professores do curso que sempre estavam presentes nos momentos de dúvidas. Finalmente a todos aqueles que de uma forma ou de outra deram a sua contribuição para a conclusão desta importante etapa na minha vida. A todos vocês muito obrigado!
6 vi "A vida é construída nos sonhos e concretizada no amor". [Francisco Cândido Xavier]
7 vii SUMÁRIO LISTA DE FIGURAS...IX LISTA DE TABELAS...XI LISTA DE ABREVIATURAS...XII RESUMO...XIII 1 INTRODUÇÃO REVISÃO DE LITERATURA INTERFACE COM O USUÁRIO SISTEMAS DE INFORMAÇÃO Sistemas de Apoio à Tomada de Decisão DATA WAREHOUSE Arquitetura do Data Warehouse Data Mart Arquitetura Top-Down Arquitetura Bottom-Up Modelo Dimensional Star Modelo Dimensional Snowflake Vantagens em construir um Data Warehouse DATA WEBHOUSE Web no Data Warehouse Data Warehouse na Web Segurança no Data Webhouse MATERIAIS E MÉTODOS LOCAL E PERÍODO MATERIAIS Hardware e Software Microsoft SQL Server Crystal Reports Developer Microsoft Visual Studio METODOLOGIA... 39
8 viii 4 RESULTADOS E DISCUSSÃO BASE DE DADOS DO HEMOVIDA MODELAGEM DIMENSIONAL Data Mart Atendimento Data Mart Triagem Data Mart Coleta Base de dados do Data Warehouse PROCESSO ETL (EXTRACT, TRANSFORM AND LOAD) DTS (Transformation Data Task) APLICAÇÃO DA INTERFACE COM O USUÁRIO Segurança na aplicação Perfil Administrador Perfil Comum CONCLUSÕES E TRABALHOS FUTUROS CONCLUSÕES TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS ANEXO... 80
9 ix LISTA DE FIGURAS FIGURA 1 ORIENTADO POR ASSUNTO ADAPTADO DE MACHADO (2004, P. 28) FIGURA 2 INTEGRADO, ADAPTADO DE MACHADO (2004, P. 31) FIGURA 3 REPRESENTAÇÃO DA CARACTERÍSTICA NÃO-VOLÁTIL FIGURA 4 ARQUITETURA DO DW, ADAPTADA DE SINGH (2001, P. 69) FIGURA 5 ARQUITETURA TOP-DOWN, ADAPTADO DE MACHADO (2004, P. 53) FIGURA 6 ARQUITETURA BOTTOM-UP, ADAPTADO DE MACHADO (2004, P.55) FIGURA 7 MODELO DIMENSIONAL STAR ADAPTADO DE MACHADO (2004, P. 93) FIGURA 8 MODELO DIMENSIONAL SNOWFLAKE ADAPTADO DE DILL (2002, P. 33) FIGURA 9 WEB NO DATA WAREHOUSE FIGURA 10 DATA WAREHOUSE NA WEB FIGURA 11 ARQUITETURA DO SQL SERVER 2005 (MICROSOFT, 2006) FIGURA 12 CRYSTAL REPORTS NO VISUAL STUDIO FIGURA 13 TELA INICIAL DO VISUAL STUDIO FIGURA 14 REPRESENTAÇÃO DAS ETAPAS PARA CONSTRUÇÃO DO DATA WEBHOUSE DO HEMOVIDA FIGURA 15 FLUXO DAS INFORMAÇÕES DA DOAÇÃO DE SANGUE DO HEMOVIDA FIGURA 16 BASE DE DADOS DO HEMOVIDA FIGURA 17 DATA MART ATENDIMENTO FIGURA 18 DATA MART TRIAGEM FIGURA 19 DATA MART COLETA FIGURA 20 SCRIPT GERADO PELA FERRAMENTA DBDESIGNER FIGURA 21 REPRESENTAÇÃO DO DW CRIADO NO SQL SEVER FIGURA 22 REPRESENTAÇÃO DE UM SELECT DOS ATRIBUTOS DA BASE DE ORIGEM PARA A DIMENSÃO DOADOR FIGURA 23 REPRESENTAÇÃO DA TABELA COM OS DADOS TRATADOS E PRONTOS PARA SEREM CARREGADOS FIGURA 24 SELEÇÃO DA BASE QUE SERÁ IMPORTADA (ORIGEM) PARA A BASE DESTINO FIGURA 25 SELEÇÃO DA TABELA E DOS ATRIBUTOS PARA O CARREGAMENTO FIGURA 26 TABELA DIMENSAO_DOADOR CARREGADA NO SQL SERVER FIGURA 27 COMPARAÇÃO ENTRE OS ATRIBUTOS DA TABELA TEMPORÁRIA COM OS ATRIBUTOS DAS TABELAS DIMENSÕES DA FATO_ATENDIMENTO FIGURA 28 TABELA FATO_ATENDIMENTO CARREGADA NO SQL SERVER FIGURA 29 TELA INICIAL PARA LOGIN DO USUÁRIO FIGURA 30 TELA PARA O PERFIL ADMINISTRADOR
10 x FIGURA 31 RELATÓRIO DE TIPAGEM SANGÜÍNEA ADMINISTRADOR FIGURA 32 GRÁFICO DE TIPAGEM SANGÜÍNEA ADMINISTRADOR FIGURA 33 RELATÓRIO DE TRIAGEM ADMINISTRADOR FIGURA 34 GRÁFICO DA TRIAGEM ADMINISTRADOR FIGURA 35 RELATÓRIO DA COLETA ADMINISTRADOR FIGURA 36 GRÁFICO DA COLETA ADMINISTRADOR FIGURA 37 TELA PARA O PERFIL COMUM FIGURA 38 RELATÓRIO DE TIPAGEM SANGUÍNEA COMUM FIGURA 39 RELATÓRIO TRIAGEM COMUM FIGURA 40 RELATÓRIO COLETA COMUM... 71
11 xi LISTA DE TABELAS TABELA 1 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_DOADOR TABELA 2 REPRESENTAÇÃO DA DISTRIBUIÇÃO DE FREQÜÊNCIA TABELA 3 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_LOCAL_COLETA TABELA 4 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_TEMPO TABELA 5 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_SUSPENSO TABELA 6 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_TIPAGEM_ABO TABELA 7 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA FATO_ATENDIMENTO TABELA 8 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_PRE_TRIAGEM TABELA 9 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA FATO_TRIAGEM TABELA 10 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA DIMENSAO_BOLSA TABELA 11 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA FATO_COLETA TABELA 12 REPRESENTAÇÃO DOS ATRIBUTOS DA TABELA USUARIO... 62
12 xii LISTA DE ABREVIATURAS BD DM DW ER SAD SI SGBD Banco de Dados Data Mart Data Warehouse Entidade Relacionamento Sistemas de Apoio à Tomada de Decisão Sistemas de Informação Sistema de Gerenciamento de Banco de Dados
13 xiii RESUMO O ambiente de Data Warehouse (DW) surgiu com a necessidade de adquirir informações de forma rápida, consistente e confiável, oferecendo meios de extrair informações que geram conhecimento e que possam auxiliar nos processos de tomada de decisão e na identificação de tendências futuras. Assim, o DW diferencia-se dos ambientes comuns das empresas, pois trás informações que antes não eram observadas e renova o processo de análise das organizações. Com a crescente utilização da Internet as exigências voltadas para a Web, das empresas, passaram a ser mais constantes e a busca de informações mais necessária, a partir daí surgiu o Data Webhouse, que nada mais é do que a junção do DW com a Web. A proposta desse trabalho é a implementação de uma interface que ofereça restrição, com diferentes perfis de usuários, controlando o acesso ao Data Webhouse para a organização das informações do Hemocentro Coordenador de Palmas, utilizando a base de dados do Hemovida. Por fim, os dados coletados foram disponibilizados de maneira clara e objetiva através de relatórios, oferecendo ao usuário um suporte às tomadas de decisão gerenciais do Hemocentro. Palavras-chaves: Data Warehouse, Data Webhouse, interface, controle de acesso.
14 14 1 INTRODUÇÃO Nas últimas décadas as empresas têm continuamente trabalhado com um grande volume de informações que, na maioria das vezes, acabam não sendo utilizadas de forma que auxiliem os seus diretores, gerentes e administradores nas decisões cotidianas da empresa. Assim, surgiu uma grande necessidade de organizar as informações das empresas, e a partir delas obter novos conhecimentos que viessem proporcionar uma análise de tendência de mercado e dar um grande apoio no processo de tomada de decisão. Atualmente, para as empresas, conhecer bem o perfil do cliente é mais importante do que saber a arte de vender bem. A forma de abordagem dos clientes, tendo um conhecimento maior do seu perfil e dos seus desejos, possibilita que a empresa forneça o produto certo e no período certo, oferecendo promoções e formas de logística que atraiam o interesse dos seus clientes (BARBIERI, 2001, p. 9). O DW surgiu para resolver alguns problemas encontrados nas empresas, pois organiza as informações de forma a facilitar a busca e análise dos dados no Banco de Dados (BD), fornecendo relatórios que possibilitam a verificação de problemas e possíveis situações de perfis, comportamentos e tendências de mercado. Também permite a obtenção de respostas rápidas e consistentes que auxiliam nos processos de tomada de decisões táticas e estratégicas das empresas. Com a popularização da Web, que no início era considerada apenas como um catálogo eletrônico e hoje já é utilizada por grande parte das empresas como uma ferramenta de comércio eletrônico, passou-se a estudar a possibilidade de disponibilizar na Web relatórios estatísticos e de tendências extraídos do sistema
15 15 de DW. Assim, surgiu uma nova tecnologia denominada Data Webhouse, que será um diferencial competitivo para as empresas. Para o emprego do Data Webhouse existem duas formas de aplicação, uma delas consiste em trazer a Web para o DW, através de uma técnica chamada de clickstream (seqüência de cliques) onde todas as ações do usuário no site são extraídas e armazenadas. A outra leva o DW para a Web e disponibiliza os conhecimentos adquiridos no DW, com a utilização de ferramentas de extração de forma clara e objetiva para o usuário. Para resolver o problema da dificuldade de acesso a informações estatísticas do Hemocentro Coordenador do Estado do Tocantins, surgiu a proposta deste trabalho, que consiste na criação de um DW que fornecesse relatórios que auxiliassem nos processos de tomada de decisão. Através deste DW será criada uma interface (Data Webhouse) utilizando um controle de acesso para disponibilizar as informações estatísticas na Web, buscando oferecer ao usuário uma maior liberdade na requisição de informações, mantendo, entretanto, o cuidado sobre as informações que poderão ser fornecidas. O controle das informações que serão disponibilizadas para cada usuário será feito através de restrições em suas senhas de acesso ao sistema. Este controle disponibilizará relatórios mais detalhados para um usuário com um maior grau de acesso e relatórios menos detalhados para usuários que tenham um grau menor de acesso. Esta forma de representação da granularidade do sistema será gerenciada diretamente pela aplicação. Este trabalho está organizado da seguinte forma: na seção 2, Revisão de Literatura, são apresentados conceitos relacionados à Interface com o usuário em seguida mais alguns conceitos sobre sistemas de apoio à tomada de decisão. Depois algumas definições de DW, as suas características, bem como seus benefícios e objetivos. Na mesma seção são apresentadas definições sobre Data Webhouse e suas formas de aplicação. Na seção 3, Materiais e Métodos, são descritos o período, o local, os materiais e os métodos utilizados para a realização deste projeto. Na seção 4, Resultados e Discussão são apresentados os resultados obtidos com a aplicação dessas duas tecnologias. Primeiramente é apresentado passo a passo toda a construção do DW. Em seguida como foi criada a aplicação que será
16 16 disponibilizada via Web (Data Webhouse). Na seção 5, Conclusões e Trabalhos Futuros, encontram-se as conclusões sobre todas as etapas de desenvolvimento deste projeto e uma relação dos possíveis trabalhos futuros.
17 17 2 REVISÃO DE LITERATURA Esta seção está organizada da seguinte forma: na seção 2.1 serão abordados os conceitos e a importância da interface com o usuário. Na seção 2.2 serão apresentados estudos sobre os conceitos de Sistemas de Informação; na subseção 2.2.1, os conceitos relacionados a Sistemas de Apoio à Tomada de Decisão, os quais servirão como base para Data Warehouse e Data Webhouse, respectivamente nas seções 2.3 e 2.4. Na subseção serão abordadas metodologias sobre a implementação da segurança do Data Webhouse. 2.1 Interface com o Usuário Para implementar a interface com o usuário é necessário conhecer os conceitos e metodologias relativas à interface na área de informática. Segundo Teodoro (2001, p. 17), a interface é um elemento capaz de interagir com o usuário, transmitindo a este um conjunto de informações acerca do sistema. Estas informações devem ser capazes de exprimir as ações que o usuário deve ou deverá realizar. A interface é a forma de apresentar os dados para o usuário e, dependendo da sua utilização, pode diminuir seu interesse, mesmo que o conteúdo ou as informações que existam nesta aplicação seja de boa qualidade. A interface é o que divide o computador e o homem, portanto deve ser simples, objetiva e clara para que a integração seja alcançada (CORRÊA, 2002 p. 54). De acordo com Teodoro (2001, p. 17), a interface é o elemento de interação do sistema com o usuário, o qual permite que sejam realizadas as
18 18 operações do sistema. A interação é a comunicação que o usuário realiza a partir do sistema. Ainda conforme Teodoro (2001, p. 24), a interface amigável é outro fator importante que se tem a necessidade de considerar, pois deve apresentar os seguintes atributos: facilidades de uso e aprendizagem: flexibilidade da interface para que o uso torne-se mais evolutivo no sentido de ter resultados bons; eficiência de uso: a utilização do sistema pelo usuário, torna-o experiente e capaz de reduzir o tempo de aprendizado, aumentando a sua produção; facilidade de memorização: a interface do sistema deve apresentar estruturas que fornecem facilidades de memorização, em que os usuários não necessitem de uma nova aprendizagem; minimização de erros: As operações realizadas erroneamente pelos usuários devem ser capazes de fornecer artifícios de recuperação; satisfação: é quando o sistema possibilitar que os usuários alcancem seu objetivo de interação de forma satisfatória, que não se tenha erros. Estes conceitos são importantes por se referir a uma parte da proposta deste trabalho que é a estruturação e implementação da interface com o usuário, a qual servirá como ponto de apoio no desenvolvimento da aplicação do Data Webhouse. Também foram investigadas definições sobre sistemas de informação, descritas a seguir. 2.2 Sistemas de Informação Para implementar um Data Webhouse, tem-se a necessidade de explorar algumas definições sobre Sistemas de informação (SI) e, também, a sua importância. Segundo Campos (1994, p.34), o conceito de SI baseia-se em quatro características, as quais permitem a execução dos objetivos da organização: a) a informação (dados formatados, imagens, sons e textos livres);
19 19 b) os recursos humanos (que coletam, armazenam, recuperam, processam, dissemina e utilizam as informações); c) as tecnologias de informações (o hardware e o software); e d) as práticas de trabalho (métodos utilizados). Conforme Randünz (2002, p. 14), SI são sistemas que permitem a coleta, o armazenamento, o processamento, a recuperação e a disseminação de informações. Com a tecnologia da informação é possível realizar todas essas tarefas de processamento, pois compreendem os elementos de hardware e software. Segundo Barbosa (2003, p. 23), a tomada de decisão é um fator que se tornou muito importante, pois as organizações estão competitivas devido às exigências dos clientes. A tomada de decisão e as ferramentas computacionais tornam-se necessárias nas organizações uma vez que juntas podem auxiliar os gerentes nos processos decisórios. As ferramentas são sistemas que apóiam os gerentes das organizações a tomar decisões e denominam-se Sistemas de Apoio à Tomada de Decisão (SAD) Sistemas de Apoio à Tomada de Decisão Para que se possam entender o gerenciamento das informações da Internet disponibilizadas no DW serão apresentados neste capítulo conceitos relacionados aos SAD s. A tomada de decisão é um artefato imprescindível para os gestores das organizações que visam obter informações confiáveis por meio dos SAD s. Estas informações possuem valores significativos que podem determinar tendências, sejam elas vendas de produtos, perfil de clientes, entre outros (BARBOSA, 2003 p. 23). Segundo Barbosa (2003, p. 24), os SAD s têm o objetivo de auxiliar os gestores nos processos de tomada de decisão proporcionando-lhes respostas para as situações de acordo com as necessidades da organização. Chiavenato (2000, p. 46) descreve a tomada de decisão como: o processo de análise e escolha, entre várias alternativas disponíveis, do curso de ação que a pessoa deverá seguir.
20 20 Os SAD s caracterizam-se por auxiliar os gerentes nos processos decisórios, na qual podem acessar uma aplicação realizando as tarefas de tomada de decisão. Nas tarefas de tomada de decisão são analisadas as informações não estruturadas buscando-se solucionar os problemas em que se podem determinar as tendências (BARBOSA, 2003 p. 24). A tecnologia da informação favorece as organizações que visam manipular grandes volumes de dados com interesse de obter resultados estratégicos através de análises para se tomar decisões. Estas são realizadas a partir dos SAD s que disponibilizam de ferramentas que auxiliam na tomada de decisão como: Data Warehouse, Data Mining e CRM. Será abordado neste trabalho o Data Warehouse, apresentado na próxima seção. 2.3 Data Warehouse Com a evolução da tecnologia da informação houve a necessidade de armazenar grandes quantidades de dados e analisá-las e isto se tornou possível a partir do DW. O DW é um repositório que integra dados corporativos da organização que servem para serem analisados através de consultas permitindo, posteriormente, a usuários finais gerar relatórios. Pode-se afirmar que o DW é uma ferramenta utilizada para auxiliar o processo de tomada de decisões, uma vez que, por meio dos relatórios gerados, é possível se ter uma visão geral dos resultados obtidos. Estes resultados são definidos em períodos de tempo, os quais permitem fazer previsões futuras, determinar tendências, analisar perfil de clientes, entre outros (SINGH, 2001 p. 12). Pode-se observar que o DW é uma ferramenta que agrega técnicas que permitem realizar consultas analíticas na sua própria base de dados histórica, facilitando as tarefas dos gestores de negócios na tomada de decisão. Para Barbieri (2001, p. 51), o DW tem o objetivo de armazenar dados em vários graus de relacionamento sobre os dados de longo período de tempo, diferenciando-se do banco de dados relacional que realiza apenas as operações de consulta, inserção, alteração e exclusão de registros.
21 21 De acordo com os estudos de Inmon (1997, p. 33), o DW é um conjunto de dados baseados em assunto, integrados, não-volátil e variável em relação ao tempo para apoio às decisões gerenciais. Ao se criar o DW é necessário considerar suas características. A seguir são apresentadas algumas delas. Orientado por assunto: refere-se às informações armazenadas por um determinado assunto, ou seja, é dividido por área, tomando como exemplo, a área de atendimento, triagem e coleta do Hemocentro. O DW orientado por assunto é representado na forma de dimensão, a qual se caracteriza pelo tema relacionado ao interesse da empresa (BARBOSA, 2003 p. 25). A característica do DW orientado por assunto é ilustrada pela figura 1 abaixo. Dados Baseados em assuntos de negócio Ambiente Transacional Data Warehouse Pedido, nota fiscal Venda Ordem de Produção máquina Produção Falha, produto Qualidade Figura 1 Orientado por assunto, adaptado de Machado (2004, p. 28). Integrado: esta característica consiste na padronização dos dados em um único formato, pois estes são oriundos de diversas fontes. Por exemplo, o sexo em banco de dados distintos pode ser representado de várias formas, tais como: 0, 1 ou M, F ou Masculino ou Feminino. Integrando-se esses dados do sexo, esse problema se resolve assumindo uma única forma
22 22 (SINGH, 2001, p. 14). A figura 2 demonstra o processo de integração dos dados no DW. BD1 BD2 Sexo 0 Sexo 1 Sexo masculino Processo de filtragem dos dados DW Sexo M Sexo F Figura 2 Integrado, adaptado de Machado (2004, p. 31). Não-volátil: trata-se da característica de inserção dos dados no DW, não possibilitando mudanças destes, apenas consultas. A manipulação dos dados não é permitida uma vez que é mantida apenas o histórico das transações. De acordo com os estudos de Inmon (1997, p. 35) no ambiente de DW os dados são carregados e acessados, mas a atualização dos dados não ocorre. A figura 3 representa a não-volatilidade. I n s e r i r DW C o n s u l t a r Figura 3 Representação da característica não-volátil. Variável em relação ao tempo: refere-se a um determinado intervalo de tempo específico, por exemplo, duração em anos. Em todas as cargas de dados são criadas como novas entradas, marcando-se uma ocorrência de um determinado momento. Singh (2001, p. 14) descreve que a variação com o tempo, significa que os dados estão associados a um ponto no tempo.
23 23 Granularidade: é um fator importante do DW, pois refere-se ao detalhamento dos dados. Após a sua determinação a análise da implementação dos dados torna-se mais simples (INMON, 1997, p. 143). Quanto mais detalhamento mais baixo será o nível de granularidade. Ao contrário, com menos detalhamento mais alto será o nível de granularidade Arquitetura do Data Warehouse Para se projetar e disponibilizar dados no DW é necessário conhecer a sua arquitetura e, também, como é feito o armazenamento, a integração, processamento e apresentação destes dados para tomada de decisão. A arquitetura do DW é planejada conforme as necessidades da organização, pois pode se referir a uma única parte específica do negócio denominando-se Data Mart (DM) como, também, as várias partes integradas do DW (ANDREATTO, 1999). A arquitetura genérica do DW é composta pelas camadas de banco de dados, acesso à informação, acesso aos dados, metadados, gerenciamento de processos, transporte e DW (MATA, 2005, p. 12), conforme ilustra a figura 4 a seguir. Figura 4 Arquitetura do DW, adaptada de Singh (2001, p. 69). Banco de dados: esta camada compreende os dados das bases relacionais referentes à organização que pode/poderá ser integrados e compor o DW;
24 24 Acesso à informação: compreende o hardware e software que serão utilizados para se obter relatórios, planilhas, entre outros. Nesta camada os usuários finais podem/poderão interagir com o DW através das ferramentas de manipulação; Acesso aos dados: camada responsável pela ligação das ferramentas de acesso e das diversas fontes de dados relacionais; Metadados: consiste no dicionário de dados composto por informações que descrevem os registros, criação de tabelas, diagramas ER (Entidade- Relacionamento), entre outros; Gerenciamento de processos: consiste em manter o DW atualizado; Transporte: camada responsável pelo transporte dos dados no ambiente de rede e por entregá-los nos locais e tempo determinados; Data Warehouse: camada responsável por armazenar os dados históricos obtidos das bases relacionais. Têm-se vantagens em utilizar um DW, pois este proporciona maior agilidade na extração de relatórios por outros softwares, que podem auxiliar na identificação de novas tendências de mercado e nas tomadas de decisões gerenciais. O DW engloba, ainda, arquiteturas independentes e integradas de DM, o que pode ser considerado um DW pequeno que apresenta os dados por assunto. Na subseção a seguir serão apresentadas algumas definições de DM Data Mart Segundo Singh (2001, p. 14), o Data Mart é um subconjunto de um DW, que é dividido por departamentos, por exemplo, departamento de vendas, financeiro e de recursos humanos. Para Machado (2004, p. 24) a criação do DW consiste em organizar armazéns de dados contendo a história da empresa, os clientes, os fornecedores e as operações realizadas. Pode-se afirmar que um DM é um repositório de dados com menor volume de dados, que atende áreas especificas de uma empresa, ou seja, um determinado assunto. O DM é diferenciado do DW pela quantidade de dados, tratamento e gerenciamento dos dados. A quantidade de dados do DM, por ser
25 25 menor, é organizada por assunto. Referindo-se ao tratamento dos dados, no DM dá-se ênfase ao assunto em questão, o qual trata de uma área específica da empresa. O gerenciamento da área especí fica é realizado pelo gerente deste setor. Conforme Machado (2004, p. 50), a arquitetura independente é aquela em que o DM é isolado de outros e que tem a sua área específica gerenciada apenas por usuários autorizados. Ao contrário da arquitetura independente, na integração os DM s são vinculados através de fatos, ou seja, os usuários têm a visão corporativa dos dados. Para se implementar o DW a partir de uma arquitetura genérica, com DM s independentes ou integrados é necessário definir como os dados deste serão organizados, neste caso, determinando-se a sua granularidade. Segundo Machado (2004, p. 59), a granularidade é o nível de detalhamento do DW e/ou DM, podendo ser alta ou baixa. A alta granularidade refere-se ao baixo nível detalhamento dos dados armazenados no DW e/ou DM, bem como, por exemplo, o sumário da coleta de sangue realizada por um funcionário durante um mês. Na baixa granularidade acontece o contrário, tem-se alto nível de detalhamento dos dados, como, por exemplo, detalhe de cada coleta de sangue realizada por um funcionário durante um mês Arquitetura Top-Down Esta arquitetura consiste na extração dos dados do DW para os DM s e no seu desenvolvimento. Esse processo inicia-se com a extração, a transformação e a integração das informações dos sistemas utilizados pela empresa e dados externos, para uma área intermediária de preparo dos dados. A partir disso, esses dados são transferidos para o DW. Após essa transferência, os dados são extraídos para os DM s setoriais, segundo Machado (2004, p. 52). A figura 5 apresenta o modelo da arquitetura Top-Down.
26 26 DATA WAREHOUSE TRIAGEM Data Mart ATENDIMENTO COLETA Data Mart Data Mart Figura 5 Arquitetura Top-Down, adaptado de Machado (2004, p. 53) Arquitetura Bottom-Up Esta arquitetura consiste na extração dos dados para o DW. Esse processo iniciase com a extração, a transformação e a integração das informações dos sistemas utilizados pela empresa e dados externos para um ou mais DM s. A partir desses DM s constrói-se o DW incremental para a empresa. Entretanto, deve-se tomar o cuidado para que esses DM s não se tornem totalmente independentes, causando um problema no carregamento das informações para o DW, segundo Machado (2004, p. 54). A figura 6 apresenta o modelo da arquitetura Bottom-Up. Data Mart Data Mart ATENDIMENTO Data Mart TRIAGEM COLETA DATA WAREHOUSE Figura 6 Arquitetura Bottom-Up, adaptado de Machado (2004, p.55). Para se construir um DW não basta apenas conhecer a sua arquitetura e níveis de granularidade, deve-se estudar o modelo adequado. Existem modelos do DW tais como o dimensional e multidimensional. Neste trabalho será explanado o modelo dimensional que pode ser Star (estrela) ou Snowflake (floco
27 27 de neve). O modelo dimensional Star (estrela) terá o maior foco por ser utilizado na modelagem do DW deste trabalho para a construção do Data Webhouse. O modelo dimensional Star será descrito na subseção a seguir Modelo Dimensional Star O modelo dimensional Star possui várias dimensões interligadas por uma dimensão centralizada que é denominada de fato (MACHADO, 2004, p. 93). De acordo com os estudos de Dill (2002, p.29 e 30), o modelo dimensional Star é composto por entidades, onde a entidade central é chamada de fato e as demais são as dimensões. Este modelo possui três elementos básicos: fatos, dimensões e medidas (variáveis). As tabelas de fatos armazenam medidas numéricas que estão relacionadas a um determinado assunto. Os registros de uma tabela de fato estão ligados, ou seja, relacionados a um conjunto de dimensões que determinam o seu grau de granularidade. As dimensões determinam o contexto de um assunto e geralmente não possuem atributos numéricos, pois descrevem e classificam os elementos que fazem parte de um fato. A figura 7 ilustra o modelo dimensional Star. Dimensão Suspenso Dimensão Doador Dimensão Bolsa Fato Coleta Dimensão Tempo Dimensão Tipagem ABO Figura 7 Modelo dimensional Star, adaptado de Machado (2004, p. 93).
28 28 Esta forma de disponibilizar as tabelas é conhecida como modelo estrela devido a sua disposição no modelo físico, que consiste de uma tabela central, a tabela de fato, e as demais tabelas, dimensões, em suas extremidades. Na tabela de fato existe uma chave estrangeira que se associa a uma chave primária na tabela de dimensão, deste modo todas as dimensões ficam ligadas à tabela de fato Modelo Dimensional Snowflake Segundo Machado (2004, p. 94) e Dill (2002, p. 32), o modelo dimensional Snowflake consiste na junção do modelo Star com outras dimensões, em que uma das dimensões deste modelo está interligada com outras dimensões e estas formam uma hierarquia. Neste caso, a dimensão do modelo Star é a entidade maior e as outras são as menores. A figura 8 apresenta o modelo Snowflake. Dimensão B1 Dimensão B2 Dimensão B Dimensão A FATO Dimensão C Dimensão E Dimensão D Figura 8 Modelo dimensional Snowflake, adaptado de Dill (2002, p. 33) Vantagens em construir um Data Warehouse Segundo Dill (2002, p. 15) e Machado (2004, p. 20), o que motiva as organizações a optar pela construção de um DW são os benefícios oferecidos
29 29 pelo mesmo e o armazenamento do histórico da empresa. Inmon (1997, p. 28) apresenta alguns importantes resultados alcançados com a construção e o monitoramento de um DW: verifica o ponto exato do crescimento e onde está ocorrendo; indica os dados utilizados; indica tempo de resposta para o usuário; identificação de acesso; quantitativo de utilização; A partir da apresentação da abordagem sobre DW e das vantagens de construí-lo é possível iniciar a etapa de definições relacionadas ao Data Webhouse, apresentado na próxima seção. 2.4 Data Webhouse O Data Webhouse é um conceito oriundo da junção do DW com a Web. Segundo Fanderuff (2002, p. 41), o Data Webhouse é uma forma apropriada de acesso ao DW através de uma rede corporativa. Os dados do DW referentes a empresas são disponibilizados na Web para serem acessados por usuários da internet e/ou os dados da web podem ser armazenados no DW. Conforme Pernas (2003, p. 22), o Data Webhouse é a disponibilização dos dados do DW na Web, para serem consultados e utilizados na tomada de decisão. Já Bordignon (2005, p. 20) define que o Data Webhouse consiste em uma maneira de fornecer acesso conveniente, fácil e seguro para um Data Warehouse, através de uma intranet corporativa ou da Internet. A importância de se utilizar um Data Webhouse está nos benefícios que este pode trazer para os negócios da organização. Pernas (2003, p. 23) apresenta alguns destes benefícios: criar repositórios com dados oriundos da web; disponibilizar na web dados armazenados nos repositórios; fazer junção de vários DMs para compor o DW, apresentando as informações na web; armazenar dados da web em DMs formando um DW;
30 30 os dados do repositório devem ser flexíveis às perguntas de negócios; os dados do repositório deve ser seguro ao serem disponibilizados na web, pois podem se referir aos clientes, fornecedores, parceiros e funcionários de uma organização. Isto é, com vistas para não serem utilizados mal intencionalmente. Para Barbosa (2003, p. 42), o Data Webhouse consiste em duas formas distintas de serem implementadas, que são: inserir a Web no DW e disponibilizar o DW na Web Web no Data Warehouse O termo inserir a Web no DW consiste em armazenar os dados contidos nos servidores e que podem auxiliar na tomada de decisão. Tives (2006, p. 31) descreve este termo como a introdução das informações dos arquivos de log dos servidores que são gravados no DW. Os arquivos de log são criados a partir dos acessos dos usuários nas páginas da Web, que também pode ser chamada de captura da seqüência de cliques (clikstream) realizadas por estes. De acordo com Barbosa (2003 p. 42), o armazenamento dos dados no Data Webhouse é realizado através dos acessos as páginas da Web. Estes dados são tratados antes de serem inseridos no Data Webhouse. A figura 9 apresenta a representação da abordagem da Web no DW. Acesso SITE Transação cookies Servidor de cookies Carregar dados da web para webhouse Data Webhouse Figura 9 Web no Data Warehouse. Pode-se ressaltar que para este contexto o Data Webhouse traça um perfil do usuário, pois trás uma análise dos passos efetuados pelo mesmo na página da
31 31 Web. Através desta análise é possível entender o comportamento dos usuários e fazer melhorias na página Data Warehouse na Web A Web é um meio de comunicação que tem grande significado para as organizações, pois dispõe de grandes variedades de informações. Os usuários podem acessar estas informações através dos sites, realizando buscas. Foi possível vincular o DW e a Web, publicando seus dados para serem visualizados pelos usuários. A publicação dos dados do DW na Web também é chamada de Data Warehouse na Web ou Data Webhouse e pode ser conferida na figura 10 a seguir. Interface DW Carregar dados do DW para a Web da Aplicação Acesso Data Webhouse Figura 10 Data Warehouse na Web. Para Panisson (2002, p. 28), disponibilizar o DW na Web é possibilitar o acesso ao Data Warehouse através da interface padrão da Web, que é o navegador. Pode-se observar que os conceitos de Pernas (2003, p. 26) e Panisson (2002, p. 28) referem-se à mesma finalidade do Data Webhouse no que se refere à possibilidade dos usuários da internet acessarem as páginas normalmente como sempre fazem através de uma interface, mas com objetivo de obter resultados de forma corporativa. Vale ressaltar que a interface deve ser amigável, pois é uma condição para facilitar sua utilização. Uma interface amigável implica em possibilitar a reação conjunta com o usuário, ou seja, a interface deve reagir como o usuário espera (VAVASSORI, 1995). Segundo Tives (2006, p. 33), existem outros fatores que são primordiais para que os usuários acessem o Data Webhouse por meio da interface que são:
32 32 facilidades do uso; fazer consultas e atualização apresentadas de forma que os usuários entendam com facilidade; deve apresentar velocidade no tempo de resposta; os dados devem estar em diversos formatos; garantir sua segurança e integridade. Para Pernas (2003, p. 26), as condições para o usuário acessar o Data Webhouse a partir da interface de uma aplicação da Web são definidas como regras que se referem à sua usabilidade e que são: Interface fácil de utilização pelos usuários: deve garantir que o usuário aprenda com facilidade a manusear a interface, acessando o Data Webhouse de forma que obtenham bons resultados; Vocabulário fácil: a linguagem, tanto da interface, quanto do Data Webhouse, deve ser universal e clara, pois o usuário deve sentir que a interface é personalizada para si; Velocidade no acesso aos dados: a aplicação da Web deve garantir rapidez do tempo de resposta da consultas realizadas pelos usuários no Data Webhouse; Natureza multicultural da Web: as informações da interface e do Data Webhouse devem seguir a padronização internacional para que sejam acessadas por usuários de qualquer parte do mundo; Formato multimídia: o Data Webhouse deve disponibilizar na interface arquivos multimídias bem como, gráficos, imagens, vídeo, som, entre outros; Segurança e privacidade dos dados: a segurança e privacidade dos dados podem ser garantidas a partir de controle de segurança, descritos na subseção Segurança no Data Webhouse A segurança, de modo geral, é um fator importantíssimo para aplicações que envolvem consultas de dados importantes, pois as informações devem ser protegidas contra acessos de pessoas mal intencionadas. As informações têm papel significante para as organizações e, atualmente, estão sendo bem divulgadas na Internet.
33 33 Para a divulgação das informações na internet deve-se preocupar com a segurança e a integridade dos dados. A segurança no Data Webhouse também busca garantir que os dados sejam acessados somente por usuários autorizados e que se mantenham consistentes. Segundo Kuhnen (2004, p. 1), o ambiente de acesso da aplicação da Web aos dados do DW deve prover de segurança para que somente os usuários autorizados busquem e visualizem as informações disponibilizadas. Para assegurar a segurança no Data Webhouse é necessário tomar algumas medidas preventivas, como, por exemplo: autenticação para garantir a segurança desde o início ao fim de sessão: neste modo os usuários podem ser classificados de acordo com o perfil cadastrado, bem como, usuário Comum ou Administrador. Com esta diferenciação podem-se disponibilizar apenas os dados referentes ao perfil do usuário; segurança de rede: esse tipo de segurança serve para garantir que os dados do Data Webhouse estejam seguros e não sejam modificados; confidencialidade: com a autenticação dos usuários pode-se assegurar que apenas este visualize os dados que lhe diz respeito; autenticidade: assegura a origem dos dados do Data Webhouse; disponibilidade: assegura que os dados esteja disponíveis aos usuários e sejam consistentes. Estas medidas de segurança devem ser consideradas por serem de suma importância, pois a perda de dados do Data Webhouse, o acesso não autorizado, e as inconsistências dos dados podem apresentar consultas e gerar relatórios errados. Isto pode refletir em fracasso para se alcançar o objetivo principal que é ter vantagens competitivas a partir dos dados corporativos. Na próxima seção são apresentados os materiais e métodos utilizados na elaboração deste trabalho.
34 34 3 MATERIAIS E MÉTODOS Nesta seção serão apresentadas as ferramentas utilizadas para o desenvolvimento deste trabalho, bem como os materiais e métodos necessários para sua realização. 3.1 Local e Período Este trabalho foi desenvolvido do Centro Universitário Luterano de Palmas (CEULP/ULBRA), nos laboratórios de informática do curso de Sistemas de Informação e em residência própria. Sendo realizado no segundo semestre de 2006 de acordo com o requisito requerido das disciplinas de Trabalho de Conclusão de Curso em Sistemas de Informação I e II. 3.2 Materiais Para construção do Data Warehouse e da aplicação do Data Webhouse foram utilizadas fontes bibliográficas constituídas por livros disponíveis na biblioteca do CEULP/ULBRA, monografias, dissertações de mestrado, manuais de software e publicações científicas obtidas na Web, além de Hardwares e Softwares, como pode ser conferido nas subseções a seguir Hardware e Software Para o desenvolvimento deste trabalho foi necessária a utilização do hardware descrito a seguir ou similar: Computador com Pentium IV, clock 2.4 GHz, 512 Mb de Memória RAM e disco rígido de 40 Gb.
35 35 Para a realização dos experimentos necessários para a construção deste projeto foi utilizado o banco de dados Microsoft SQL Server 2005, a ferramenta SQL Server Management Studio e o objeto do Crystal Reports Developer existente no Visual Studio Para a criação do modelo dimensional do DW foi utilizada a ferramenta DBDesigner 4, que é uma das opções de ferramentas para modelagem de dados e auxilia na criação da base do DW no SQL Server. Para criação da aplicação do Data Webhouse foi utilizada a ferramenta Microsoft Visual Studio 2005, que possui em sua extensão um objeto do Crystal Reports Developer da empresa Business Object, e possibilitou a extração de relatórios e a geração de gráficos através de parâmetros passados através da aplicação. Ainda foram usados os seguintes softwares relacionados abaixo para a realização deste projeto: Microsoft Office 2003 Professional (Word e Excel); Microsoft Internet Explorer 6; WinRar; Winzip; Adobe Acrobat; e Nero 7 Premium. Os principais softwares utilizados neste trabalho estão descritos nas subseções a seguir Microsoft SQL Server 2005 O SQL Server 2005 é um SGBD que permite a integração com ferramentas, o armazenamento de dados de forma mais segura, o controle de aplicações que necessitam de alta disponibilidade e ainda permite o melhor gerenciamento de relatórios, webservices, mobile devices, etc (MICROSOFT, 2006). Uma inovação da versão 2005 é a integração com a ferramenta Visual Studio, Business Intelligence e Microsoft Office. A seguir segue a descrição da arquitetura do SQL Server 2005 (MICROSOFT, 2006).
36 36 Relational Database: responsável por garantir mais confiabilidade, disponibilidade e confidencialidade da base de dados relacional estruturada e não estruturada; Replication Services: utilizado para reaplicação de dados distribuídos ou móveis garantindo com isso a alta disponibilidade dos sistemas; Notification Services: utilizado para desenvolver aplicações de capacidades avançadas, personalizadas e geralmente usada por dispositivos móveis; Integration Services: usado para Extração, Transformação e Carga dos dados (ETC) para Data Warehouse e integração dos dados de grandes empresas; Analysis Services: utilizado para consultas olap em dados armazenados de forma multidimensional para análises rápidas e sofisticadas; Reporting Services: utilizada para criar relatórios tradicionais, orientados e interativos; Management Tools: usado para gerenciamento avançado da base de dados e integração de ferramentas, gerenciamento de operações e de sistemas. A seguir a figura 11 representa a arquitetura do SQL Server 2005 e a integração das ferramentas. Figura 11 Arquitetura do SQL Server 2005 (MICROSOFT, 2006).
37 Crystal Reports Developer O Crystal Reports Developer é um poderoso software capaz de gerar relatórios. Devido ao seu alto nível de qualidade esta ferramenta é considerada uma das melhores do mundo, podendo ser utilizada separadamente ou através de aplicações desenvolvidas com o Visual Studio 2005, entre outras (CRYSTAL, 2006). Esta ferramenta permite ainda acessar dados virtualmente de diferentes fontes de dados, dentre elas estão PC, SQL e OLEDB. Com isso possibilita uma infinidade de análises de dados. Possui também uma interface maleável, onde pode-se visualizar os dados enquanto é feita a edição do relatório. A figura 12 representa o ambiente do Crystal Reports no Visual Studio Figura 12 Crystal Reports no Visual Studio Após a criação do relatório a ferramenta permite a exportação para uma grande variedade de formatos, dentre eles estão PDF, Word, Excel, XML e HTML.
38 38 Dessa forma o Crystal Reports oferece as ferramentas necessárias para examinar tendências, verificar relacionamentos e apontar fatos importantes de um determinado domínio Microsoft Visual Studio 2005 Visando fornecer mecanismos que auxiliassem os desenvolvedores a criarem soluções inovadoras a Microsoft lançou o Visual Studio 2005 para o desenvolvimento de aplicações para Web na plataforma.net. Esta ferramenta tem como opção o desenvolvimento de aplicações sem o envolvimento com código fonte. O Visual Studio 2005 possibilita que o desenvolvedor escolha com qual linguagem ele deseja trabalhar, entre elas estão Visual C#, Visual C++ e Visual J#. Esta linguagem possui um servidor Web próprio, isso permite que os testes sejam feitos na própria ferramenta. A figura 13 ilustra a tela inicial da ferramenta. Figura 13 Tela inicial do Visual Studio 2005.
39 39 De acordo com a Microsoft (2006), o Visual Studio possui um conjunto de janelas com as principais funções e são utilizadas para as seguintes funções: Server Explores: gerencia o computador e faz todo o controle envolvendo o banco de dados; Solution Explorer: gerencia as aplicações criadas; Propriedades: configura um determinado objeto selecionado; Ajuda Dinâmica: exibe os tópicos relacionados onde o cursor estiver localizado; Auto Hide: controle de janelas disponíveis durante a utilização da ferramenta; TollBox: Exibe todos os componentes para manipulação dos formulários. 3.3 Metodologia A princípio, para obter o conhecimento necessário e atingir os objetivos propostos para o desenvolvimento deste trabalho, foram verificadas as características e as partes que constituem um DW e um Data Webhouse. Com isso foi possível identificar seus conceitos e a partir dele, compreender todos os assuntos relacionados com essas duas tecnologias. Em seguida foram identificadas e analisadas as ferramentas que seriam necessárias para o desenvolvimento do projeto, através da bibliografia que envolve essas duas áreas. Os dados foram coletados da base do Hemovida e logo em seguida foram estruturados para o início da construção dos DMs. Depois de gerada a estrutura do DW no SQL Server 2005 foi dado início ao processo ETL onde foram carregadas todas as tabelas do DW. Com a base do DW totalmente carregada no SQL Server 2005 foi iniciada a construção da aplicação com a ferramenta Visual Studio 2005 e Crystal Reports. A partir dessa aplicação foi efetuado o trabalho de geração de relatórios em tempo real passando parâmetros para busca na base do DW.
40 40 4 RESULTADOS E DISCUSSÃO Esta seção tem como objetivo descrever os resultados encontrados com a execução de cada etapa para a construção do Data Warehouse e em seguida do Data Webhouse conforme representado na figura 14. BD do Hemovida Data Webhouse - Hemovida DW Modelagem DBDesigner 4 Processo ETL SQL Server Figura 14 Representação das etapas para construção do Data Webhouse do Hemovida 4.1 Base de dados do Hemovida A base de dados utilizada para este trabalho será a base do Hemovida, que é um sistema complexo, pois a maioria das operações é gerenciada pela própria
41 41 aplicação que controla todo processo de doação e distribuição do sangue, dentro de um Hemocentro. Este fluxo inicia-se na recepção do doador e estende-se até a distribuição dos hemocomponentes para as Agências Transfusionais. A figura 15 apresenta este fluxo Recepção Pré-Triagem Triagem Clínica Triagem Hematológica COLETA 5 Figura 15 Fluxo das Informações da doação de sangue do Hemovida A figura 15 apresenta passo a passo o fluxo das informações do Hemovida na qual existe o nome de um setor do Hemocentro e um número de ordem do fluxo de doação no Hemovida. O setor de Recepção é onde o doador informa os seus dados cadastrais e onde recebe os resultados de exames. No setor Pré- Triagem são coletados os sinais vitais do doador, como, por exemplo, peso, temperatura, pressão arterial e outros. No setor da Triagem Clínica o doador passa por uma entrevista clínica, na qual irá deixar o doador apto ou inapto para doação, ou seja, ele poderá doar ou não. Se o doador for apto, ele passa para o setor de Triagem Hematológica; se ficar inapto ele receberá uma orientação e não poderá doar. No setor de Triagem Hematológica o doador faz o teste para verificação de seu hematócrito, ou seja, o resultado desse exame irá informar se o doador está ou não com anemia. Se o resultado do exame for maior ou menor que a porcentagem permitida para doar, o doador não poderá doar. O doador sendo apto é gerado e impresso um código de barras que será colado nas três bolsas e nos dois tubos de ensaio.
42 42 O setor de Coleta é onde o doador irá doar o sangue. Após o término da doação, é medida a pressão do doador novamente e logo após ele é liberado para o lanche. O doador doa uma bolsa de sangue total com aproximadamente 462 ml e é retirado em um tubo de ensaio 5 ml e no outro 10 ml de sangue, para serem feitos os exames necessários. O primeiro passo para o desenvolvimento do DW foi a análise da modelagem das tabelas da base de dados do Hemovida. A figura 16 representa as tabelas que foram utilizadas. Figura 16 Base de dados do Hemovida.
43 43 Pode-se observar que na figura 16 as tabelas não possuem relacionamentos, pois as ligações entre as tabelas são controladas pela aplicação do Hemovida. A base de dados do Hemovida tem todo o controle do fluxo do sangue, desde o atendimento ao doador até a distribuição do sangue para os hospitais. O acesso à base foi restrito, pois a mesma possui informações confidenciais que envolvem a sorologia dos doadores e não foi possível obter as informações do setor laboratorial. Dessa forma o desenvolvimento do projeto foi realizado com o ciclo da doação do sangue, ou seja, desde o atendimento prestado ao doador até a coleta do sangue. 4.2 Modelagem Dimensional A modelagem é uma das etapas mais importantes para a construção do DW e exige uma análise detalhada do domínio, pois a partir dele é que serão retiradas todas as informações que validam o DW. Através da ferramenta DBDesigner 4 foi criado o modelo dimensional do DW e em seguida o código para a criação do modelo físico do DW no SQL Server 2005 (este código está detalhado na subseção 4.2.4). Com isso o DW foi dividido em três Data Marts, ou seja, três assuntos. Nas subseções seguintes serão apresentadas todas as tabelas relacionadas a este DW Data Mart Atendimento O DM de Atendimento foi criado com o propósito de obter o máximo de informações possíveis sobre o atendimento prestado aos doadores de sangue do Hemocentro. Este DM contém as seguintes tabelas: Dimensão_Doador, Dimensao_Local_Coleta, Dimensao_Tempo, Dimensao_Suspenso, Dimensao_Tipagem_ABO e a tabela de fatos, Fato_Atendimento. A figura 17 representa o DM construído com a utilização da ferramenta DBDesigner 4.
44 44 Figura 17 Data Mart Atendimento Nas tabelas a seguir serão apresentados os atributos que compõem cada tabela no DM Atendimento. Tabela 1 Representação dos atributos da tabela Dimensao_Doador. Dimensao_Doador Atributos Seq_Dimensao_Doador Cod_doador Dat_nascimento Dat_nascimento_faixa Cor Sexo Naturalidade Municipio Descrição Chave primária da tabela Dimensao_Doador Identificador dos doadores Identifica a data de nascimento do doador Identifica a data de nascimento por faixa, para controle de granularidade Identifica a cor do doador Indica o sexo do doador Identifica a cidade em que o doador nasceu Identifica a cidade onde o doador reside
45 45 Estado_civil Bairro Escolaridade Indica o estado civil do doador Identifica o bairro da cidade onde o doador reside Indica qual o grau de escolaridade do doador A tabela 1, Dimensao_Doador, possui os dados que identificam um determinado doador. Nesta tabela é possível identificar a cor, sexo, naturalidade entre outras características do doador. Um detalhe importante nesta tabela envolve o atributo Dat_nascimento, para este atributo foi gerado um outro atributo correspondente chamado Dat_nascimento_faixa. No primeiro consta a data de nascimento dos doadores, no segundo atributo está contido a faixa etária em que o doador está inserido que foi definido na fase de análise da base do DW para que o acesso do usuário Comum fosse menos detalhado e assim diferenciar os perfis. Para definição da divisão das faixas foi utilizada uma técnica chamada Distribuição de Freqüência. Esta técnica é usada quando se trabalha com uma grande quantidade de dados, neste caso ela está sendo aplicada para o controle de granularidade que cada usuário vai possuir ao acessar a aplicação, conforme proposta apresentada neste projeto. O primeiro passo para definir a distribuição de freqüência foi ordenar os dados do atributo data de nascimento do doador, da tabela Dimensao_Doador, em ordem crescente. Com isso, o próximo passo foi determinar o número de intervalos de classe (K), que foi obtido pela regra de Sturges conforme Equação (1) (REBOITA, 2005). ( log n) K = 1 + 3,3 10 (1) O valor de n é o total de elementos do conjunto de dados, no caso foi igual a Com a execução desta regra se obteve o valor aproximado de K igual a 17. O próximo passo foi determinar a amplitude dos intervalos de classe (h). Para isso foi utilizada a Equação (2).
46 46 h = [ xmáx ( xmín 1) ] K (2) Nesta fórmula o valor máximo de x foi o maior registro de ano encontrado numa data de nascimento, e o valor do mínimo de x é, portanto, o menor ano de nascimento encontrado na base de dados. Os valores obtidos com a aplicação da distribuição de freqüência foram adicionados ao atributo Dat_nascimento_faixa e podem ser conferidos na tabela 2 a seguir. Tabela 2 Representação da Distribuição de Freqüência. Distribuição de Freqüências Intervalos de classe Freqüências a a a a a a a a a a a a a a a a a 109
47 47 A próxima dimensão está relacionada com o local da coleta, a Dimensao_Local_Coleta armazena todos o municípios onde são oferecidos o serviço de coleta de sangue. Esta dimensão pode ser conferida na tabela seguinte. Tabela 3 Representação dos atributos da tabela Dimensao_Local_Coleta. Dimensao_Local_Coleta Atributos Descrição Seq_Dimensao_Local_Coleta Chave primária da tabela Dimensao_Local_Coleta Nome Identifica o nome do local da coleta Municipio Refere-se ao município responsável por uma determinada coleta Existe uma tabela no DW que contém todas as datas existentes referentes a um período de tempo, este período foi definido pelo desenvolvedor do DW e está dividido por dia, mês, ano e data completa. Foi utilizado o período de tempo entre 01/01/1980 até 31/12/2030. As doações que estão cadastradas na base de dados só tiveram início no ano de 1999, porém havia a necessidade de cadastrar na base doações anteriores que estivessem arquivadas. Quanto ao ano de 2030, este pode ser alterado de acordo com a necessidade da organização. Esta tabela se chama Dimensao_Tempo e está representada a seguir. Tabela 4 Representação dos atributos da tabela Dimensao_Tempo. Dimensao_Tempo Atributos Seq_Dimensao_Tempo Dia Mes Ano Data Descrição Chave primária da tabela Dimensao_Tempo Identifica um determinado dia Identifica um determinado mês Identifica um determinado ano Refere-se a uma data completa
48 48 Para armazenar os dados referentes ao tempo em que o doador ficará inapto para doação, foi criada a tabela Dimensao_Suspenso. Nela é possível identificar se o doador pode iniciar o processo de doação de sangue. A tabela 5 representa os atributos desta tabela. Tabela 5 Representação dos atributos da tabela Dimensao_Suspenso. Dimensao_Suspenso Atributos Seq_Dimensao_Suspenso Cod_doador Tipo Motivo Num_dias Tipo_inaptidao Descrição Chave primária da tabela Dimensao_Suspenso Identificador dos doadores Identifica se o doador ficou suspenso por intercorrência ou por doação Identifica o motivo da suspensão Refere-se ao número de dias que o doador ficará suspenso Identifica o tipo da suspensão, se é definitivo ou temporário Na tabela Dimensao_Tipagem_ABO estão contidas todas as informações referentes a tipagem sangüínea do doador. Também é possível identificar nesta dimensão o fator Rh dos sangues existentes. Seus atributos estão representados na tabela 6. Tabela 6 Representação dos atributos da tabela Dimensao_Tipagem_ABO. Dimensao_Tipagem_ABO Atributos Descrição Seq_Dimensao_Tipagem_ABO Chave primária da tabela Dimensao_Tipagem_ABO Grupo_ABO Indica as tipagens sangüíneas utilizadas no hemocentro Rh Identifica se o fator Rh do doador é positivo ou negativo
49 49 A tabela de fato deste DM possui os dados referentes ao atendimento prestado ao doador no hemocentro. Com isso a mesma possui em seus atributos a referência de todas as dimensões relacionadas a este processo. Esta tabela foi chamada de Fato_Atendimento e seus atributos estão representados abaixo. Tabela 7 Representação dos atributos da tabela Fato_Atendimento. Fato_Atendimento Atributos Descrição Seq_Dimensao_Doador Chave estrangeira da dimensão doador Seq_Dimensao_Local_Coleta Chave estrangeira da dimensão local da coleta Seq_Dimensao_Tempo Chave estrangeira da dimensão tempo Seq_Dimensao_Suspenso Chave estrangeira da dimensão suspenso Seq_Dimensao_Tipagem_ABO Chave estrangeira da dimensão do tipo de sangue Tipo_doacao Indica se a doação foi voluntária, reposição, autóloga, convocado, dirigido ou campanha Data Mart Triagem O DM a seguir está relacionado à triagem, que é feita nos doadores num determinado período. Esta triagem define se o doador poderá doar, fazendo uma verificação minuciosa para evitar que o sangue coletado esteja com algum problema e possa prejudicar a pessoa que vai receber o sangue. A figura 18 mostra o relacionamento das tabelas que estão envolvidas neste processo.
50 50 Figura 18 Data Mart Triagem Neste DM a tabela Fato_Triagem está ligada às seguintes dimensões: Dimensao_Doador, Dimensao_Tempo, Dimensao_Suspenso e apenas uma das dimensões diferencia-se das dimensões citadas anteriormente, a Dimensao_Pre_Triagem. Nesta tabela é possível identificar uma série de fatores que podem evitar que o doador chegue à seção de coleta do hemocentro, caso ele não esteja em condições de efetivar a doação. Para isso existem várias informações que devem ser confirmadas e estão contidas nos atributos desta tabela, que pode ser conferida a seguir.
51 51 Tabela 8 Representação dos atributos da tabela Dimensao_Pre_Triagem. Dimensao_Pre_Triagem Atributos Descrição Seq_Dimensao_Pre_Triagem Chave primária da tabela Dimensao_Pre_Triagem Cod_doador Identificador dos doadores Peso Identifica se o fator Rh do doador é positivo ou negativo Temperatura Indica a temperatura do doador Pulso Indica a pulsação do doador Pressão Identificador de pressão do doador Hematocrito Indica se o doador está anêmico Data_atendimento Refere-se à data que ocorreu a pré-triagem A tabela de fato Fato_Triagem contém os dados da pré-triagem para a doação do sangue e através do relacionamento com as dimensões indicadas anteriormente a mesma possui informações importantes referente à triagem feita no Hemocentro. Abaixo estão os atributos contidos nesta tabela. Tabela 9 Representação dos atributos da tabela Fato_Triagem. Fato_Triagem Atributos Descrição Seq_Dimensao_Doador Chave estrangeira da dimensão doador Seq_Dimensao_Tempo Chave estrangeira da dimensão tempo Seq_Dimensao_Suspenso Chave estrangeira da dimensão suspenso Seq_Dimensao_Pre_Triagem Chave estrangeira da dimensão pré-triagem Situação_aptidao Indica se o doador está apto a doar Volume_solicitado Identifica o volume solicitado para coleta Auto_excluiu Indica que o doador solicita o descarte da bolsa
52 Data Mart Coleta Para chegar ao setor de coleta do Hemocentro o doador deverá ter passado pelo atendimento, pré-triagem e triagem. Uma vez que os critérios dos outros setores são atendidos o doador poderá efetuar a doação do sangue. Neste DM estão inseridas todas as informações referentes à coleta do sangue. Este DM possui em seu modelo as seguintes tabelas: Dimensao_Doador, Dimensao_Bolsa, Dimensao_Tempo, Dimensao_Suspenso, Dimensão_Tipagem_ABO e a tabela de fato Fato_Coleta que podem ser conferidas no modelo da figura 19 abaixo. Figura 19 Data Mart Coleta A única dimensão que não foi citada e nem utilizada pelos outros DMs foi a tabela Dimensao_Bolsa. Nesta dimensão estão identificadas as informações sobre a bolsa onde o sangue será armazenado, os atributos desta dimensão estão na tabela 10 a seguir.
53 53 Tabela 10 Representação dos atributos da tabela Dimensao_Bolsa. Dimensao_Bolsa Atributos Seq_Dimensao_Bolsa Volume Conector Descrição Chave primária da tabela Dimensao_Bolsa Indica o volume de sangue da bolsa coletada Identifica o número do conector utilizado na coleta do sangue O DM da coleta tem no seu centro a tabela de Fato_Coleta, com este DM é possível identificar informações sobre as coletas do sangue efetuadas no Hemocentro. Os atributos existentes nesta tabela estão representados abaixo. Tabela 11 Representação dos atributos da tabela Fato_Coleta. Fato_Coleta Atributos Seq_Dimensao_Doador Seq_Dimensao_Bolsa Seq_Dimensao_Tempo Seq_Dimensao_Suspenso Num_doacao Descrição Chave estrangeira da dimensão doador Chave estrangeira da dimensão bolsa Chave estrangeira da dimensão tempo Chave estrangeira da dimensão suspenso Indica o número da doação Base de dados do Data Warehouse Após a criação do modelo dimensional a ferramenta DBDesigner 4 gerou o script para a criação das tabelas no SQL Server Parte do script gerado pode ser conferido na figura 20 e o script completo esta anexado ao final deste trabalho.
54 /* Tabela Dimensao_Doador */ CREATE TABLE Dimensao_Doador ( Seq_Dimensao_Doador INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Cod_doador CHAR(9) NULL, Dat_nascimento DATE NULL, Dat_nascimento_faixa CHAR(30) NULL, Cor CHAR(25) NULL, Sexo CHAR(15) NULL, Naturalidade CHAR(40) NULL, Municipio CHAR(40) NULL, Estado_civil CHAR(30) NULL, Bairro CHAR(30) NULL, Escolaridade CHAR(40) NULL, PRIMARY KEY(Seq_Dimensao_Doador) ) Figura 20 Script gerado pela ferramenta DBDesigner 4. Com o script gerado, o próximo passo foi executá-lo no SQL Server 2005, porém, esta execução não obteve êxito com este código, pois se percebeu que tratava-se de um código SQL gerado para outra ferramenta de banco de dados, conhecida como MySQL, e não havia a opção de gerar o código para a criação das tabelas no SQL Server Dessa forma, após análise, foram necessárias algumas alterações para o funcionamento do código. Foram retirados os comandos AUTOINCREMENT e UNSIGNED que existiam no primeiro script e com isso foi gerado um novo código (em anexo). Com a execução do script alterado, foi criado o banco do Data Warehouse no SQL Server 2005, o qual está representado no diagrama da figura 21 a seguir.
55 55 Figura 21 Representação do DW criado no SQL Sever Processo ETL (Extract, Transform and Load) O processo ETL (Extração, Transformação e Carga) tem o objetivo de preencher as tabelas do DW, ou seja, transferir os dados tratados da base para todas as dimensões e fatos existentes no DW. Para este processo foi utilizado o Transformation Data Task do SQL Server 2005, a partir dele é possível extrair dados de tabelas de outros formatos e preencher as tabelas no SQL Server Esta característica foi de suma importância para o carregamento de algumas
56 56 tabelas, pois houve a necessidade de utilizar a ferramenta Excel do pacote da Microsoft Office 2003 para limpeza e organização dos dados. O início do processo ETL se deu com a execução de consultas do tipo select do SQL Server 2005 na base de origem do Hemovida. Nesta etapa foram selecionados os atributos que seriam utilizados nas tabelas dimensões e que atenderiam às necessidades das consultas definidas. Após a realização destas consultas as informações contidas no SQL Server 2005 foram copiadas para o Excel e foi dado o início no processo de limpeza. Como exemplo para este processo, será utilizada a tabela Dimensao_Doador. A figura 22 representa o processo de seleção na base de origem. Figura 22 Representação de um select dos atributos da base de origem para a dimensão doador. Após a seleção dos atributos necessários para a montagem da tabela dimensão, a próxima etapa foi copiar todos os dados da tabela para o Excel. A limpeza dos dados foi iniciada nesta fase e pode ser conferida na figura 23 a seguir.
57 57 Figura 23 Representação da tabela com os dados tratados e prontos para serem carregados. Em todas as tabelas dimensões foi criado um atributo seqüencial que serviu como índice para identificação das tabelas. Nesta tabela o atributo foi chamado de Seq_Dimensao_Doador e teve em seu total o valor de linhas. O processo de limpeza dos dados exigiu a eliminação de todos os valores NULL existentes na tabela, neste caso estes valores implicavam em dados que não eram informados na base de origem, logo todos foram substituídos. O grau de granularidade que distinguiu o perfil dos usuários foi definido através do atributo Data_nascimento_faixa. Este por sua vez foi carregado nesta fase. Para o cálculo da faixa etária foi utilizada a técnica de distribuição de freqüência explanada anteriormente. Nos atributos cor, municipio, estado civil, e escolaridade foram substituídos todos os valores numéricos existentes por informações que correspondiam às características dos doadores. Para o atributo sexo foi utilizado
58 58 o formato Masculino e Feminino de acordo com a característica de integração do DW. Na subseção a seguir será explicado todo o processo de carga das tabelas dimensões e fatos DTS (Transformation Data Task) Para a etapa de transformação e carga dos dados foi utilizada a ferramenta Transformation Data Task do SQL Server Com isso foi possível transformar os dados que estavam em outros formatos para o SQL Server Algumas tabelas foram carregadas diretamente do SQL Server 2005 utilizando o mesmo procedimento, mas apenas em tabelas onde não houve a necessidade de limpeza. O início deste processo pode ser conferido na figura 24 abaixo. Figura 24 Seleção da base que será importada (origem) para a base destino Neste momento foi necessário fazer a seleção da base de origem, no caso, a base do Excel, para o carregamento da base destino existente no SQL Server 2005 nomeada de Data_Warehouse. Depois de selecionadas as bases, o próximo passo foi fazer a opção da tabela e conseqüentemente dos atributos que seriam carregados. A figura 25 representa como foi este processo no SQL Server 2005.
59 59 Figura 25 Seleção da tabela e dos atributos para o carregamento. Com isso, o carregamento da tabela foi concluído e todos os dados foram importados e inseridos na tabela Dimensao_Doador. Este processo foi repetido em todas as dimensões existentes no DW, a figura 26 ilustra uma tabela carregada no SQL Server 2005, após todo processo ETL. Figura 26 Tabela Dimensao_Doador carregada no SQL Server 2005.