Quem nunca colocou regras de negócio dentro de um banco de dados? Isso sempre foi algo extremamente natural e muitas vezes estimulado no desenvolvimento de software, principalmente nos sistemas em "duas camadas", permitindo assim centralização de uma regra entre diferentes aplicações ou partes de uma aplicação e otimizando determinadas chamadas.
Contudo, depois de um tempo você descobre que aquilo que era solução se mostrou uma uma péssima ideia, pois ela cria uma serie de problemas e você se vê com um abacaxi enorme nas mãos.
Um dos problemas gerados e aquele que eu considero como sendo o mais crítico é a fragmentação da lógica de negócios entre a aplicação e o banco.