Bu soru SQL ve NoSQL arasındaki farkla ilgili değildir. Şu anda bana gerçekten mantıklı gelmeyen bir şey için bazı sebepler aradım (belki de anlayış veya takdir eksikliğimden dolayı).
MVC5, önce Entity framework 6 kodunu ve SQL Server 2008'i kullanarak sıfırdan yeni bir projeye başladık. Mimar veritabanı şemasını gözden geçirdiğinde, tüm yabancı anahtarların ve bu gibi diğer kısıtlamaların “iş mantığı” olduğu için kaldırılması gerektiği ve başvuru kodunun iş katmanında uygulanmalıdır.
Benim fikrim, yabancı anahtarların veri / referans bütünlüğünün bir parçası olduğu ve iş mantığını gerçekten taklit etmediğidir. İş mantığını, referansların neyin / ne zaman / nasıl / niçin uygulandığını kontrol eden süreç ve doğrulama olarak görüyorum. Eşsiz kısıtlamaların tartışmasız iş süreçleri olduğunu anlayabiliyorum, ama benim için bu sadece mantığı tamamlıyor ve bütünlüğün bir parçasını oluşturuyor.
İkinci bir argüman ise verilere NoSQL yaklaşımı benimsemektir. Bunu gerçekten sıradışı ve sıradışı buldum: SQL-Server 2008'in kullanımı, raporlama ihtiyacı, terabaytlara ölçeklenemeyen veriler ve Mongo, Raven, vb. Gibi teknolojilere yönelik dikkat eksikliği.
Daha önce böyle bir senaryo ile karşılaşan var mı? Neden birileri referans verileri için tasarlanmış ve yabancı anahtar istemeyecek bir SQL Server'da bir NoSQL yaklaşımı benimsemelidir?