Như thường lệ Aaron Bertrand và Kin cung cấp câu trả lời tuyệt vời. Tuy nhiên cả hai câu trả lời đều chứa một chủ đề chung. Nếu bạn phân tích một trong hai câu trả lời, bạn sẽ thấy rằng lý do tại sao XYZ không hoạt động như ngày hôm qua không phải là do bạn / họ / người X đã làm. Lý do tại sao mọi thứ thay đổi là vì cơ sở dữ liệu quyết định làm những điều khác biệt vì lý do XYZ.
Một cơ sở dữ liệu là một thực thể sống, thở . Cơ sở dữ liệu sẽ đưa ra quyết định và thay đổi ý định do sự kết hợp của các giả định, số liệu thống kê và các công cụ heuristic khác. Điều này khác biệt đáng kể so với hầu hết lập trình lớp ứng dụng (máy học là một ngoại lệ đáng chú ý).
Tôi sẽ sử dụng một số tài liệu tham khảo quân sự bởi vì tôi không thể nghĩ ra thứ gì đó tốt hơn ngay bây giờ. Một phép ẩn dụ tổng quát hơn sẽ được đánh giá cao (không có ý định chơi chữ).
Trong hầu hết các ứng dụng, lập trình viên đóng vai trò là người hướng dẫn khoan. Họ nói với máy tính chính xác những gì cần làm, theo thứ tự và đôi khi trong bao lâu. Lập trình một cơ sở dữ liệu giống như là một sĩ quan chỉ huy. Bạn nói với nó những gì bạn muốn nó làm ở mức cao, và cung cấp một số hướng dẫn khi cần thiết. Cơ sở dữ liệu đảm nhận công việc tìm ra cách tốt nhất để thực hiện kế hoạch dựa trên trí thông minh hiện tại như các sĩ quan cấp dưới và hạ sĩ quan.
Bằng cách làm rõ sự khác biệt này trong tâm trí lập trình viên khác, họ hy vọng sẽ bắt đầu thấy rằng bạn không có quyền lực độc tài như họ làm trong môi trường của họ. Bạn đang hướng dẫn cơ sở dữ liệu đến giải pháp và đôi khi cơ sở dữ liệu bị lạc hướng vì những lý do tốt hay xấu. Nhắc nhở họ rằng cuối cùng không có vấn đề gì tại sao * cơ sở dữ liệu bị lạc hướng, nhưng chúng ta có thể làm gì để đưa nó trở lại.
* Tôi nhận ra "tại sao" rất có giá trị cho việc phòng ngừa, học tập trong tương lai, nhưng có vẻ như OP đang phải đối mặt với sự kháng cự từ những người không cố gắng tìm hiểu hoặc giúp đỡ vấn đề.