คำถามนี้ไม่เกี่ยวกับความแตกต่างระหว่าง SQL และ NoSQL ฉันกำลังมองหาเหตุผลบางอย่างสำหรับบางสิ่งบางอย่างที่ไม่สมเหตุสมผลกับฉันในขณะนี้ (อาจเป็นเพราะการขาดความเข้าใจหรือการชื่นชมของฉัน)
เราได้เริ่มโครงการใหม่ตั้งแต่เริ่มต้นโดยใช้ MVC5, Entity Framework 6 code ก่อนและ SQL Server 2008 เมื่อสถาปนิกตรวจสอบ schema ฐานข้อมูลมีการระบุว่าคีย์ต่างประเทศทั้งหมดและข้อ จำกัด อื่น ๆ ควรถูกลบออกเพราะนี่คือ "ตรรกะทางธุรกิจ" และ ควรใช้ภายในเลเยอร์ธุรกิจของรหัสแอปพลิเคชัน
ความคิดเห็นของฉันคือว่าคีย์ต่างประเทศเป็นส่วนหนึ่งของข้อมูล / การอ้างอิงที่สมบูรณ์และไม่ได้เลียนแบบตรรกะทางธุรกิจจริงๆ ฉันเห็นตรรกะทางธุรกิจเป็นกระบวนการและการตรวจสอบความถูกต้องซึ่งควบคุมว่าจะใช้การอ้างอิงแบบใด / เมื่อใด / อย่างไร / ทำไม ฉันสามารถเข้าใจได้ว่าข้อ จำกัด ที่ไม่เหมือนใครนั้นเป็นกระบวนการทางธุรกิจที่มีเนื้อหา แต่สำหรับฉันนี่เป็นการเติมเต็มตรรกะและเป็นส่วนหนึ่งของความซื่อสัตย์
อาร์กิวเมนต์ที่สองคือเป้าหมายคือการใช้วิธี NoSQL กับข้อมูล ฉันพบสิ่งผิดปกติและผิดพลาดจริง ๆ นี้: พิจารณาการใช้ SQL-Server 2008, ความจำเป็นในการรายงาน, ข้อมูลที่ไม่ได้ปรับให้เทราไบต์และขาดการพิจารณาเทคโนโลยีเช่น Mongo, Raven เป็นต้น
มีใครเคยเจอสถานการณ์แบบนี้มาก่อนหรือไม่? ทำไมทุกคนจะใช้แนวทาง NoSQL ใน SQL Server ที่ออกแบบมาสำหรับข้อมูลอ้างอิงและไม่ต้องการคีย์ต่างประเทศ