Desvantagens SPA
- Inconsistência e Redundância de dados: em aplicações criadas e mantidas por diferentes programadores, ao longo do tempo, é natural que os arquivos possuam formatos diferentes e os programas sejam escritos em diferentes linguagens de programação. Ainda mais, a mesma informação pode estar duplicada em diversos lugares (arquivos) e, pior, com possibilidade de ter conteúdos diferentes ao longo do tempo. Por exemplo, o endereço e o telefone de um cliente podem aparecer em um arquivo que contém registros de conta de poupança e em um arquivo que contém registros da conta corrente.
- Dificuldade de acesso aos dados: existe um programa aplicativo para gerar uma lista de todos os endereços dos clientes do banco. Considere por exemplo que um gerente necessitasse de uma relação de cliente que vivem em uma rua da cidade com CEP 97500-010. O diretor teria duas saídas: pegar a lista de clientes com os endereços completos e extrair a informação manualmente, ou pediria aos programadores para desenvolver o programa aplicativo necessário. Ambas alternativas eram insatisfatórias.
- Isolamento de dados: como os dados estão dispersos em vários arquivos, e estes arquivos podem possuir diferentes formatos, é difícil escrever novas aplicações para recuperação apropriada dos dados.
- Problemas de integridade: é comum que valores de determinados dados armazenados em um banco de dados devam satisfazer a certas restrições de consistência. Por exemplo, o saldo de uma certa conta bancária não pode cair abaixo de um determinado valor (digamos abaixo de R$ 100,00). Os desenvolvedores determinam o cumprimento desta restrição através da adição de código apropriado nos vários programas aplicativos. Entretanto, quando aparecem novas restrições, é difícil alterar todos os programas para alterar o valor. Um programa que não seja alterado pode gerar problemas imprevisíveis. O problema é