Em SGBDs relacionais onde existe um número muiiiiiiiito grande de consultas, as vezes é necessário desnormalizar, gerando algumas redundâncias para aumentar a velocidade das consultas, neste caso atualizações são complexas e gatilhos podem reduzir muito o esforço no desenvolvimento do software.
Att,
Rodrigo Marcel
Nem todos os projetos são como twitter. Se for qualquer crud e ninguém for usar...Essa é minha visão. Se eu fosse escrever um projeto, não colocaria 1 regra no banco.
Mamilos
"Em um projeto, não necessariamente você precisa usar só um banco de dados Nosql, é possível usá-lo em conjunto com qualquer outro banco de dados. Os bancos Nosql são indicados para grandes cargas de dados, exigência de velocidade na consulta e escrita em grandes volumes de dados.
Ainda segundo o gráfico, 90% dos sites atualmente podem usar sem problemas algum os bancos de dados tradicionais, pois o ganho de performance não seria tão significativo; para os 10% restantes é aconselhável o uso do NoSQL.
A idéia que o conceito NOSQL nos passa é que ele não pode ser generalizado como a resposta de todos seus problemas, mas sim para problemas específicos. "
TUDO DEPENDE DO PROJETO.
- Pode passar?
- Pode
- Ok, aqui é Fabio Akita da Rubyconf 2011 - fechamento, fica a dica; regra em banco de dados... embutido: pense 2 vezes."
- Valeu!
A dica foi para pensar duas vezes antes de por a regra no banco. Porque, se agir na primeira, é muito provável que irá fazer alguma caca (como por ventilador-de-teto na parede :P ).
galera com maior conhecimento em SQL provavelmente vai optar por colocar toda a regra no banco, como os engenheiros de software tendem a colocar essas regras dentro do aplicativo e aplicar a arquitetura apropriada, design patterns, frameworks e organizá-los.
Galera do regras-no-banco pode argumentar que podemos fazer “alterações instantâneas " sem recompilar o código e gerar novas versões, e os desenvolvedores regras-no-código podem argumentar que PL/SQL, TSQL,etc são línguagens tão limitadas para depurar e expressar regras de negócio complexas que podem ser muito melhor avaliadas no código, aí é quando Tb concordo com o Lauro quando disse que qnd a regra fica no banco perdemos todas as vantagens da orientação a objetos.
Acredito que escolhendo um design e um arquitetura correta para o projeto essas regras de negócio devem ficar dentro do aplicativo... E pra que o banco de dados? Obtenção de dados e alguma lógica, mas o cérebro de resolver o problema de negócio para mim não vai ser dentro de um procedimento armazenado.
Acho que se por essa discussão em um fórum de SQL e ver qual a resposta deles provavelmente será "põe tudo em procedimentos armazenados!" rs
É isso ai galera, antes de viajar, quero abrir uma discussãozinha aqui aproveitando o gancho do que ta rolando na comunidade.
No dia que fizemos nossa reuniãozinha no Extra, em uma de nossas conversas, um dos brothers abriu um assunto que, como eu disse lá, existem discussões quilométricas sobre ele por ai a fora. Em seguida, comentei, para alguns que estavam por lá, que abriria um post em seguida pra saber a opinião da galera sobre o fato, mas acabei arquivando.
Então. No Halloween, sei lá o que aconteceu com nosso titio Uncle Bob (redundância?), que ele começou escrotizar várias coisas em seus tweets. Foi uma aula muito foda e só lamento aos que não tem uma conta lá, pois não vou transcrevê-los aqui (6).
Pois bem, vamos ao foco. Em um desses tweets do tio, ele falava sobre regra de negócio no banco, usando SQL ou quaisquer variação dela. Em seguida a galera do dot net architects abriu um post sobre isso também que rendeu, e tá rendendo, centenas de mails.
Por fim, eu quero saber da nossa galera aqui: qual é sua posição com relação a manter business rules no banco nos dias de hoje?
Estou indo à RubyConfBr agora, juntamente com meu brother Murillo, e esperamos trazer bastante novidades de lá para nossa comunidade. Agitem ai, galera!
o>
@DadoCe
--
Você recebeu essa mensagem porque está inscrito no grupo "YoDojo" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para yodojo+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.