Eu trabalho em uma empresa onde existem planilhas do Excel em todos os lugares. Como meus colegas não são programadores, tenho certeza de que não contemplaram que possa haver uma maneira melhor / mais fácil / mais produtiva de gerenciar seus dados. Naturalmente, defendo um tipo de aplicativo que pode alavancar os recursos encontrados em bancos de dados relacionais e front-ends interativos, adaptados às necessidades dos vários fluxos de trabalho atualmente distribuídos em planilhas diferentes.
O problema que tenho é que tentei explicar os méritos de tais sistemas para várias partes, mas, na falta de realmente escrevê-los do zero, estou tendo dificuldades para convencê-los ou até mesmo de expô-los à grama mais verde. As pessoas em geral entendem o Excel (mesmo que não sejam usuários avançados), mas talvez fiquem confusas quando a palavra 'banco de dados' aparecer ou você começar a falar sobre 'código'.
Alguém pode sugerir um método, com evidências de como um fluxo de trabalho foi aprimorado mudando de planilhas para um aplicativo real?
fonte
Respostas:
Quando as pessoas gerenciam dados, há três maneiras fundamentalmente diferentes de agregar valor:
Para computar no nível da aritmética simples, você não pode vencer o Excel. Mesmo se você for um programador experiente, poderá criar uma planilha em uma fração do tempo necessário para escrever e depurar um programa de computador. Você pode até agrupar dados em tabelas e usar funções de pesquisa para obter algumas das vantagens que obtém com as consultas. A tabela dinâmica e os recursos gráficos tornam os dados resumidos simples e fáceis.
Para armazenamento e recuperação no nível de arquivo / documento, o Excel é tão útil quanto o MS Word ou o MS Access. Para recuperação no nível de consultas SQL, o MS Access funciona muito melhor que o Excel, embora o Access seja severamente limitado, como você saberá se já comparou o Access com um DBMS de força industrial.
Para compartilhamento de dados, o Excel é extremamente primitivo. A maioria das lojas que adotam o Excel por contágio enfrentam problemas neste momento. Sua pergunta sugere que esse é o caso de sua loja.
Existem vários problemas na introdução de bancos de dados em um local que não está pronto para bancos de dados. Um é político. As pessoas que manipulam suas planilhas podem reconhecer o problema geral do sistema, mas estão extremamente satisfeitas com o controle que têm sobre seus pequenos dados. Você pode esperar resistência se tentar substituir o gerenciamento e o controle central pela solução descentralizada que você tem agora. Parte dessa resistência é justificada.
Outro é o custo dos bancos de dados. Como já foi afirmado em outra resposta, as desvantagens do banco de dados podem superar as vantagens.
Outra é a credibilidade dos bancos de dados. As pessoas que colocam dados nos bancos de dados geralmente o fazem porque é o trabalho delas ou talvez ganhem algo por si mesmas, como fazer um pedido em um site. Eles não fazem isso por espírito comunitário. Pelo menos não muito. Sem boas entradas, o banco de dados nunca ganha credibilidade.
Uma solução em que estou trabalhando agora em um site em que as planilhas estão apenas pegando é a criação de um protótipo de banco de dados no MS Access. Há uma desvantagem nítida nisso: as pessoas podem aprender a coisa errada sobre os bancos de dados, algo que terão que desaprender em um estágio posterior da evolução. Eu também acho que os recursos de relatórios do Access estão muito ausentes. e se você estiver pensando em usuários simultâneos, precisará pensar além do Access, embora o Access esteja fazendo progressos nesse sentido.
Gosto de três coisas sobre o Access: é simples, rápido e barato produzir protótipos primitivos. Quase não há curva de aprendizado, especialmente se você já entende a análise de dados e a composição da tabela.
Segundo, é menos intimidador do que um grande DBMS centralizado. Quando os usuários são mostrados como abrir uma tabela do Access no modo de exibição de tabela, apenas clicando nela, perdem o medo de tabelas. E o fato de um único arquivo armazenar os dados, as definições de dados e o aplicativo mantém as coisas simples para as pessoas que não pensam em termos de sistemas.
Terceiro, ele funciona bem com o Excel e o Word. copiar uma tabela ou consulta em uma planilha do Excel é tão simples quanto clicar em um botão.
Antes de chegar a esse ponto, tive que superar uma atitude esnobe que tinha sobre o Access. Não é SQL Server ou Oracle. Mas tem seus usos, desde que você entenda as limitações
Dito tudo isso, você ainda terá uma tarefa monumental quando chegar a hora de mudar sua loja de muitos bancos de dados do Access para um único banco de dados integrado em larga escala, com gerenciamento profissional e recursos compartilhados.
fonte
Gostaria de acrescentar algumas idéias / pensamentos à boa resposta de @ WalterMitty.
Ele está certo no que realmente depende da finalidade dos arquivos do Excel. Eu acrescentaria, no entanto, que se eles contêm regras E dados complexos, você pode pensar em aproveitar o poder dos mecanismos de regras. Os mecanismos de regras, como Drools , OpenRules ou OpenL Tablets, permitem que você use arquivos do Excel para armazenar as regras de negócios e (pelo menos para os Drools que eu conheço), para atualizar essas regras rapidamente.
É uma excelente maneira para as pessoas de espírito empresarial manterem o controle de seus ... negócios e separarem adequadamente os negócios dos dados que são seu trabalho, ou pelo menos o trabalho do departamento de TI. Acho que os empresários concordam que o armazenamento, a manutenção e o backup devem ser tirados de seus ombros. Você deve assustá-los um pouco com a parte de backup:
Agora, se você seguir esse caminho, pense também no fato de que, se você adicionar bancos de dados, será seu trabalho manter a saúde e a integridade deles. Ou seja, você deve conceber uma maneira ou preparar sua infraestrutura de TI para manter os backups de dados. Embora não seja tão sofisticado quanto os bancos de dados da Oracle ou da IBM, o Microsoft Access pode produzir backups (embora não tenha certeza de que isso possa ser automatizado).
Por último, mas não menos importante, se eles aceitarem, não esqueça que você precisaria de alguém para analisar os dados de negócios, conceber o banco de dados, preparar um plano de migração, permitir que as pessoas de negócios enviassem planos de evolução etc. Dependendo da quantidade de dados, pode ser um projeto de TI de um determinado tamanho e você provavelmente será responsável por ele . Prepara-te! :-)
fonte
Ao tentar persuadir as pessoas sobre as vantagens de usar um sistema diferente, evite tentar persuadi-las.
Eu sei que isso soa muito estranho.
Mas o que eu quero dizer é o seguinte:
Pessoas gostam de usar o sistema atual. Isso funciona para eles. É fácil de usar e rápido para fazer alterações. Para convencer as pessoas a usar outro sistema, trate-as como adultos:
Estabeleça os prós e contras do excel e de uma abordagem de banco de dados. Explique as conseqüências de curto e longo prazo de cada uma. Se você pode mencionar todos os benefícios de AMBOS e ainda persuadir as pessoas a mudarem, você fez um argumento convincente o suficiente. A chave é permitir que ELES tomem a decisão de que uma abordagem de banco de dados seja melhor baseada nos fatos e conceitos que você apresentou.
fonte
O problema que tivemos foi o de diferentes planilhas do Excel com propósitos diferentes, mas com os mesmos contatos. Então, quando um contato mudava de endereço, seria difícil sincronizar todo o excel e, embora o endereço fosse alterado na planilha 1 do excel, ele ainda recebia correio porque a planilha 2 do excel não era atualizada.
Resolvemos isso com um banco de dados central de clientes.
fonte
Eu trabalhei para uma organização que tinha planilhas em todo o lugar, principalmente porque os recursos de TI estavam irremediavelmente sobrecarregados. Eles teriam movido isso para um aplicativo se fosse possível - simplesmente não era possível.
Uma das coisas que fiz depois que saí dessa organização foi criada uma ferramenta para gerar programas de manutenção de tabela C # / SQL Server a partir de planilhas do Excel. Ele assume que o cabeçalho da coluna é o nome da coluna para fins de construção de tabela e rotulagem de campo. No entanto, este é um instrumento bruto. Acabou se acostumando a coisas que não tinham nada a ver com o Excel.
Os problemas que tivemos em várias categorias:
Validação: Quando as regras de validação são complicadas, as pessoas precisam manter os procedimentos em mente. É possível projetar a planilha com instruções 'if' em todo o lugar, desde que as pessoas entendam como elas funcionam.
Compartilhamento: como indicado em outro lugar, se uma pessoa tiver uma planilha de compartilhamento de rede aberta para leitura / gravação, outros usuários poderão apenas ler. Não estávamos no ponto em que poderíamos abrir uma planilha no modo de colaboração. Isso era outra coisa que o pessoal de TI não conseguia lidar no momento.
Consistência do esquema: na situação em que estávamos, tínhamos uma planilha para cada estado: o formato era comum, mas os dados do estado por estado viajavam em arquivos separados. Se alguém fez um uso criativo de uma coluna, todos tiveram que concordar com esse uso, o que nem sempre foi garantido.
As planilhas estavam sempre em um compartilhamento de rede e o backup do servidor todas as noites; portanto, nada disso era um problema. Havia também a possibilidade distinta de um deles ser acidentalmente enviado por e-mail para um destino ao qual não pertencia. Embora a probabilidade de dano real fosse pequena nesse caso, a organização era aquela em que "liderar pelo exemplo" era fundamental para sua credibilidade. Esse tipo de bagunça teria sido embaraçoso.
Vi um anúncio no Craigslist onde alguém precisava de um "Excel Guru". Passei isso para um amigo que estava entre os empregos, e ele descobriu que a empresa tinha um sistema de estimativa de contratação de obras operando em locais em todo o estado. Alguém aqui havia arbitrariamente manipulado o sistema para "fazê-lo funcionar mais em seu estilo". Qualquer que fosse esse estilo, causou muitos danos. Ele passou vários dias consertando. Dificilmente ele entregou o trabalho e foi pago, o chamaram de volta para consertar outro em outra cidade. Mesma história: alguém arbitrariamente o "corrigiu" para fazer o que queria. Este foi ainda pior.
Sistemas complicados como esse precisam estar 'fora do alcance' da personalização ad-hoc.
fonte