Esta pregunta no se trata de la diferencia entre SQL y NoSQL. Estoy buscando alguna razón para algo que realmente no tiene sentido para mí en este momento (tal vez debido a mi falta de comprensión o apreciación).
Hemos comenzado un nuevo proyecto desde cero utilizando MVC5, primero el código de Entity Framework 6 y SQL Server 2008. Cuando el arquitecto revisó el esquema de la base de datos, se afirmó que todas las claves externas y otras restricciones similares deberían eliminarse ya que esto es "lógica de negocios" y debe aplicarse dentro de la capa empresarial del código de la aplicación.
Mi opinión es que las claves externas forman parte de los datos / integridad referencial y realmente no imitan la lógica empresarial. Veo la lógica empresarial como más el proceso y la validación que controla qué / cuándo / cómo / por qué se aplican las referencias. Puedo entender que las restricciones únicas son posiblemente procesos de negocios, pero para mí esto solo complementa la lógica y forma parte de la integridad.
Un segundo argumento es que el objetivo es adoptar un enfoque NoSQL para los datos. Encontré esto realmente inusual y poco ortodoxo: teniendo en cuenta el uso de SQL-Server 2008, la necesidad de informar, los datos no escalan a terabytes y la falta de consideración hacia tecnologías como Mongo, Raven, etc.
¿Alguien se ha encontrado con tal escenario antes? ¿Por qué alguien adoptaría un enfoque NoSQL en un servidor SQL diseñado para datos referenciales y no querría claves externas?