MS Access vs MS SQL Server

10

Estas são duas ofertas da Microsoft - MS Access e MS SQL Server.

Para que tipo de usuários / usos o Access é destinado? Além do grau de uso (em termos de número de usuários), esses dois produtos são iguais?

Moeb
fonte

Respostas:

5

O MS Access é na verdade uma combinação de uma ferramenta de interface do usuário de desenvolvimento rápido e banco de dados relacional (JET) baseado em sistema de arquivos.

Prós:
- Fácil implantação, basta copiar o arquivo para a rede e informar às pessoas o caminho para ele. - Prototipagem rápida e ferramentas de desenvolvimento de interface do usuário muito boas para aplicativos do tipo banco de dados - Geralmente muito mais barato de implantar, especialmente para pequenas instalações.

Contras - Manutenção - Você precisa bloquear todos os usuários quando quiser fazer a compactação, reparo ou outra manutenção do banco de dados. - Como resultado do uso de um banco de dados baseado em arquivos, é mais propenso a corrupção de dados com um grande número de usuários ou com conexões de rede inadequadas. - Embora o número seja debatido, você maximizará o número de usuários que você pode oferecer suporte com um único banco de dados do Access muito mais cedo do que com o SQL.

O MS SQL Server é um sistema de banco de dados relacional cliente-servidor, sem ferramentas de desenvolvimento de interface do usuário incorporadas.

Prós:
- Manutenção - Muitas ferramentas de manutenção podem fazer a maior parte com os usuários no DB. Assim, você obtém maior tempo de atividade.
- Escala corporativa - foi projetada para suportar muito mais usuários e dimensiona melhor para lidar com eles.

Contras: - Caro - Para o seu aplicativo de 5 usuários acompanhar algumas centenas de milhares de itens, pode ser um exagero.
- Mais complexo - Todos os recursos extras introduzem uma curva de aprendizado. - Sem ferramentas de desenvolvimento de interface do usuário - Você precisará de outra plataforma de desenvolvimento para criar um front-end e (sem dúvida) relatórios. Na verdade, o Access pode funcionar como um front end para o SQL, mas por vários motivos, os DBAs tendem a odiar os usuários do Access que se conectam aos seus bancos de dados.

Miscelânea
- Embora você possa ouvir o contrário, não tome a decisão com base no tamanho do banco de dados, faça a chamada com base nos recursos e no tamanho da sua base de usuários.
- O acesso, na verdade, é uma ferramenta de interface do usuário muito boa para bancos de dados hospedados no SQL Server. Portanto, a resposta certa pode ser "Ambos", dependendo de suas necessidades.

JohnFx
fonte
2
Uma observação sobre o custo do SQL Server, se a necessidade não for muito grande, o SQL Server Express pode funcionar como gratuito. No entanto, existem limitações ( microsoft.com/sqlserver/2008/en/us/express.aspx ). Mas fornece um bom avanço do Access quando o arquivo MDB atinge esse requisito diário de reparo e compactação para mantê-lo em execução.
Agent_9191
Seus prós / contras de acesso não fazem sentido, exceto se você estiver usando as piores práticas para distribuir seu aplicativo. Ninguém com senso algum distribui um aplicativo do Access, exceto dividido em front end (formulários / relatórios / etc.) E back-end (somente tabelas de dados). Seus prós / contras desaparecem completamente ao seguir as práticas recomendadas.
David W. Fenton
@ David - Talvez eu não estivesse claro. Com a implantação fácil, eu basicamente quis dizer que é mais fácil implantar um aplicativo para outra parte. Ou seja, você não precisa orientá-los na instalação ou licenciamento do SQL Server, o que pode ser um problema para um usuário que quer apenas começar a funcionar rapidamente em um sistema pequeno. Acho que nada do que eu disse implicava que você não o cuspisse no front / back-end, mas obrigado pelo esclarecimento.
precisa saber é
4

A pergunta é boba. SQL Server e Access não são nem o mesmo tipo de produto. É como perguntar qual é a diferença entre um hotel e um caminhão Mack - a pergunta nem faz sentido.

O motivo é porque o SQL Server é apenas um mecanismo de banco de dados, enquanto o Access é uma ferramenta de desenvolvimento de aplicativo de banco de dados. O SQL Server é para armazenar dados, enquanto o Access é para criar aplicativos para manipular dados.

Agora, o Access é fornecido com um mecanismo de banco de dados padrão, Jet / ACE, e por isso todo mundo usa casualmente "Access" para se referir ao mecanismo de banco de dados. Eles estão errados e imprecisos quando usam o Access e o Jet / ACE de forma intercambiável, e isso gera todo tipo de confusão se você não especificar o que quer dizer. Embora você não possa comparar o Access estritamente falando com o SQL Server, certamente pode comparar o SQL Server ao Jet / ACE, porque você está comparando mecanismos de banco de dados, não maçãs e móveis.

Não entrarei em detalhes, mas direi que a decisão de qual mecanismo de banco de dados é mais apropriado dependerá das tarefas que você está pedindo. É como comprar um veículo para transporte. Se você é uma pessoa solteira e só precisa de um carro para ir ao supermercado e ao shopping, vai se sair bem com um Mini Cooper. Se, por outro lado, você é um negócio e precisa transportar centenas de caixas de inventário entre o armazém e a loja, precisará de um caminhão Mack.

Seria bobo para o indivíduo tentar usar um caminhão Mack apenas para ir ao shopping e ao supermercado, e igualmente bobo para tentar transportar o estoque da sua empresa usando um Mini Cooper. Ambos podem ser feitos, mas é extremamente inconveniente.

Portanto, é necessário decidir para qual finalidade você está usando um mecanismo de banco de dados e, em seguida, escolher o mecanismo de banco de dados mais adequado para os objetivos em questão. Existem muitos cenários em que o Jet / ACE é mais do que adequado e facilitará as coisas para você.

Também existem muitos cenários em que seria imprudente começar com ele, e você deve usar um mecanismo de banco de dados do servidor como o SQL Server. O Jet / ACE será inadequado para qualquer número de cenários, e o SQL Server será um grande exagero para outros, mas você não pode dizer qual é até examinar os requisitos específicos de qualquer cenário específico.

Por fim, o Access é uma ótima ferramenta para criar seu aplicativo front-end com um banco de dados Jet / ACE por trás dele ou um banco de dados SQL Server. Na verdade, é muito fácil fazer o upsizing do Jet / ACE para o SQL Server, se você tiver sido cuidadoso ao criar um aplicativo eficiente do Access, e esse é um cenário muito comum, ou seja, comece com o front end do Access e o back-end do Jet / ACE, e conforme as necessidades aumentam, você aumenta o tamanho para um back-end do servidor e mantém o aplicativo Access existente.

David W. Fenton
fonte
3

O acesso é mais direcionado ao usuário final, pois é um pacote com tudo incluído. É principalmente para um uso de cada vez, mas oferece suporte a vários usuários, embora de uma maneira indireta desajeitada. Lembre-se, é uma ferramenta no MS Office.

O MS SQL Server é um banco de dados SQL real. Ele foi projetado para ficar em um servidor e atuar como o banco de dados de qualquer front-end que você deseja colocar nele. É principalmente para vários usuários e pretende ser centralizado.

Forçar Fluxo
fonte
"Banco de dados SQL real"? Um tipo de termo nebuloso lá. Pela descrição seguinte eu acho que você quis dizer "Banco de dados cliente-servidor Platform"
JohnFx
2

Além da resposta do Force Flow, eles também fornecem ferramentas diferentes e uma interface do usuário diferente.

O Access tem uma maneira de criar tabelas, gerar consultas usando um assistente, gerar relatórios usando um assistente, criar macros etc. A compactação e outras ferramentas de manutenção estão integradas. É um pequeno banco de dados tudo em um.

O SQL Server tem mais poder e menos manipulação. Você precisa conhecer bancos de dados e SQL para usá-lo corretamente e precisa de manutenção adequada.

thursdaysgeek
fonte