모델 데이터 품질 관리
모델 작성 기법을 반복하지 않고 개념·논리·물리 모델과 실제 DB 사이의 추적성·완전성·정합성을 측정합니다. 미정의·미사용 객체, 키·관계·무결성·표준 위배와 모델-DB 불일치를 결함으로 등록해 변경 통제와 재검증으로 개선합니다.
핵심 요약
모델 데이터 품질은 모델 그림이 보기 좋은지를 평가하는 것이 아니라 업무 규칙과 요구가 모델에 빠짐없이·정확하게 표현되고, 논리 모델이 물리 모델과 DB 구현으로 추적되며, 변경 이후에도 서로 일치하는지를 관리하는 활동이다. 이 단원은 모델을 작성하는 방법보다 결함 측정과 모델-DB 불일치 개선에 초점을 둔다.
CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
업무 요구 ↔ 개념 모델 ↔ 논리 모델 ↔ 물리 모델 ↔ DB 객체
정의·키·관계·속성·표준·변환 매핑을 양방향 추적
학습 목표
- 모델 품질의 정확성·완전성·일관성·표준 준수·추적성·구현 정합성을 구분합니다.
- 미정의·미사용·고아 객체, 키·관계·무결성·표준 위반을 판별합니다.
- 모델-DB 일치율과 요구-모델 추적률의 측정 기준을 정의합니다.
- 변경 원인을 기준으로 모델, DB, 요구 또는 예외를 올바른 방향으로 수정합니다.
1. 개념 설명
1.1 품질 관점
| 관점 | 질문 | 결함 예시 |
|---|---|---|
| 정확성 | 업무 의미·규칙을 올바르게 표현했는가? | 주문-고객 관계의 선택성·카디널리티 오류 |
| 완전성 | 필요한 엔터티·속성·관계·키가 빠지지 않았는가? | 환불 이력 속성 누락 |
| 일관성 | 명칭·정의·도메인·키 규칙이 모델 내부에서 모순되지 않는가? | 같은 고객번호가 서로 다른 도메인 |
| 표준 준수 | 승인 용어·도메인·코드·명명 규칙을 적용했는가? | 비표준 속성·컬럼명 |
| 추적성 | 요구↔모델↔DB↔인터페이스 연결을 찾을 수 있는가? | 구현 컬럼의 업무 출처 불명 |
| 구현 정합성 | 승인 모델과 실제 DB가 일치하는가? | 모델에는 FK가 있으나 DB·검증 로직에 없음 |
1.2 주요 결함 유형
- 미정의 객체: DB에 있으나 모델·정의서에 없는 테이블·컬럼·인덱스·제약.
- 미구현 객체: 승인 모델에는 있으나 DB에 구현되지 않은 테이블·컬럼·제약.
- 미사용 객체: 모델·DB에 있으나 업무·프로그램·데이터 흐름에서 사용 근거가 없다.
- 고아 객체: 관계·소유자·주제영역·상위 구조와 연결되지 않은 객체.
- 키 결함: 업무 식별자 누락, 불안정한 식별자, PK/UK 구현 불일치.
- 관계 결함: 관계 누락, 잘못된 선택성·카디널리티, FK 또는 대체 통제 미구현.
- 속성 결함: 정의·도메인·NULL 허용·기본값·이력 규칙 불일치.
- 중복 구조: 같은 업무 사실을 여러 테이블에 이유·동기화 규칙 없이 저장.
- 모델-DB 드리프트: 긴급 DDL·배포가 모델 저장소에 반영되지 않거나 모델 변경이 구현되지 않음.
1.3 측정 지표
CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
모델-DB 객체 일치율 = 모델과 DB의 명칭·구조가 기준에 맞게 대응한 객체 수 / 비교 대상 객체 수 × 100
요구-모델 추적률 = 승인 요구와 연결된 모델 요소 수 / 추적 대상 모델 요소 수 × 100
미정의 객체율 = 모델 정의가 없는 DB 객체 수 / 관리 대상 DB 객체 수 × 100
무결성 구현률 = 모델의 필수 무결성 규칙 중 DB 제약 또는 승인된 대체 통제로 구현된 수 / 필수 규칙 수 × 100
표준 준수율 = 표준에 맞는 모델 요소 수 / 표준 적용 대상 모델 요소 수 × 100
객체 일치는 이름만이 아니라 자료형·길이·NULL·기본값·키·관계·파티션 등 비교 범위를 명시해야 한다. DB에 물리 FK가 없더라도 승인된 애플리케이션 검증·배치 정합성 점검이 있을 수 있으므로 무조건 오류로 단정하지 말고 대체 통제와 예외 근거를 확인한다.
1.4 모델과 DB 중 무엇을 고칠 것인가
불일치를 발견했다고 항상 DB를 모델에 맞추는 것은 아니다.
| 상황 | 우선 판단 |
|---|---|
| 승인된 요구를 DB가 누락 | DB 구현·배포를 수정 |
| 긴급 변경이 적법하게 운영 반영되었으나 모델 미갱신 | 모델·정의서·영향정보를 현행화 |
| 모델과 DB 모두 현재 업무와 불일치 | 요구·업무 규칙을 재확인 후 목표 모델 정의 |
| 제품 제약으로 물리 구현이 다름 | 논리 의미를 유지하는 변환·예외·대체 통제 문서화 |
2. 진단 대상과 관계
| 비교 구간 | 핵심 확인 |
|---|---|
| 요구↔개념 모델 | 핵심 업무 대상·범위·관계 누락 여부 |
| 개념↔논리 모델 | 엔터티 상세화, 속성·식별자·관계의 추적 |
| 논리↔물리 모델 | 테이블·컬럼 변환, 반정규화 근거, 자료형·키 |
| 물리 모델↔DB | DDL, 제약, 인덱스, 파티션, 명칭·도메인 일치 |
| DB↔프로그램/흐름 | 미사용·비인가 직접 접근, 인터페이스 영향 |
3. 모델 품질 개선 흐름
- 기준 모델 버전, 대상 DB 스키마, 비교 시점과 제외 규칙을 고정한다.
- 자동 비교로 객체·속성·키·제약 차이를 추출한다.
- 업무 요구·변경 승인·배포 이력과 연결해 실제 결함과 정당한 예외를 구분한다.
- 영향도를 데이터량, 프로그램, 인터페이스, 규제·업무 위험으로 평가한다.
- 목표 모델·DDL·데이터 변환·프로그램 변경 순서를 설계한다.
- 데이터 정합성 검사 후 변경을 배포하고 모델·메타데이터를 동시에 갱신한다.
- 불일치율과 재발 원인을 재측정하고 배포 게이트를 개선한다.
4. 사례와 적용
사례: 모델의 필수 관계가 DB에서 사라진 경우
논리 모델은 주문이 반드시 한 고객에 속하도록 정의했지만 DB에는 주문.고객ID의 FK가 없고 1,200건의 미존재 고객ID가 발견되었다.
- 모델 결함 여부: 업무 규칙과 승인 요구가 맞는지 먼저 확인한다.
- 값 결함: 고아 주문 1,200건의 원천·영향을 분석한다.
- 구현 결함: FK 또는 동등한 입력·배치 검증이 없는지 확인한다.
- 개선: 고아 값을 정정·격리하고, 적재 순서와 예외 처리를 설계한 뒤 FK/대체 통제를 적용한다.
- 검증: 신규 고아 발생률, 배치 실패, 성능·잠금 영향을 재측정한다.
5. 비교와 구분
| 구분 | 모델 품질 검토 | 모델링 방법론 |
|---|---|---|
| 중심 | 완성된/운영 중 모델의 결함·불일치 측정 | 엔터티·속성·관계를 어떻게 도출·작성하는가 |
| 주요 입력 | 모델 버전, DB DDL, 요구·변경·표준 | 업무 지문, 요구사항, 표기법 |
| 주요 산출 | 불일치 목록, 품질지표, 개선·검증 결과 | 개념·논리·물리 모델 |
| 이 단원의 경계 | 모델-DB·요구 추적과 개선 | Part 3의 모델 작성 절차 |
시험 판단 포인트
- 모델 품질은 논리적 정확성뿐 아니라 요구 추적, 표준 준수, 물리 구현과의 일치까지 포함한다.
- DB에만 있는 객체는 무조건 삭제하지 않고 긴급 변경·운영 필요·미갱신 모델을 확인한다.
- FK 미구현은 물리 제약 또는 승인된 대체 통제의 존재를 함께 판단한다.
- 반정규화 구조는 근거·동기화·정합성 통제가 있으면 무조건 결함이 아니지만, 근거 없는 중복은 결함 후보다.
- 모델-DB 비교는 이름만 아니라 자료형·NULL·키·관계·제약과 기준 버전을 포함해야 한다.
자주 틀리는 부분
- ERD에 선이 있으면 실제 무결성도 보장된다고 본다.
- DB가 운영 중이라는 이유로 DB 구조가 항상 정답이고 모델을 모두 맞춰야 한다고 판단한다.
- 미사용 객체를 사용 로그 한 번만 보고 즉시 삭제한다.
- 모델과 DB의 이름만 같으면 일치율 100%로 계산한다.
- 품질 점검을 모델러 개인의 육안 검토로 끝내고 변경·배포 프로세스와 연결하지 않는다.
스스로 확인하기
개념 확인 문제
문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.
01[객관식] 모델-DB 드리프트에 해당하는 사례는? ① 승인 모델과 DB의 컬럼·제약이 동일함 ② 운영 긴급 DDL이 적용됐지만 모델 저장소가 갱신되지 않음 ③ 개념 모델에서 업무 대상 정의 ④ 모델 표기법 선택
정답 및 해설
정답: ②
- ①은 정합 상태다.
- ② 운영 구조와 모델 버전이 갈라진 전형적 드리프트다.
- ③·④는 모델링 활동이며 불일치 사례가 아니다.
02[객관식] DB에 물리 FK가 없을 때 가장 적절한 판단은? ① 항상 즉시 결함으로 확정한다. ② 모델 관계와 업무 규칙, 승인된 대체 통제와 실제 고아 데이터를 확인한다. ③ 모델 관계를 자동 삭제한다. ④ 성능 문제이므로 품질과 무관하다.
정답 및 해설
정답: ②
- ① 제품·성능·운영 사유로 승인된 대체 통제가 있을 수 있어 근거 확인이 필요하다.
- ② 관계의 업무 의미, 고아 값, 입력·배치 검증과 예외를 종합한다.
- ③ 모델을 증거 없이 삭제하면 업무 규칙을 잃을 수 있다.
- ④ 무결성 미구현과 고아 값은 품질 문제와 직접 연결된다.
03[연결형] 미정의 객체, 미구현 객체, 미사용 객체를 각각 ‘DB에만 존재’, ‘모델에만 존재’, ‘사용 근거 없음’과 연결하세요.
정답 및 해설
정답: 미정의 객체→DB에만 존재, 미구현 객체→모델에만 존재, 미사용 객체→사용 근거 없음.
04[계산형] 비교 대상 DB 객체 500개 중 모델과 완전히 일치 450개, 승인 예외 20개, 미정의 30개다. 승인 예외를 일치로 인정할 때 객체 일치율과 미정의 객체율을 계산하세요.
정답 및 해설
정답:
- 객체 일치율 = (450+20) / 500 × 100 = 94%.
- 미정의 객체율 = 30 / 500 × 100 = 6%.
- 승인 예외의 사유·기간을 별도 관리해야 한다.
05[사례 판단] 주문-고객 관계가 모델에는 필수인데 DB에 FK가 없고 고아 주문이 존재한다. 원인 분석과 개선·검증 단계를 설명하세요.
정답 및 해설
모범 답안:
- 업무 규칙과 모델 승인 상태, FK 제거 이력, 적재 순서·성능 사유, 애플리케이션 대체 검증을 확인한다.
- 고아 주문의 원천과 업무 영향을 분석해 정정·격리하고, FK 또는 승인된 대체 통제를 적용한다.
- 배포 전 전체 고아 검사, 배포 후 신규 고아 발생률·오류·잠금·성능을 검증하고 모델·DB·변경이력을 동기화한다.