Numa aplicação é indispensável ter as operações que pegam os dados da base de dados. As operações que retornam registos da base de dados são: A visualização dos detalhes, listagem e pesquisa de um registo. Normalmente, estas três operações acessam a mesma consulta.
Na medida que a base de dados cresce, as consultas fiacam mais complexas e para cada operação, teremos que reescrever as mesmas consultas.
Como resolver?
Para simplficar o acesso a esses dados, podemos criar uma VIEW SQL ou tabela virtual que vai armazenar as consultas complexas (que envolvem muitas junções) e trazer os dados que podem ser retornados na aplicação. Este passo pode ajudar quando a consulta fica mais complexa, visto que já temos a mesma armazenada.
A vantagem desta abordagem é que serão feitos menos leituras nas tabelas reais, evitando consultas lentas.
Exemplo: Uma empresa possui funcionários, cada funconário possui os dados pessoais contactos e cargo. Neste exemplo, deseja-se obter todos os dados dos funcionários nas operações.
Para este exemplo temos 2 soluções:
- A primeira solução seria fazer a junção de das tabelas em cada operação.
- A segunda seria criar uma VIEW e acessar em cada operação
Código da aplicação disponível em: https://github.com/ortizdavid/teste-viewsql