Как обычно, Аарон Бертран и Кин дали отличные ответы. Однако оба ответа содержат общую тему. Если вы проанализируете любой из ответов, вы увидите, что причина, по которой XYZ не работает так, как он работал вчера, не в том, что вы / они / человек X сделали. Причина, по которой все изменилось, заключается в том, что база данных решила действовать по-другому из-за причин XYZ.
База данных - это живое, дышащее существо . Базы данных будут принимать решения и передумать из-за комбинации допущений, статистики и других эвристических инструментов. Это существенно отличается от программирования большинства прикладных уровней (машинное обучение является заметным исключением).
Я собираюсь использовать некоторые военные ссылки, потому что я не могу придумать что-то лучше прямо сейчас. Была бы оценена более общая метафора (не каламбур).
В большинстве приложений программист выступает в роли инструктора по дрели. Они говорят компьютеру точно, что делать, в каком порядке, а иногда и на какой срок. Программирование базы данных больше похоже на действия командира. Вы говорите ему, что вы хотите, чтобы он делал на высоком уровне, и предлагаете руководство, где это необходимо. База данных берет на себя задачу выяснить, как наилучшим образом выполнить план, основываясь на текущих данных разведки, таких как младшие офицеры и унтер-офицеры.
Прояснив это различие в умах других программистов, они, надеюсь, начнут понимать, что у вас нет диктаторских полномочий, как у них в их среде. Вы направляете базу данных к решению, и иногда база данных отклоняется от нормы по хорошим или плохим причинам. Напомните им, что в конце концов не имеет значения, почему * база данных вышла из строя, но что мы можем сделать, чтобы вернуть ее.
* Я понимаю, «почему» очень ценно для будущей профилактики, обучения и т. Д., Но кажется, что ОП сталкивается с сопротивлением со стороны людей, которые не пытаются узнать о проблеме или помочь ей.