Gravar campo calculado em tabela

[ad#texto]
Os DBA´s mais puristas irão jogar pedras e dizer que não se deve gravar campo calculado, o ideal é deixar que o software ou uma rotina interna do próprio banco de dados resgate os valores e faça o cálculo devolvendo o resultado.

Eu digo que o desenvolvedor deve decidir isso.

Por quê?

Porque nunca um software é 100% igual à outra, temos sim, regras genéricas que servem para nortear os métodos de desenvolvimento de software e para evitar que coisas bizarras ocorram, mas nunca devemos seguir cegamente, pois em casos específicos isso pode comprometer o seu software.

No caso do campo calculado digo que a grande maioria dos casos a regra da engenharia que diz que não devemos gravar em tabela campos calculados irá prevalecer e ser a melhor saída, mas casos específicos podem indicar completamente ao contrário.

Um exemplo disso é o problema de performance, imagine a sua rotina de cálculo:

  • É preciso buscar os dados para o cálculo do banco de dados;
  • A operação matemática é realizada;
  • O resultado é devolvido.

Nas duas primeiras etapas podemos ter um gargalo, ou no acesso aos dados ou no processamento em si da operação matemática e para ajudar se a sua aplicação exigir que a rotina seja executada diversas vezes em curtos espaços de tempo, a forma tida como correta pode comprometer a performance de todo o sistema.

É por isso que sempre digo que nunca devemos ter programadores e sim desenvolvedores, pois profissionais qualificados devem saber até mesmo quando agir na exceção a regra com o intuito de obter o melhor produto possível.

Os DBA´s mais puristas irão jogar pedras e dizer que não se deve gravar campo calculado, o ideal é deixar que o software ou uma rotina interna do próprio banco de dados resgate os valores e faça o cálculo devolvendo o resultado.

Eu digo que o desenvolvedor deve decidir isso.

Por quê?

Porque nunca um software é 100% igual à outra, temos sim, regras genéricas que servem para nortear os métodos de desenvolvimento de software e para evitar que coisas bizarras ocorram, mas nunca devemos seguir cegamente, pois em casos específicos isso pode comprometer o seu software.

No caso do campo calculado digo que a grande maioria dos casos a regra da engenharia que diz que não devemos gravar em tabela campos calculados irá prevalecer e ser a melhor saída, mas casos específicos podem indicar completamente ao contrário.

Um exemplo disso é o problema de performance, imagine a sua rotina de cálculo:

·

Os DBA´s mais puristas irão jogar pedras e dizer que não se deve gravar campo calculado, o ideal é deixar que o software ou uma rotina interna do próprio banco de dados resgate os valores e faça o cálculo devolvendo o resultado.

Eu digo que o desenvolvedor deve decidir isso.

Por quê?

Porque nunca um software é 100% igual à outra, temos sim, regras genéricas que servem para nortear os métodos de desenvolvimento de software e para evitar que coisas bizarras ocorram, mas nunca devemos seguir cegamente, pois em casos específicos isso pode comprometer o seu software.

No caso do campo calculado digo que a grande maioria dos casos a regra da engenharia que diz que não devemos gravar em tabela campos calculados irá prevalecer e ser a melhor saída, mas casos específicos podem indicar completamente ao contrário.

Um exemplo disso é o problema de performance, imagine a sua rotina de cálculo:

  • É preciso buscar os dados para o cálculo do banco de dados;
  • A operação matemática é realizada;
  • O resultado é devolvido.

Nas duas primeiras etapas podemos ter um gargalo, ou no acesso aos dados ou no processamento em si da operação matemática e para ajudar se a sua aplicação exigir que a rotina seja executada diversas vezes em curtos espaços de tempo, a forma tida como correta pode comprometer a performance de todo o sistema.

É por isso que sempre digo que nunca devemos ter programadores e sim desenvolvedores, pois profissionais qualificados devem saber até mesmo quando agir na exceção a regra com o intuito de obter o melhor produto possível.

É preciso buscar os dados para o cálculo do banco de dados;

· A operação matemática é realizada;

· O resultado é devolvido.

Nas duas primeiras etapas podemos ter um gargalo, ou no acesso aos dados ou no processamento em si da operação matemática e para ajudar se a sua aplicação exigir que a rotina seja executada diversas vezes em curtos espaços de tempo, a forma tida como correta pode comprometer a performance de todo o sistema.

É por isso que sempre digo que nunca devemos ter programadores e sim desenvolvedores, pois profissionais qualificados devem saber até mesmo quando agir na exceção a regra com o intuito de obter o melhor produto possível.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.