개발자에게 이러한 업데이트를 방지하기 위해 이러한 논리를 앱 코드에 추가 할 수 있다고 알려주십시오. 그러나 또한를 제거하지 않을 것 DENY
입니다. 하루가 올 때와그렇지 않을 수 있습니다아마) 그렇지 않을 것입니다 누군가 가이 열 중 하나를 업데이트하려고 시도하는 동안 오류가 발생하면를 제거할지 여부에 대한 토론 을 할 수 있습니다. DENY
이는 누군가가 해당 값을 업데이트하는 이유에 대한 실제적이고 확실한 근거가 필요합니다. 처음.
요점 : 사람들이 시간을 보내는 것에 대한 실질적인 비즈니스 사례가 있어야합니다. 시간은 수요가 많지만 공급이 부족하기 때문에 다른 사람의 의견에 따라 시스템을 변경하는 것보다 더 중요한 일이 있습니다. 항상 다양한 의견 (공백 대 탭, 누군가?)이있을 것입니다. 개발자가 떠나고 업데이트 할 수있는 분야에 강력히 반대하는 사람으로 대체되면 몇 년이 걸릴 수 있습니다. 고객이이를 요구하지 않거나 요구되는 것이없고, 실질적인 이익이없는 경우 (기술 부채 정리와 같은 지연된 이익조차도 ROI를 표시하기 어렵지만, 그 시간이 장기적으로 실제 비용 절감으로 이어지지 않을 가능성은 거의 없습니다), 그런 다음 이상주의가 변경되어야한다고 말하는 경우에도 요청을 닫거나 백 로그에 낮은 우선 순위로 두십시오 (이 경우 중 하나가 아니라 요청이라고 생각하는 사람들에 대해 언급 됨). 이상주의는 대화에는 적합하지만 기업은 임대료, 공공 요금, 직원, 세금 등을 이상적으로 지불 할 수 없습니다.
@ jpmc26은 의사 소통의 필요성에 대해서는 정확하지만 의사 소통이 필요한 것에 대해서는 정확하지 않습니다. 그렇습니다. 다른 사람이 요청한 내용을 듣고 자신의 추론을 이해하려고 노력해야합니다. 여기에는 무엇이든 확실하지 않은 경우 질문하는 것이 포함됩니다.
그러나 데이터베이스는 응용 프로그램에 종속적이지 않으며 데이터베이스 전문가 (회사, 엔지니어, 회사 이름에 관계없이)는 개발자에게 종속적이지 않습니다 (해답에 암시 된 것처럼). 당신은 개발자를 위해 일하지 않고, 회사를 위해 일하는 것과 같이 일합니다. 이것은 팀의 노력이며, 일을한다고 용서하지 말아야합니다. 즉, 우리의 컴퓨터 유형은 인간 간 의사 소통 기술로 (일반적으로) 알려져 있지 않으므로 다른 사람들이 당신을 이해하고 , 당신의 추론이 무엇이며, 당신의 책임이 무엇인지, 그리고이 물건이 실제로 어떻게 작동하는지 확인해야합니다. .
나는 마지막 부분에 오해, 잘못된 정보 및 지식 부족이 있기 때문에 (이 페이지의 일부조차도) 있기 때문에 마지막 부분에 넣었습니다. 예를 들어, 모든 규칙이 비즈니스 규칙이라는 개념이있는 것 같습니다. 우리는 데이터 규칙 및 비즈니스 규칙 (@Aaron는 질문에 단 댓글에서 "데이터 제한 대 워크 플로우 제약"으로이 함)에는 차이가 있다는 점을 설명해야 하고 대부분의 데이터가 자연스럽게 응용 프로그램에 속한 반면, 일부 데이터가 실제로 데이터 모델에 속합니다. DBA가 개발자에게 애플리케이션 데이터 를 제한 하는 방법을 지시해야합니까 ? 당연히 아니지. 응용 프로그램 데이터가 가능한 방법을 제공하는 것이 우리의 임무구속되다. 응용 프로그램 데이터와 관련된 비즈니스 규칙을 위반할 경우 피해를 입을 수 있고 앱이 데이터를 조작하는 100 % 유일한 방법 이 아닌 경우 검사 제한 조건이 실제로 도움이 될 수 있습니다 (변경 또는 제거가 어렵지 않음) ).
그러나 다른 방향에서 오는 개발자는 데이터 모델 데이터 (예 : 메타 데이터)를 처리하는 방법을 지시해서는 안됩니다. 여기에는 감사 필드 (예 : created_on
/ created_by
열) 및 PK / FK 열이 포함됩니다 (이 값은 내부적으로 만 알려져 있으며 고객에게는 제공되지 않음). 이 데이터는 앱이 고객에 대해 저장하는 것이 아니라 (앱이 값을보고 ID와 같은 값을 사용할 수있는 경우에도) 데이터 모델이 앱의 데이터에 대해 저장하는 것입니다.
따라서 데이터 규칙을 사용하여 데이터 모델 데이터를 보호하는 것이 좋습니다. 그리고 그렇게한다고해서 응용 프로그램 데이터에 제약 조건이나 제한을 추가하려고한다는 의미는 아닙니다. 그러나 이러한 차이를 이해하지 못하면 진정한 생산적인 방식으로 대화를 진행시키는 것이 어려울 것입니다.