Saraiva,
Na minha opinião esta justificativa vem da velha máxima de deixar a
aplicação independente do banco de dados, assim o BD seria apenas um
"repositório de dados" e a inteligencia ficaria toda na camada de
aplicação. Ao meu ver isto funciona com bancos de dados corporativos
aonde o medo de se perder o famoso "suporte" faz com que se tome esta
postura.
Para mim deve-se pesar exatamente que regra está sendo implementada,
algumas devem sim estar no banco de dados por ser a opção mais
inteligente pois voce estaria desenvolvendo seu código numa linguagem
que o próprio SGBD entenderia melhor, veja o caso do PL/SQL do Oracle
)-:) e o nosso pl/Pgsql. No caso do PGSQL ainda é possível desenvolver
em uma infinidade de linguagens o que não ocorre com o Oracle e
SQL/Server. Banco de dados para mim foram feitos para serem exigidos ao
máximo, os nossos limites geralmente estão na infraestrutura
disponibilizada e na maioria das vezes temos uma máquina exclusiva e física.
Outro fato que impede a ida de regras de negócio para o banco
reside na falta de preparo dos desenvolvedores em conhecer melhor as
linguagens de manipulação de dados e deixar para os softwares
especialistas a manipulação, tipo Hibernate, e como consequência
perde-se na performance pois isto traz um padrão de codificação que nem
sempre é a melhor.
Se o projeto é bem desenvolvido e documentado e riscos bem
identificados, podemos sim ter regras de negócio em qualquer camada,
seja no banco ou na aplicação.
Rogério Cunha Carvalho
"Muitos são os planos no coração do homem, mas o que prevalece é o
propósito do Senhor." Provérbios 19:21
"There are many plans in a man's heart; nevertheless the counsel of the
LORD, that shall stand." Proverbs 19:21
Em 14-01-2016 18:25, Saraiva Silva escreveu:
Isso é um assunto recorrente no meio da comunidade de desenvolvimento,
e é quase unanimidade entre desenvolvedores a contrariedade em deixar
as regras de negocio no banco. Mas eu nunca vi a opinião de DBAs a
respeito.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral