Esta pergunta não é sobre a diferença entre SQL e NoSQL. Estou procurando alguma justificativa para algo que realmente não faz sentido para mim no momento (talvez por causa da minha falta de compreensão ou apreço).
Iniciamos um novo projeto do zero usando o MVC5, o código da estrutura 6 da entidade e o SQL Server 2008. Quando o arquiteto revisou o esquema do banco de dados, foi declarado que todas as chaves estrangeiras e outras restrições desse tipo deveriam ser removidas, pois é "lógica de negócios" e deve ser aplicado na camada de negócios do código do aplicativo.
Minha opinião é que as chaves estrangeiras fazem parte da integridade referencial / de dados e realmente não imitam a lógica de negócios. Eu vejo a lógica de negócios como mais o processo e a validação que controla o que / quando / como / por que as referências são aplicadas. Eu posso entender que restrições únicas são indiscutivelmente processos de negócios, mas para mim isso apenas complementa a lógica e faz parte da integridade.
Um segundo argumento é o objetivo é adotar uma abordagem NoSQL para os dados. Achei isso realmente incomum e pouco ortodoxo: considerando o uso do SQL-Server 2008, a necessidade de geração de relatórios, os dados que não são redimensionados em terabytes e a falta de consideração em relação a tecnologias como Mongo, Raven etc.
Alguém já se deparou com esse cenário antes? Por que alguém adotaria uma abordagem NoSQL em um SQL Server projetado para dados referenciais e não deseja chaves estrangeiras?