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.