Professional Documents
Culture Documents
SRGIO KOKITSU
O Banco de Dados Microsoft Access como ferramenta de desenvolvimento de Sistemas de Apoio Deciso
Braslia - DF 2011
SRGIO KOKITSU
O Banco de Dados Microsoft Access como ferramenta de desenvolvimento de Sistemas de Apoio Deciso
SRGIO KOKITSU
O Banco de Dados Microsoft Access como ferramenta de desenvolvimento de Sistemas de Apoio Deciso
Monografia apresentada Universidade Grande Fortaleza como requisito parcial para a obteno do ttulo de Especialista em Gesto da Tecnologia da Informao: Banco de Dados.
Braslia-DF, 2011
SRGIO KOKITSU
O Banco de Dados Microsoft Access como ferramenta de desenvolvimento de Sistemas de Apoio Deciso
Dedico este trabalho aos meus pais e minha famlia que me apoiaram, ajudaram e me deram fora nessa trajetria.
RESUMO
Esta pesquisa aborda os recursos do Microsoft Access para a construo de aplicaes voltadas para a alta gerncia de empresas, auxiliando-as no processo de tomada de decises. indicada para gerentes e profissionais de TI que estejam planejando, implementando ou gerenciando solues de banco de dados nas grandes corporaes. Fornece uma viso geral da ferramenta e apresenta cenrios nos quais pode ser utilizado. Mostra seu potencial e suas limitaes e a conexo com o banco de dados SQL Server e com o Microsoft SharePoint Server.
SUMRIO
1 Introduo ........................................................................................................................... 1 1.1 Apresentao do Problema de Pesquisa .......................................................................... 1 1.2 Reviso da Literatura ....................................................................................................... 2 1.3 Justificativa ...................................................................................................................... 3 1.4 Objetivos .......................................................................................................................... 3 1.4.1 Geral ............................................................................................................................. 3 1.4.2 Especficos .................................................................................................................... 4 1.5 Metodologia de Pesquisa ................................................................................................. 4 1.6 Descrio dos Captulos .................................................................................................. 5 2 Referencial Terico ............................................................................................................ 6 2.1 Cenrios de Uso ............................................................................................................... 7 2.2 Diferenas do Access em relao a outros bancos de dados ........................................... 9 2.3 Entendendo o formato de arquivo do Access ................................................................ 10 2.4 Ferramentas do Access para Sistemas de Apoio Deciso ........................................... 11 2.5 Resolvendo problemas de gerenciamento ..................................................................... 17 2.5.1 Convertendo um banco de dados Access para SQL Server ........................................ 19 2.5.1.1 Tomando a deciso de converter a aplicao .......................................................... 20 2.5.2 O Access como front-end para outros bancos de dados ............................................. 22 2.5.2.1 Ligao (linking) do Access com o SQL Server ..................................................... 22 2.5.2.2 Utilizando Access Data Project ............................................................................... 23 2.5.3 Access Services .......................................................................................................... 26 2.5.4 Reforando o gerenciamento com o SharePoint 2010................................................ 26 2.5.5 Uma breve histria da tecnologia Access / SharePoint .............................................. 27 2.5.6 Publicando um banco de dados Access 2010 no Access Services ............................. 28 2.5.7 Distribuindo um banco de dados Access no SharePoint ............................................ 29 2.5.7.1 Armazenando bancos do Access em bibliotecas de documentos no SharePoint..... 29 2.5.7.2 Publicao de uma aplicao em Access Services .................................................. 30 2.5.7.3 Publicando Aplicaes somente-cliente ............................................................... 31 2.5.7.4 Opes de hospedagem em servidores SharePoint .................................................. 31 2.6 Imitando gatilhos (triggers) de tabela com macros de dados ........................................ 32 3 Concluso ......................................................................................................................... 34 3.1 Apresentao dos principais objetivos atingidos e suas solues ................................. 34 3.2 Principais contribuies ................................................................................................. 34 3.3 Aspectos positivos e negativos ...................................................................................... 34 3.4 Trabalhos futuros ........................................................................................................... 35 4 Referncias Bibliogrficas ................................................................................................ 36
1 Introduo
O Microsoft Access um sistema gerenciador de banco de dados relacionais da Microsoft que faz parte da sute de aplicativos Microsoft Office, includo nas edies Profissional e superiores. Embora sua primeira verso tenha sido lanada em 1992, ele continua sendo pouco usado pelas pequenas, mdias e grandes empresas, em parte pelo desconhecimento de seu potencial como ferramenta de desenvolvimento de aplicativos, e principalmente no
Atualmente na verso 2010, o Access pode ser utilizado para desenvolver desde simples aplicativos, at aqueles de nvel profissional. Como os outros membros do Office tm o suporte da linguagem VBA (Visual Basic for Applications), uma linguagem de programao orientada a objetos que pode referenciar uma grande variedade de objetos, incluindo DAO (Data Access Objects), ADO (Activex Data Objects), e muitos outros componentes Activex.
Objetos visuais usados em formulrios e relatrios podem expor seus mtodos e propriedades no ambiente de programao VBA, e mdulos de cdigo VBA podem declarar e chamar funes do sistema operacional Windows.
1.1 Apresentao do Problema de Pesquisa Embora o Access possa ser utilizado apenas como um simples armazm de dados, seria um desperdcio de funcionalidade, tendo em vista o enorme potencial que este aplicativo dispe.
O Access armazena os dados em seu prprio formato baseado no Access Jet Database Engine (JET). Ele tambm pode importar ou ligar-se diretamente a dados armazenados em outros aplicativos e bancos de dados.
Diante disso, este trabalho visa responder a seguinte questo: Como podemos utilizar o Access de forma profissional como uma ferramenta de desenvolvimento de Sistemas de Apoio Deciso (SAD)?
A pesquisa ser baseada em livros de autores consagrados e artigos disponibilizados em sites na Internet. De acordo com Chung (2010):
O sucesso do Access como o banco de dados mais popular do mundo um testemunho de sua capacidade e a necessidade universal por aplicaes de bancos de dados para programadores produtivos. O Access a primeira arma de escolha quando precisamos de bancos de dados relacionais, por causa de sua habilidade de rapidamente criar aplicaes de bancos de dados.
O Access pode no ter todos os recursos, a escalabilidade, performance, confiabilidade e segurana de aplicativos mais sofisticados, mas para muitas situaes, tais recursos so irrelevantes ou secundrios para o que ele oferece. O Access prope uma excelente soluo para tarefas de bancos de dados encarando tanto o uso individual como o de pequenos grupos de usurios espalhados por uma rede. O nmero de problemas de bancos de dados dentro de uma empresa que podem ser solucionados pelo Access muito maior do que aqueles solucionados por aplicativos mais caros e complexos. E com a queda de preos e o aumento de performance dos computadores ao longo do tempo, mais situaes envolvendo bancos de dados sero resolvidas com o Access.
programao ou design de banco de dados, a desenvolver aplicativos, com o uso de assistentes e ferramentas grficas. Mesmo para desenvolvedores profissionais, o Access uma ferramenta bastante til para a prototipagem de aplicaes ou para explorar e atualizar dados.
1.3 Justificativa
Com a venda e uso crescente da sute de aplicativos Microsoft Office, torna-se importante saber utilizar o aplicativo Microsoft Access, e no apenas se limitar aos aplicativos de uso comum, os quais so: o Microsoft Word, o Excel e o PowerPoint.
Alm disso, o uso do banco de dados Access facilitaria bastante as tarefas que demandassem a construo de aplicativos personalizados para a empresa, no se limitando a simples cadastros de clientes e fornecedores, por exemplo.
1.4 Objetivos
1.4.1 Geral
Demonstrar o uso do Access como estratgia de banco de dados dentro de uma empresa, auxiliando-a no processo de tomada de decises.
1.4.2 Especficos
Os objetivos especficos deste trabalho so: a) Observar situaes em que o Access pode ser utilizado como ferramenta de desenvolvimento de Sistemas de Apoio Deciso; b) Descrever a evoluo do Access desde as primeiras verses at a atual verso 2010; c) Analisar os recursos do Access que permitem o desenvolvimento de Sistemas de Apoio Deciso; d) Explicar o funcionamento do Access com o banco de dados Microsoft SQL Server e com o SharePoint Server 2010.
A pesquisa proposta neste projeto ser do tipo exploratria, ou seja, aquela que aproxima mais o pesquisador do universo pesquisado.
Para Gil (2002), esse tipo de pesquisa tem a finalidade de proporcionar maior familiaridade com o problema, com vistas a torn-lo mais explcito. Neste projeto, ela ser desenvolvida primordialmente mediante pesquisa bibliogrfica e consulta a sites na Internet, tendo em vista a enorme rapidez com que o software, neste caso, o Microsoft Access, evolui com o tempo. Esta pesquisa tambm ter carter qualitativo, pois preocuparemos menos com a generalizao, e mais com o aprofundamento e abrangncia da compreenso seja de grupo social, de uma organizao, de uma instituio, de uma poltica ou de uma representao. Seu critrio no numrico, e uma amostra ideal aquela que capaz de refletir a totalidade nas suas mltiplas dimenses (MINAYO, 1994, p.17).
A pesquisa abordar a evoluo do Access, desde suas primeiras verses at a verso mais recente - 2010, os recursos avanados que permitem sua conexo com o Microsoft SQL Server e com o Microsoft SharePoint Server 2010.
Cenrios tpicos sero mostrados, bem como o potencial e as limitaes na utilizao do Access como ferramenta de desenvolvimento de Sistemas de Apoio Deciso.
Finalizando o trabalho, sero mostrados os novos recursos do Access 2010, especificamente na melhoria da escalabilidade e do gerenciamento das aplicaes com a utilizao do Microsoft Access Services.
2 Referencial Terico
Sistemas de Apoio Deciso uma classe de Sistemas de Informao ou Sistemas baseados em Conhecimento. Refere-se simplesmente a um modelo genrico de tomada de deciso que analisa um grande nmero de variveis para que seja possvel o posicionamento a uma determinada questo.
Para Wildauer (2001), os SADs (Sistemas de Apoio Deciso) so sistemas informatizados que permitem o processamento analtico on-line para a tomada de deciso com o gerente de marketing, permitindo que os mesmos modelem uma situao em particular.
Convm aqui destacar que o Access no apenas um banco de dados, pois ele pode ser utilizado como ferramenta de desenvolvimento de sistemas.
consulta, formulrios para disponibilizar e entrar com dados, e relatrios para impresso. A base de dados Jet subjacente, que contm estes objetos, multiusurio e manipula o bloqueio de registros e a integridade referencial incluindo excluses e atualizaes em cascata.
Tarefas repetitivas podem ser automatizadas com o uso de macros e operaes de clicar e apontar. O Access popular entre noprogramadores e desenvolvedores profissionais. No-programadores
podem criar solues agradveis do ponto de vista visual e relativamente avanadas com pouca ou nenhuma programao. Tambm fcil colocar um banco de dados na rede e ter vrios usurios compartilhando e atualizando dados sem sobrescrever o trabalho de outro usurio. Os dados so bloqueados ao nvel de registro o que significativamente diferente do Microsoft Excel, o qual bloqueia a planilha inteira.
Aplicaes criadas totalmente com Access so adequadas para uso individual ou em grupo por meio de uma rede. O nmero de usurios simultneos depende de uma srie de fatores, tais como a quantidade de dados, tarefas sendo executadas, e o design da aplicao. Limites aceitveis so aplicaes com 01 Gb ou menos (Access suporta at 02 Gb). Esta capacidade bem adequada para solues departamentais. Aplicaes que executam consultas complexas ou anlises por grandes conjuntos de dados naturalmente requerem maior largura de banda e memria. O Access projetado para suportar mais dados e usurios atravs da ligao com mltiplos bancos Access ou usando um banco de dados back-end como o SQL Server. Com o SQL Server, a quantidade de dados e usurios pode atingir um nvel de aplicao corporativa.
A partir da verso 2010, houve uma melhoria significativa na escalabilidade, com a possibilidade de publicar bancos de dados Access diretamente no Microsoft SharePoint 2010.
Conforme a Wikipdia (2011), Access 2010 permite que bancos de dados sejam publicados em web sites do SharePoint 2010 rodando Access Services.
O Access traz poder aos usurios finais, pois possibilita o desenvolvimento de sistemas de forma rpida e com baixo custo (MICROSOFT, 2010).
Contudo, existe um problema nisso: a grande quantidade de bancos de dados Access espalhados pela empresa. Com o Access 2010 e o SharePoint 2010, isso resolvido. De acordo com a Microsoft (2010), possvel obter o melhor dos dois mundos: voc satisfaz a necessidade por desenvolvimento rpido das unidades de trabalho e ainda mantm os dados seguros, em backup, e gerenciados apropriadamente.
De acordo com Wikipdia (2011), o Access um banco de dados do tipo file-server (arquivo-servidor), ao contrrio de outros bancos de dados, tais como Oracle e SQL Server, que so do tipo client-server (cliente-servidor).
At a verso 2007, o Access no possua triggers, stored procedures ou log de transao. A partir da verso 2010, foi includo trigger ao nvel de tabela e stored procedures na engine do Access. Portanto, ser um banco de dados client-server no necessrio para se utilizar stored procedures e table triggers com o Access 2010 (WIKIPDIA, 2011).
10
Antes da chegada do Microsoft Office Access 2007, havia apenas uma extenso para arquivos de banco de dados Access: .mdb. O nome tradicional para um arquivo .mdb que armazenava aplicaes Access, objetos de dados, ou ambos, era banco de dados Access, pois a Microsoft lanou o Access 1.0 em novembro de 1993. Como outras ferramentas de programao de banco de dados e tecnologias (Visual Basic e ADO.NET) comearam a usar arquivos .mdb, banco de dados Jet se tornou a designao preferida para arquivos Access contendo apenas as tabelas e consultas. Verses posteriores do Access foram apenas um de muitos produtos e ferramentas de programao da Microsoft a tirar partido do motor de banco de dados Jet.
O uso de bases de dados Jet em produtos da Microsoft tornou-se to difundida que o grupo de desenvolvimento do Windows incorporou bibliotecas de vnculo dinmico (DLLs) Jet / Access, como parte dos Sistemas Operacionais Windows 2000, XP, 2003 e Vista. Quando a equipe do Windows decidiu fazer do Jet, parte do Windows 2000 edies Profissional e Server, a equipe do SQL Server tomou posse do Jet.
O Jet 4.0, que o Access 2000, 2002 e 2003 usam, o Jet mais recente e a ltima verso. A equipe do SQL Server considera seu principal produto como sendo o "banco de dados estratgico" para aplicativos do Windows e no est disposta a investir recursos na adio de novas funcionalidades ou melhorias do Jet.
A equipe do Access queria aumentar a compatibilidade de suas tabelas de banco de dados com as listas do Windows SharePoint Services 3.0. Isso exigiu a criao do tipo de dados Campo de Pesquisa Multivalorado e o tipo de dados Anexo. Portanto, a equipe do Access criou uma nova verso exclusiva do Jet para o Access o Access Database Engine (s vezes chamado de Access Connectivity Engine, ou ACE) para o Access 2007 e posterior. O motor atualizado necessita que arquivos de banco de dados .mdb sejam substitudos por arquivos com a extenso .accdb para ter acesso aos novos recursos.
11
A determinao da Microsoft para tornar o banco de dados SQL Server o mecanismo de escolha para o Access 2007 e verses posteriores outra razo para mudar a terminologia do motor (Jet) do Access para aplicaes que usam arquivos .accdb.
O Access 2002 adicionou dois novos recursos voltados para Sistemas de Apoio Deciso: o PivotTable (tabela dinmica) e o PivotChart (grfico dinmico). Na realidade, ambos so vises (views) de tabelas, consultas e formulrios.
Tabelas dinmicas e grficos dinmicos so ferramentas poderosas para resumir dados detalhados armazenados no Access ou bancos de dados SQL Server. Como consultas de referncia cruzada, tabelas dinmicas apresentam dados gerados por consultas agregadas em um formato do tipo planilha que familiar a todo o pessoal de contabilidade e gesto. Vises de tabela dinmica fornecem aos usurios do Access os mesmos benefcios das planilhas do Excel sem a necessidade de cham-lo para manipular os dados. Vises de grfico dinmico transformam
automaticamente vises de tabela dinmica em grficos de linha, barra, ou de rea. Tabelas dinmicas e grficos dinmicos realizam o objetivo principal de front-ends de suporte deciso - converter dados de processamento de transaes online (OLTP) para informaes de negcio utilizvel (BI).
Uma das formas mais comuns de tabela dinmica a que exibe sries temporais de dados, tais como pedidos ou vendas por trimestre para um ou mais anos. A figura a seguir mostra um exemplo de consulta desse tipo.
12
Figura 1: Esta consulta em modo design fornece dados detalhados sobre as vendas dos empregados por pas.
O objetivo da consulta da figura 1 retornar alguns dados tais como: nome do empregado, pas, trimestre das vendas e o total apurado das vendas no trimestre, para o ano de 2006.
Nota-se
relacionamento
formado
entre
as
tabelas
Employees
(Empregados), Orders (Pedidos) e Order Subtotals (Subtotais dos Pedidos) para que se ocorra o resultado esperado.
13
Figura 2: A mesma consulta da Figura 1, em modo planilha, com as legendas dos campos alteradas, retornou 408 pedidos realizados no ano de 2006.
A figura 2 mostra que ao se executar a consulta, obtm-se um conjunto de 408 registros, os quais so os pedidos realizados pelos empregados da companhia no ano de 2006.
interessante observar que uma mesma pessoa (Davolio) efetuou pedidos para pases diferentes (UK e USA), o que nos faz supor tratar-se de uma aplicao de uma grande empresa multinacional de vendas.
14
Figura 3: Ao se criar uma nova viso de tabela dinmica a partir de uma tabela ou consulta, a lista de campos da tabela ou consulta fica focada.
A figura 3 mostra a tabela dinmica originada a partir da consulta anterior com a janela lista de campos da tabela dinmica ativada. Nota-se que a rea de soltura (drop zone) no contm nenhum campo (campos de filtro, campos de coluna, campos de linha, e campos de totais / detalhes).
15
Figura 4: Quando se arrasta um campo da lista de campos da tabela dinmica para uma rea de soltura, essa rea fica com um contorno azulado mais grosso.
A rea de soltura da tabela dinmica inclui os seguintes campos: Campos de Coluna: normalmente contm campos baseados em datas a fim de se criar uma srie temporal da esquerda para a direita. Campos de Linha: contm um ou mais campos que mostram dados por atributo(s). Adicionando campos de linha faz aumentar o grau de detalhamento da tabela dinmica (drill-down). Campos de totais ou detalhes: a rea central da tabela dinmica, mostrando os dados tabulados. Essa rea s aceita campos com valores numricos ou campos para o qual voc apenas deseja exibir uma contagem de registros.
16
Campos de filtro: contm um ou mais campos opcionais que permitem restringir o nmero de campos que aparecem nas colunas, linhas, ou ambos.
Figura 5: Depois de arrastar os quatro campos para os locais mostrados anteriormente, o padro de exibio da tabela dinmica inclui valores detalhados para cada registro. Neste caso, os valores dos pedidos realizados pelo empregado por trimestre aparecem nas colunas criadas.
Na figura 5, como exemplo, foi colocado o campo 2006 Quarter na rea de coluna, Name na rea de linha, Orders na rea de totais/detalhes, e Country na rea de filtro.
17
Figura 6: Ao arrastar o campo Pas (Country) da lista de campos para a direita do campo Nome (Name), exibem-se os pedidos para cada pas.
Na figura 6, arrastou-se o campo Country da rea de filtro para a direita do campo Name a fim de se identificar o pas de cada pedido.
Ao criar uma aplicao em Access, alguns usurios adotam a estratgia de dividi-la em duas partes: de um lado ficam as tabelas de dados e de outro, os demais objetos (formulrios, relatrios, consultas, mdulos VBA, macros), conforme a figura seguinte.
18
Figura 7: Neste cenrio, cada usurio executa uma cpia local da aplicao Access que aponta para um banco de dados compartilhado em uma unidade de rede.
Entretanto, este tipo de aplicao tem a desvantagem de criar mltiplas verses de front-ends, tornando difcil seu gerenciamento.
Uma forma bastante comum de se lidar com este problema a migrao das tabelas do Access para um banco de dados SQL Server.
O Access inclui uma ferramenta de migrao, capaz de exportar as tabelas para o SQL Server e fazer a ligao entre eles. O SQL Server tambm possui uma ferramenta deste tipo chamada SQL Server Migration Assistant for Access (SSMA).
Com a migrao, obtm-se melhoria da confiabilidade, escalabilidade e segurana. Entretanto, necessrio que o usurio tenha privilgios e treinamento para poder criar, manter e administrar bancos de dados SQL Server. Algumas empresas de TI restringem o nmero de usurios que possuem tal privilgio.
19
Nem sempre aconselhvel a converso (upsizing) de um banco de dados Access para SQL Server, pois isso envolve vrios fatores.
A seguir, temos um quadro comparativo entre Access e SQL Server. Os critrios listados abaixo podem ser muito teis no processo de tomada de deciso.
2 gigabytes (GB) At 20 editores simultneos. At 100 relatrios simultneos sendo executados. Segurana baseada em acesso ao arquivo. Limitado ao modelo de compartilhamento de arquivo. Adequado para uso individual ou pequenos grupos. Recuperao de falhas de rede no pode ser revertida.
Segurana ao nvel de empresa. Limitado apenas ao projeto de hardware e aplicao. Alta confiabilidade. SQL Server um banco de dados de misso crtica. Ferramentas de backup e administrao disponveis.
20
Uma vez que as tabelas de dados foram separadas dos objetos de aplicao, exige-se pouco trabalho para migrar as tabelas para um banco de dados SQL Server e mudar os links para usar ODBC para acesso aos dados. O Access inclui assistentes de converso (upsizing) para exportao de tabelas para SQL Server e sua ligao. O SQL Server tambm fornece uma ferramenta chamada SQL Server Migration Assistant para Access (SSMA).
A parte mais importante nesse processo reconhecer que nem todos os bancos de dados Access precisam ser convertidos. A maioria das
aplicaes em Accces no deve ser convertida, pois o custo e interrupes dos negcios no um uso econmico de recursos. Estes bancos de dados funcionam em atividades corriqueiras do dia-a-dia, e no precisam de caractersticas, tais como escalabilidade, segurana e 100 por cento de confiabilidade. Para a maioria das organizaes, apenas uma pequena percentagem de bancos de dados Access so candidatos para a converso. Alm disso, a partir da lista de candidatos para converso, a maioria pode ser convertida usando um processo de baixo custo, onde somente os dados so movidos para o SQL Server. Toda a funcionalidade da aplicao em termos de formulrios e relatrios mantida no Access. Alm disso, somente uma porcentagem menor de projetos requer reescrever a aplicao em um novo ambiente, tal como .NET. Em geral, estes projetos justificam o custo da converso, porque caractersticas alm da capacidade do Access so necessrias, e uma oportunidade de negcio existe. O quadro a seguir mostra as oportunidades de converso.
21
No tamanho certo S converter dados Converter dados e aplicao usando tecnologia .NET Fonte: Microsoft (2004)
Muitos bancos de dados Access no precisam ser convertidos Manter projeto e lgica da aplicao em Access e converter dados para SQL Server.
Reescrever aplicao usando Visual Studio.NET 3% e converter dados para SQL Server.
3% 7%
90%
Converter dados
A figura 8 mostra o quadro anterior em formato de grfico. Percebe-se que a maioria das aplicaes no necessita de converso.
22
Conforme dito anteriormente, o Access pode conectar-se com outros bancos de dados. Neste trabalho, ser mostrada a sua utilizao como front-end para o banco de dados Microsoft SQL Server, devido a ambos serem da mesma empresa de software.
Existem duas maneiras para conectar o Access com o SQL Server: Ligao (linking) via ODBC (Open Database Connectivity) Utilizao de Access Data Project (ADP)
Com o linking, fazemos uma ligao entre uma tabela do Access com o SQL Server, o qual atuar como fonte de dados. Neste cenrio, o Access usa o Jet para executar consultas, armazenar definies de objetos, gerenciar tabelas temporrias, e manter as configuraes de segurana. No entanto, todos os dados da tabela so armazenados no SQL Server, conforme mostrado na figura 9.
Observa-se que para se fazer o linking, devemos separar os arquivos da aplicao em Access (formulrios, relatrios, mdulos, macros, consultas) dos dados propriamente ditos. Os arquivos da aplicao ficam armazenados localmente nos computadores dos usurios e so chamados de front-ends. Os dados ficam armazenados em um arquivo compartilhado na rede, chamado de back-end.
No lado do usurio (front-end), existe apenas a referncia tabela armazenada no banco de dados SQL Server (back-end).
23
Figura 9: Vrias aplicaes Access (front-ends) acessando um banco de dados SQL Server compartilhado na rede, via motor Jet.
Outra maneira para se conectar o Access com o SQL Server consiste em se utilizar ADP (Access Data Project).
Segundo Jennings (2011, p. 1089), ADPs, tambm chamados de Projetos Microsoft Access ou Aplicaes Access Cliente / Servidor, permitem a conexo ao Microsoft SQL Server, edio Express e outras edies, em seu computador.
24
De acordo com Jennings (2011, p. 1091), ADPs so mais adequados para os seguintes tipos de aplicaes, no Access 2010:
Front-ends para bancos de dados SQL Server novos ou j existentes. Access 2010 uma ferramenta de desenvolvimento bastante rpida e eficiente (Rapid Application Development - RAD) para front-ends de aplicaes cliente / servidor.
Novos projetos que exigem armazenamento de dados mais robusto ou que precisam da capacidade de seletivamente criptografar tabelas individuais, colunas ou pblica. at clulas, com criptografia de chave
Qualquer
projeto
que
provvel
que
tenha mais
de
25
usurios conectados simultaneamente um candidato para um backend SQL Server. Aplicaes que 2008 Express, prximo ou mesmo de ADPs do voc espera converter para o SQL Server um fcil a seu futuro migrao
Standard, ou
Enterprise em
SQL
computador
para SQL Server Standard ou edies maiores em execuo no Windows Server 2003 ou posterior. Usando ADPs, ao invs
de tabelas do Access, assegura-se uma rpida e perfeita transio de um banco de dados SQL Server Express local (SSX) para SQL Server 2000, 2005 ou 2008. Aplicaes que precisam restringir a edio de dados ou acesso a tabelas especficas ou consultas a usurios ou grupos
especficos. Access 2010 no oferece suporte a segurana a nvel de usurio ou grupo para qualquer objeto, incluindo tabelas de dados do Access. SQL Server fornece permisses muito granulares a usurios ou grupos. Projetos que utilizam replicao em mo-dupla do SQL Server 2005 ou posterior para sincronizar vrias cpias do banco de dados. A replicao do SQL Server mais robusta e flexvel do que a verso oferecida pelo Access 2003 e anteriores (Access 2010 e 2007
no suportam replicao).
25
ADPs, introduzidos no Access 2000, so aplicaes front-end que ignoram o mecanismo de banco de dados. O Access 2000 e verses
posteriores tm a capacidade de se conectar diretamente com o SQL Server sem a necessidade do motor de banco de dados (JET), como mostrado na figura a seguir.
Figura 10: Access acessando SQL Server sem o uso do motor Jet.
Uma das vantagens de se utilizar ADP que no h mais necessidade de se compactar o arquivo front-end regularmente. Segundo Jennings (2011, p.180):
Access 2000 e verses posteriores armazenam objetos da aplicao (formulrios, relatrios, macros e mdulos) em um novo formato de arquivo composto chamado de DocFile. Aplicaes comuns de Access
armazenam o objeto DocFile dentro do arquivo .accdb. ou. mdb. ADPs, que agora representam a abordagem preferida para a criao de aplicaes Access que se conectam a bancos de dados SQL Server, armazenam o DocFile diretamente no disco como um arquivo . adp.
26
Combinando front-ends ADP com backends SQL Server elimina a necessidade de periodicamente compactar arquivos accdb e,
Access Services um novo recurso do Microsoft SharePoint Server 2010 Enterprise Edition que suporta ampla integrao com Microsoft Access 2010. Esta integrao permite aos usurios estender a facilidade de desenvolvimento de aplicaes do Access com a criao de formulrios para a Internet e relatrios, alm de permitir aos gerentes de TI, estender a facilidade de gerenciamento do SharePoint 2010 ao gerenciamento de dados, objetos de aplicaes e comportamento da aplicao em Access.
O SharePoint 2010 foi projetado para apoiar a criao segura e escalvel de milhares de sites por usurios com o mnimo de treinamento e privilgios. Alm disso, o SharePoint Server altamente gerencivel. Ele tem um modelo de segurana que fortemente integrado com o Active Directory. O backup de dados assegurado, e uma lixeira multi-nvel proporcional uma fcil recuperao de itens excludos.
Uma grande vantagem do uso do Access com o SharePoint a possibilidade de os usurios acessarem as aplicaes de qualquer browser em qualquer dispositivo, contornando a limitao do Access em relao ao seu uso na Internet e sua restrio ao sistema operacional Windows.
27
28
integridade referencial e aplicao de regras de validao, no poderiam ser implementados sem recorrer programao de fluxo de trabalho complexa no computador que est executando o Office SharePoint Server ou Windows SharePoint Services. Access 2010 e SharePoint 2010 sanam essas deficincias. Problemas de desempenho foram eliminados atravs de caching de dados do lado do servidor e e do cliente. Integridade referencial e as formas bsicas esperadas de validao de dados agora esto habilitados no servidor sem necessidade de qualquer programao personalizada. Para validao mais avanadas, os usurios podem facilmente usar as macros do Access para criar personalizaes baseadas em servidor de fluxo de trabalho. Alm disso, Access 2010 oferece novas maneiras de integrao com o SharePoint 2010 que permite aos usurios executar aplicaes Access usando apenas um browser. Estas novas capacidades, com base em Access Services em execuo no SharePoint Server 2010, exigem licenas Enterprise CAL, mas solues econmicas hospedadas esto disponveis pela Microsoft e terceiros para as organizaes que no tm instalaes no local.
Com o Access 2010, podemos publicar um banco de dados do Access no Access Services, o qual cria um site do SharePoint para a aplicao. Todas as tabelas locais so transferidas para listas do SharePoint.
Aps a publicao do banco de dados, ele se torna um banco de dados Web. Os usurios podem adicionar formulrios, relatrios, consultas e macros, os quais podem funcionar no computador que est executando o servidor SharePoint quando a aplicao executada em um navegador (browser) ou no cliente quando a aplicao funciona no Access.
29
A publicao de bancos de dados Access no Access Services do SharePoint Server, ao invs de simplesmente salv-los em bibliotecas de documentos no SharePoint, fornece trs vantagens: Aplicaes publicadas podem conter formulrios e relatrios que esto habilitados para funcionar em um browser, bem como no cliente Access. Aplicaes publicadas so armazenadas e sincronizadas com maior granularidade e eficincia do que as aplicaes em bibliotecas de documentos. Aplicaes publicadas so mais gerenciveis do que as aplicaes armazenadas em bibliotecas de documentos.
Existem diferentes topologias que so suportadas para a integrao do Access com produtos SharePoint. Segundo a Microsoft (2010), so as seguintes:
O Access 2007 suporta a utilizao de bibliotecas de documentos no SharePoint para armazenamento e implantao centralizada de aplicaes do Access, incluindo suporte para formulrios e relatrios do Access em bancos de dados armazenados em bibliotecas de documentos.Quando eles so abertos pelo usurio, o banco de dados aberto
automaticamente no cliente Access. Os usurios podem mover aplicaes inteiras para bibliotecas no SharePoint. As aplicaes so sempre executadas no cliente Access, e eles sero baixados somente quando um usurio abre pela primeira vez a aplicao ou quando a verso do servidor atualizada. Uma restrio que os objetos de design nestas aplicaes so somente leitura. Para fazer alteraes de design, o usurio deve trabalhar em outra cpia local e enviar a nova verso, que substitui a
30
antiga no servidor. Estas aplicaes podem trabalhar com tabelas de acesso local, dados em listas do SharePoint via tabelas vinculadas, ou qualquer outra fonte de dados externa suportada. Adicionalmente, bibliotecas de documentos devem ser usadas apenas como suporte legado para usurios que no tiverem atualizado para o Access 2010 ou para as instalaes de tecnologia SharePoint que no suportam Access Services. Access Services oferece muitas vantagens sobre o uso de aplicaes em Access tradicionais armazenadas em bibliotecas de documentos. Aplicaes em Access 2010 publicadas no SharePoint Server usando Access Services suportam alteraes de projeto e permitem que vrios usurios colaborem no projeto. As alteraes de projeto so rastreadas por objeto e no por projeto, resultando em menos conflitos. Alm disso, Access Services suporta a adio de objetos Web que os usurios podem acessar atravs de um browser, sem depender exclusivamente do cliente Access.
O Access 2010 combinado com o Access Services apresenta a capacidade de publicar uma base de dados para o SharePoint Server. Um site criado para o banco de dados e tabelas so armazenadas como listas do SharePoint. Formulrios web ficam disponveis a partir de um browser, o site e os dados so copiados (backup) e os nveis de permisso so mantidos pelo SharePoint Server. O processo de publicao move os dados do banco de dados para o SharePoint Server e converte as tabelas para tabelas vinculadas. Os usurios tm a opo de usar os objetos da Web no navegador ou abrir o banco de dados do site no lado do cliente, possibilitando o acesso aos objetos do cliente que tambm esto armazenados dentro do site.
Os usurios tambm podem se conectar a listas do SharePoint a partir de bancos de dados que nunca sero publicados no SharePoint Server. Por exemplo, um usurio pode criar um banco de dados da Web simples para coletar dados de outros usurios na web. Em uma aplicao separada, o usurio pode conectar-se aos dados e criar relatrios que combinam esses dados com outras fontes de dados.
31
Listas do SharePoint vinculadas no Access 2010 tambm tem o mesmo suporte como tabelas Web para o trabalho offline. Usurios desconectados podem exibir ou modificar os dados offline e depois sincronizar com o servidor quando reconectar. Alm disso, os usurios podem se utilizar de interfaces Web padro no SharePoint Server para trabalhar com os dados da lista, mesmo que os dados no estejam em um banco de dados Access publicado na Web.
Adicionando tabelas Web para estas aplicaes, os usurios tm a capacidade de estender seus aplicativos para incluir alguns formulrios e relatrios que so executados na Web.
32
Um novo recurso que o Access 2010 introduziu a macro de dados (data macro). At a verso 2007, macros controlavam eventos ativados por formulrios e relatrios. Macros de dados so ativadas por tabelas do Access ao nvel de registro, pelos eventos: Antes de Atualizar, Antes de Excluir, Aps Inserir, Aps Exclui e Aps Atualizar.
Macros de dados correspondem a triggers (gatilhos) do SQL Server. Citando Jennings (2011, p. 821):
Macro de dados um novo recurso do Access 2010 que permite estender a coleo de contineres para macros, incorporadas em formulrios e relatrios, para tabelas do Access. Macros de dados respondem a eventos gerados por instrues DML (linguagem de manipulao de dados), tais como os comandos SQL do Access INSERT, DELETE e UPDATE. A este respeito, macros de para SQL Server, que dados so so um semelhantes tipo especial a de
triggers (gatilhos)
Ao contrrio dos formulrios e relatrios do Access, as tabelas no tem propriedades de eventos cujos valores podem ser definidos
para macros incorporadas ou procedimentos VBA de manipulao de eventos. Cria-se macro de dados, abrindo-se uma tabela em modo design, selecionando as Ferramentas de tabela - aba de design, e clicando no boto Criar Macros de Dados para abrir a sua galeria de macros orientada a eventos como mostrado na figura a seguir.
33
Figura 11: o boto Criar Macros de Dados permite que voc selecione uma nova macro orientada a eventos baseada em cinco eventos (After Insert, After Update, After Delete, Before Delete, Before Change). O boto Editar Macro Nomeada s ativado depois que voc cria uma macro nomeada para a tabela.
A utilizao de macro baseada em eventos de dados tem como objetivo validar os dados em registros recm-criados e alterados a fim de garantir a consistncia de dados da tabela. Uma vantagem significativa de macros baseadas em eventos de dados que uma nica macro serve para todas as formas de entrada de dados, incluindo os formulrios (forms) do Access.
34
3 Concluso
Este trabalho tinha como objetivo principal, justificar a utlizao do Access como ferramenta para a criao de sistemas de apoio deciso.
Acredito que tal objetivo foi alcanado, visto que foram demostrados alguns recursos que permitem o desenvolvimento desses sistemas, tais como a Tabela Dinmica e o Grfico Dinmico.
O trabalho realizado mostra a evoluo do Access como ferramenta na criao de sistemas de apoio deciso, como front-end para outros bancos de dados, e o aumento de sua escalabilidade ao se associar seu uso com o SharePoint Server.
Demonstra tambm que o Access ainda tem muito futuro pela frente, tendo em vista sua ligao com o SharePoint Server 2010.
Como aspecto positivo nesta pesquisa, destaca-se o novo recurso de macro de dados que o Access 2010 trouxe, tornando-o mais compatvel com o SQL Server.
Um aspecto negativo que a pesquisa revelou foi a tomada de posse pela equipe do SQL Server do formato Jet que pertencia antes equipe do Access.
35
Isso obrigou a equipe do Access a criar uma verso exclusiva do motor de banco de dados, a partir da verso 2007: o ACE.
Como a pesquisa neste trabalho se concentrou nos recursos do Access para a criao de sistemas de apoio deciso, foram deixados de lado, assuntos mais complexos e recentes, como a ligao com o SQL Azure e o recm lanado Office 360.
Tambm no foram abordados assuntos mais corriqueiros, embora importantes, tais como os formulrios, relatrios, e as consultas de referncia cruzada.
Este trabalho pode ser continuado exatamente do ponto onde parou: a evoluo da escalabilidade do Access, utlizando-se da computao na nuvem (cloud computing), ou seja, a utlizao cada vez maior da infra-estrutura disponibilizada na Web (SQL Azure e Office 360).
Tenho certeza de que o futuro do Access (e de outros softwares) estar cada vez mais baseado na computao na nuvem.
36
4 Referncias Bibliogrficas
CHUNG, L. Database Evolution: Microsoft Access within an Organizations Database Strategy. 2010. Disponvel em: <http://www.fmsinc.com/microsoftaccess/Strategy/>. Acesso em: 27 abr. 2011.
JENNINGS, R. Microsoft Access 2010 in depth. 1. ed. Indianapolis: Pearson Education, 2011.
MICROSOFT. When to Migrate from Microsoft Access to Microsoft SQL Server. 2004. Disponvel em: <http://download.microsoft.com/download/5/d/0/5d026b60-e4be-42fc-a2502d75c49172bc/when_to_Migrate_from_Access.doc>. Acesso em: 21 jul. 2011.
------. Improving the Reach and Manageability of Microsoft Access 2010 Database Applications with Microsoft Access Services. 2010. Disponvel em: <http://accesshosting.com/reachandmanagabiltyofaccess2010.pdf>. Acesso em: 21 jul. 2011.
------. Microsoft Database Solutions. 2010. Disponvel em: <http://accesshosting.com/microsoftdatabasesolutions.pdf>. Acesso em: 28 abr. 2011.
37
MINAYO, M. C. S. O desafio do conhecimento: pesquisa qualitativa em sade. 5. ed. So Paulo: Hucitec, 1994.
WIKIPDIA. Microsoft Access. 2011. Disponvel em: <http://en.wikipedia.org/wiki/Microsoft_access>. Acesso em: 27 abr. 2011.
------. Sistema de Suporte Deciso. 2011. Disponvel em: <http://pt.wikipedia.org/wiki/Sistema_de_apoio_%C3%A0_decis%C3%A3o>. Acesso em: 21 jul. 2011.
WILDAUER, E. W. Marketing, sistemas de apoio deciso e banco de dados. In:______. Marketing e Banco de Dados: a contribuio da informao nas decises de marketing. Revista Uniandrade. Curitiba - PR, v. 2, p. 33-44. 2001.