Pertanyaan ini bukan tentang perbedaan antara SQL dan NoSQL. Saya mencari alasan untuk sesuatu yang benar-benar tidak masuk akal bagi saya saat ini (mungkin karena kurangnya pemahaman atau penghargaan saya).
Kami telah memulai proyek baru dari awal menggunakan MVC5, kode kerangka kerja Entity 6 pertama dan SQL Server 2008. Ketika arsitek meninjau skema database dinyatakan bahwa semua kunci asing dan kendala lain harus dihapus karena ini adalah "logika bisnis" dan harus diterapkan dalam lapisan bisnis kode aplikasi.
Pendapat saya adalah kunci asing merupakan bagian dari integritas data / referensial dan tidak benar-benar meniru logika bisnis. Saya melihat logika bisnis lebih sebagai proses dan validasi yang mengontrol apa / kapan / bagaimana / mengapa referensi diterapkan. Saya bisa mengerti bahwa kendala unik bisa dibilang proses bisnis, tetapi bagi saya ini hanya melengkapi logika dan membentuk bagian dari integritas.
Argumen kedua adalah tujuannya adalah untuk mengadopsi pendekatan NoSQL terhadap data. Saya menemukan ini benar-benar tidak biasa dan tidak lazim: mempertimbangkan penggunaan SQL-Server 2008, kebutuhan untuk pelaporan, data yang tidak scaling ke terabyte dan kurangnya pertimbangan terhadap teknologi seperti Mongo, Raven, dll.
Adakah yang pernah mengalami skenario seperti itu sebelumnya? Mengapa ada orang yang mengadopsi pendekatan NoSQL dalam SQL Server yang dirancang untuk data referensial dan tidak ingin kunci asing?