Simplificar queries com Views SQL

Ortiz de Arcanjo Antonio David - Mar 2 '22 - - Dev Community

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

Modelo Lógico
Image description

Código SQL
Image description

Script em Python 1
Image description

Script em Python 2
Image description

Resultados
Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player