Eu e um amigo meu iremos fazer uma parceria para criar um sistema complexo, e estamos seguindo procedimentos para criação desse sistema, como levantamento de requisitos, Layout da pagina Web e por fim a modelagem do banco.
Acredito que modelagem do banco de dados é a parte mais importante do projeto, pois através dela será feita abstração das telas e a abstração das regras de negócio.
O projeto será realizado em PHP, e no futuro temos pretensão de migrar para Java.
Eu acredito que as regras de negócio devam ser somente incluídas no Back-End, porque se tentamos colocar regras de negócio direto no banco através de (triggers mysql) como temos pouca experiência em desenvolvimento, pode ser que tenhamos dificuldade de fornecer manutenção no projeto Web, porque um dia o meu professor de faculdade me disse que programação em Back-End é um mundo, programação em Frond-End é outro mundo, e programação em banco de dados é outro mundo, pois como a empresa está começando não dá para um programador saber de tudo, há não ser que exista um programador para Back-End e um outro para banco de dados, se mesmo que exista um programador para banco de dados, no dia que o programador de banco se desvencilhar do projeto, o projeto tudo ficará na mão do DBA.
Já o meu parceiro tem pensamento diferente, ele menciona que a alma do projeto está no banco de dados, e que é importante sufocar todas as regras de negócio no banco, pois sendo assim o sistema terá mais ganho de desempenho, Ele menciona que ele tem um amigo que saiu do Brasil para trabalhar na Alemanha, esse amigo dele é pesquisador na área de tecnologia da informação, ele diz que a boa pratica de melhorar o desempenho do sistema é colocar o máximo possível de regras de negócio no banco, utilizando triggers, views, cálculos, etc… e o mímino possível em código Back-End, otimizando a performance da aplicação, uma vez que se exige mais do servidor DB server side.
Eu gostaria de saber com você a opinião sobre esse assunto, precisamos de várias opiniões para conseguir decidir a evolução do projeto.
Depois que criamos a modelagem do banco de dados iremos criar (triggers mysql), mas precisamos de mais opiniões, porque caso contrário iremos somente criar a modelagem de banco de dados e parte para outra etapa do projeto como a questão do design das telas web.
