Як завжди, Аарон Бертран і Кін дали чудові відповіді. Однак обидві відповіді містять загальну нитку. Якщо проаналізувати будь-яку відповідь, ви побачите, що причина, чому XYZ не працює так, як це працювало вчора, не через те, що ви / вони / людина X зробили. Причина, чому змінилися речі, полягає в тому, що база даних вирішила зробити інакше через причини XYZ.
База даних - це жива, дихаюча сутність . Бази даних прийматимуть рішення та змінюватимуть свою думку завдяки комбінації припущень, статистики та інших евристичних інструментів. Це кардинально відрізняється від більшості програм програмування шарів (помітним винятком є машинне навчання).
Я буду використовувати деякі військові довідки, тому що я не можу придумати щось краще зараз. Буде вдячна більш загальна метафора (жоден каламбур).
У більшості застосувань програміст виступає інструктором свердління. Вони кажуть комп’ютеру , що саме робити, в якому порядку, а іноді і на скільки часу. Програмування бази даних більше схоже на роль командира. Ви кажете йому, що ви хочете, щоб це робило на високому рівні, і пропонуєте певні рекомендації там, де це потрібно. База даних бере на себе завдання з'ясування найкращого способу виконання плану на основі поточної розвідки, наприклад, молодших офіцерів та унтер-офіцерів.
Зрозумівши це розрізнення у свідомості інших програмістів, вони, сподіваємось, почнуть бачити, що ви не маєте дикторських повноважень, як вони роблять над своїм оточенням. Ви орієнтуєтесь на базу даних до рішення, а час від часу база даних виходить з добрих чи поганих причин. Нагадайте їм, що врешті-решт не важливо, чому * база даних пішла з шляху, а що ми можемо зробити, щоб повернути її.
* Я усвідомлюю, що "чому" є дуже цінним для подальшої профілактики, навчання тощо, але здається, що ОП наштовхується на опір людей, які не намагаються дізнатися про проблему чи допомогти їй.