시스템의 모든 변경 사항을 추적해야하는 시스템을 만드는 중입니다. 즉, 데이터베이스의 열이 변경되면 어떤 테이블, 어떤 열, 변경이 수행되었는지, 어떤 사용자가 어떤 값에서 어떤 값을 알 수 있어야합니다.테이블의 모든 열에 대한 로깅 변경
필자가 생각한 첫 번째 목적은 column_name, updated_by, updated_on, from_value, to_value (from_value 및 to_value 필드를 단순화를 위해 문자열로 유지)와 같은 필드를 포함하는 로깅 목적으로 각 테이블에 대해 두 번째 테이블을 만드는 것입니다. 그러나 이것은 본질적으로 데이터베이스의 복제본을 생성합니다.
두 번째 옵션은 모든 테이블에 대해 비슷한 유형의 대규모 테이블 (table_name, column_name, updated_by, updated_on, from_value, to_value)을 생성하는 것이지만 관리하기 어려운 테이블이됩니다. 변경 사항이 발생합니다 자주.
두 옵션 모두 동일한 문제가 있으며 테이블 열을 참조하는 방법이 확실하지 않으며 최악의 경우 나중에 응용 프로그램의 수명이 다할 때 열 이름을 어떻게 변경해야합니까?
모든 의견과 제안을 부탁드립니다.
글쎄, 아마도 열/테이블/등, 이름 변경 열 문제를 해결할 수있는 (아마도 ID가 동일하지 않으면, 확실하지 않은 경우) 이름을 가진 문자열 대신 데이터베이스 개체 ID를 저장할 것입니다. 그렇지 않으면 큰 질문입니다. 저는 항상 이런 일을해야한다는 것을 두려워했습니다 ... – GregL