O que fazer direto no BD e o que fazer no C sharp?
10/06/2013
0
Estou aqui novamente com uma dúvida conceitual, mas que tem grande reflexo na prática.
É o seguinte: após ler alguns artigos sobre stored procedures e triggers, fiquei a dúvida de o que nós devemos programar no BD e o que devemos deixar no código da aplicação. Por exemplo: recentemente teve um artigo aqui sobre triggers no SQL Server em que foi dado um exemplo de um controle de caixa. Então eu pergunto: é interessante deixar esse controle de caixa por conta de triggers ou é melhor fazer na aplicação?
Isso foi um exemplo, claro. A dúvida pode ser resumida a: quais responsabilidades são interessantes de programarmos no BD atrabés de stored procedures e triggers e quais nós realmente devemos deixar na aplicação?
Grata.
Rachel Andrade
Posts
10/06/2013
Hector Figueroa
10/06/2013
Joel Rodrigues
Exatamente, cada caso é um caso. Mas com relação à manutenção, depende muito do que será feito, pois veja só: supondo, como a Rachel falou, um trigger que faz o lançamento das vendas em um caixa (registra o total vendido, somando no total do caixa). Imagine que em algum tempo é necessário lançar esses movimentos também em outra tabela.
1) se estiver tudo em um trigger, basta atualizar o script no BD;
2) se estiver na aplicação, será preciso recompilar a aplicação toda (salvo alguns casos, como web);
Ou seja, no banco facilitou a manutenção. =)
12/06/2013
Pjava
12/06/2013
Rachel Andrade
Grata a todos.
12/06/2013
Joel Rodrigues
1) esconder a lógica da aplicação no aplicativo, pois o banco qualquer um pode acessar e ver suas fórmulas e etc;
2) é mais fácil encontrar um programador que fizesse tudo em Delphi (no caso dele) que um que manjasse bastante de programação no bd;
12/06/2013
Pjava
13/06/2013
Joel Rodrigues
Aqui na empresa, um desenvolvedor opta por criar procedures para as operações de CRUD e utiliza-las em datasets tipados. Para gerar os procedures ele utiliza uma ferramenta chamada SSMS Tool Pack, muito útil por sinal.
Clique aqui para fazer login e interagir na Comunidade :)