Câu hỏi này không phải là về sự khác biệt giữa SQL và NoQuery. Tôi đang tìm kiếm một số lý do cho một cái gì đó thực sự không có ý nghĩa với tôi tại thời điểm này (có thể vì sự thiếu hiểu biết hoặc đánh giá cao của tôi).
Chúng tôi đã bắt đầu một dự án mới từ đầu bằng cách sử dụng MVC5, mã Entity framework 6 và SQL Server 2008. Khi kiến trúc sư xem xét lược đồ cơ sở dữ liệu, cần phải loại bỏ tất cả các khóa ngoại và các ràng buộc khác như vậy vì đây là logic kinh doanh. nên được áp dụng trong lớp nghiệp vụ của mã ứng dụng.
Ý kiến của tôi là các khóa ngoại tạo thành một phần của tính toàn vẹn dữ liệu / tham chiếu và không thực sự bắt chước logic kinh doanh. Tôi thấy logic kinh doanh khi nhiều quá trình và xác nhận kiểm soát những gì / khi / làm thế nào / tại sao các tham chiếu được áp dụng. Tôi có thể hiểu rằng các ràng buộc duy nhất là các quy trình kinh doanh có thể tranh cãi, nhưng đối với tôi điều này chỉ bổ sung cho logic và tạo thành một phần của tính toàn vẹn.
Đối số thứ hai là mục đích là áp dụng cách tiếp cận dữ liệu của NoQuery. Tôi thấy điều này thực sự bất thường và không chính thống: xem xét việc sử dụng SQL-Server 2008, nhu cầu báo cáo, dữ liệu không mở rộng đến terabyte và thiếu cân nhắc đối với các công nghệ như Mongo, Raven, v.v.
Có ai đã gặp một kịch bản như vậy trước đây? Tại sao mọi người sẽ áp dụng cách tiếp cận NoQuery trong Máy chủ SQL được thiết kế cho dữ liệu tham chiếu và không muốn khóa ngoại?