평소 와 같이 Aaron Bertrand 와 Kin 은 훌륭한 답변을 제공했습니다. 그러나 두 답변 모두 공통 스레드를 포함합니다. 두 답변 중 하나를 분석하면 XYZ가 어제 효과가없는 것처럼 작동하는 이유는 귀하 / 그들 / 개인 X가 한 일 때문이 아니라는 것을 알 수 있습니다. 상황이 변경된 이유는 데이터베이스가 XYZ 이유 때문에 다르게 수행하기로 결정했기 때문입니다.
데이터베이스는 살아 숨쉬는 존재 입니다. 데이터베이스는 가정, 통계 및 기타 휴리스틱 도구의 조합으로 인해 결정을 내리고 생각을 바꿉니다. 이것은 대부분의 응용 프로그램 계층 프로그래밍과는 크게 다릅니다 (머신 러닝은 예외입니다).
나는 지금 더 나은 것을 생각할 수 없기 때문에 군사 참조를 사용할 것입니다. 더 일반적인 은유가 인정 될 것이다.
대부분의 응용 프로그램에서 프로그래머는 드릴 강사 역할을합니다. 그들은 컴퓨터에게 정확히 무엇을, 어떤 순서로, 때로는 얼마나 오래하는지 알려줍니다. 데이터베이스 프로그래밍은 지휘관 역할을하는 것과 비슷합니다. 당신이 원하는 것을 높은 수준으로 말하고 필요한 곳에서 지침을 제공하십시오. 데이터베이스는 하급 장교 및 비 위임 장교와 같은 최신 정보를 기반으로 계획을 실행하는 가장 좋은 방법을 찾아 내야합니다.
다른 프로그래머들의 마음에서이 구별을 명확하게함으로써 그들은 당신이 그들의 환경을 지배하는 것과 같은 묘사적인 힘이 없다는 것을 알기 시작할 것입니다. 데이터베이스를 솔루션으로 안내하고 있으며 때로는 좋은 이유와 나쁜 이유로 데이터베이스가 제대로 작동하지 않습니다. 결국 데이터베이스가 왜 잘못 진행되었는지는 중요하지 않지만 데이터베이스를 복구하기 위해 할 수있는 일은 중요합니다.
* "이유"가 미래 예방, 학습 등에 매우 중요하다는 것을 알고 있지만 문제에 대해 배우거나 도움을주지 않는 사람들로부터 OP가 저항에 직면하고있는 것 같습니다.