-
데이터 모델링28 - 데이터 표준화는 모델링의 과정이다1Data Base/관계형 데이터 모델링 2023. 9. 28. 14:51
표준과는 모델링과 별개의 영역이 아닌 속성 모델링 과정이다.
데이터 모델에서 속성은 무엇일까? 속성은 데이터가 저장되는 최소 단위며, RDB이론에는 '속성에 단일 값(single value)이 담겨야 한다'고 되어 있다. 또한 속성은 엔티티 특징이나 본직적인 성질 등을 명세한다. 관리하려는 값의 단위를 더 세분화 할지, 값의 성격의 맞는 속성명은 무엇일지,데이터 유형은 어떤 것으로 정할지, 속서에 들어올 수 없는 값 같은 제약 등을 고민하고 결정하는 과정이 속성 모델링이다.
이와 같은 속성 모델링 과정은 결국 속성 수준의 메타데이터(용어)를 정의하는 데이터 표준화 작업에 해당한다. 따라서 표준화는 데이터 모델링의 한 부분임을 이해하고 속성 모델링의 과정으로서 충실하게 다루어야 할 것이다.
데이터 표준화의 목표는 결국 이음동의어와 동음이의어를 관리하는것
표준은 일정한 기누에 따라 통일시킨 것이다. 따라서 표준화는 규칙을 정한 후 그것이 일관되게 적용되도록 이해관계자들을 강제하는 과정이다. 그래서 메타데이터 관리시스템에는 표준 데이터 승인 프로세스가 포함되는 게 일반적이다. 같은 맥락에서 데이터 표준화는 데이터 표준화 지침이라는 규칙을 정한 후 오직 데이터적 관점에서 해당 규칙을 준수하도록 하는 과정이다. 통상 메타데이터 관리고 칭하는 데이터 표준화는 구조 관점의 표준화에 집중한다. 반면 데이터 값에 대한 표준화는 데이터 코드화의 범주로 이해하면 무리가 없을 것이다.
표 13-1 표 형태의 평범한 가계부 - 컬럼 제목이 메타데이터에 해당한다.
No. 일자 사용처 사용금액 비고 1 2023.08.13 맥도날드 24,000 빅맥 2 2023.08.20 버거킹 18,000 와퍼 3 2023.0913 쉑쉑버거 36,000 쉐이크버거 4 2023.0917 파이브가이즈 20,000 치즈버거 그렇다면 메타데이터는 무엇일까? 메타meta라는 어근이 의미하듯 메타데이터는 데이터에 대한 데이터다. 무언가를 담으려면 그릇이 필요하듯 데이터를 담으려면 그릇에 해당하는 구조가 정의되어 있어야 한다. 메타 데이터는 데이터 구조를 위한 용어로 [표 13-1]의 컬럼 제목들이 모두 이에 해당한다. 일반적으로 데이터 표준화는 데이터 구조(모델) 안의 속성 수준에서 수행된다.
정리하면, 통일 시켜 일관되게 사용되록 하는 것이 표준화의 핵심이며, 데이터 표준화의 주된 대상은 데이터를 담는 최소 단위인 속성인다.
그렇다면 데이터 표준화의 궁극적인 목표는 같은 의미를 다른 형태로 사용하지 않고, 다른 의미를 같은 형태로 쓰지 않는것이다. 다시 말해 데이터 모델의 속성명으로 이음동의어와 동음이의어가 사용되는 것을 최소화하는 것이다.
그림 13-1 이음동의어와 동음이의어
이음동의어가 만들어지는 대표적인 패턴
예) 이메일주소, 전자우편주소, email주소, e-mail주소, 메일주소
같은 용어를 구성하는 단어의 조합 순서만 다른 패턴
- 입금총금액, 총입금금액
- 최종등록일시, 등록최종일시
- 최초임금금액, 입금최초금액
메타데이터 관리시스템은 이와 같이 조합된 단어의 유사도를 기준으로 이미 등록된 유사 용어를 제공하여 이음동의어가 표준으로 진입되는 것을 최대한 막을 수 있어야 한다.
일반적으로 표준 용어는 표준 단어들의 조합으로 만들며, 그 영무명은 표준 단어의 영문 약어를 구분가로 결합해서 만든다. 당여히 용어의 영문명은 해당 용어를 속성으로 사용하는 컬럼의 이름이 된다. 예를 들어 표준 단어인 콜, 센터, 방문자, 수의 영문 약어가 CAL, CTR, VST, NUM이고 구분자가 '_' 라면 콜+센터+방문자+수의 영문명은 CAL_CTR_VST_NUM이 된다 반면 콜+센터를 덩어리로 콜센터라는 단어를 표준으로 삼고, 이의 영문 약어가 CCR이라면 콜센터+방문자+수는 CCR_VST_NUM이 된다.
복합어를 표준 단어로 등록할 경우 이음동의어가 양산될 개연성이 높다. 따라서 복합어는 아래의 세 경우를 제외하고는 가급적 허용하지 않는 것이 좋다.
1. 복합어가 개별 단어의 의미에 플러스알파가 된다. 콜센터가 대표적이다. 기존의 콜과 센터라는 단어의 개별 의미에 더해 고객을 위한 행정 시설이라는 새로운의미가 존재하므로 별도 단어로 등록해도 좋다. 반면 고정금리는 액면그대로의 의미를 가지므로 단어등록이 될 수 없다.
2. 복합어가 관용적으로 하나의 단어처럼 쓰인가. 주민등록번호가 대표적이며, 한국데이터베이스진흥원, 금융감독원 등도 같은 맥락에서 표준단어로 허용될 수 있다.
3. 용어의 영문명이 지나치게 길 경우이다. 오라클 DBMS는 컬럼명이 30바이트를 넘을 수 없다. 이런 경우 극히 예외적으로 복합어를 사용할 수 있다. 다만 기존에 등록되 용어와의 일관성을 위해 복합어 생성 전에 그 복합어를 포함한 모든 용어의 영문명을 변경하는 작업이 수반되어야 한다. 이는 기존 테이블의 컬럼명은 물론 해당 테이블을 사용하는 애플리케이션 수정까지 이어지므로 만만치 않은 작업이 될 수 있음을 유념해야한다.
마지막으로 업무 의미와 데이터의 성격을 충실히 반영하지 못하는 경우와 이를 수정한 예를 살펴본다. 왼쪽과 같은 애매한 형태가 표준으로 사용되지 않도록 관리와 통제가 필요하다.
- 거래처, 거래처구분코드
- 추정소득,추정연간총소득액
- 미래예상가치,미래예상가치금액
[출처 - 프로젝트의 성패를 결정짓는 데이터 모델링 이야기 , 김상래 저]
'Data Base > 관계형 데이터 모델링' 카테고리의 다른 글
데이터 모델링29 - 데이터 표준화는 모델링의 과정이다2 (2) 2023.09.28 데이터 모델링27 - 데이터 집합의 분리, 확장, 통합3 (1) 2023.09.28 데이터 모델링26 - 데이터 집합의 분리, 확장, 통합2 (0) 2023.09.28 데이터 모델링25 - 데이터 집합의 분리, 확장, 통합1 (0) 2023.09.27 데이터 모델링24 - 엔티티 모델링의 어려움을 극복할 방법론과 전략3 (0) 2023.09.26