1) 데이터 표준화가 필요한 이유
- 데이터 표준 정책 없이 단위 시스템 위주로 표준 정책을 수립한 채, 프로젝트가 진행되기 때문이다.
- 전사 데이터 관리의 마인드가 없다.
- 전사 데이터 관리 인력이 기업의 규모를 떠나 반드시 필요한데 실상은 이러한 인력이 없다.
- 이러한 이유로 반드시 데이터 표준화, 규격화를 해야 한다.
2) 데이터 표준화를 하면 좋은 점
데이터 표준화는 데이터 정보 요소에 대한 명칭, 정의 형식, 규칙에 대한 원칙을 수립해서 이를 전사적으로 적용하는 것을 말한다.
데이터 명칭은 기업 내에서 데이터를 유일하게 구별해 주는 이름으로 다음과 같은 원칙에 부합되어야 한다.
데이터 표준, 데이터 표준 관리 조직, 데이터 표준화 절차
- 데이터에 대한 정책과 표준을 정의
- 부서간 데이터 구조 조율
- 데이터 보안 관리
- 데이터 보안 정책 수립, 보안 정책 준수 여부 체크, 보안 시정 조치 요구 등을 수행
- 데이터 모델 관리
- 데이터의 효율적인 활용 방안 계획
- 데이터 관리자와 데이터베이스 관리자 역할 비교
- 엔티티 명명
- 속성 명명
- 표준 단어 정의
- 표준 용어 정의
- 도메인 정의
동사, 접속사, 복수 표시/소유격 형태의 단어 사용x
(예) A T M(X) ▶ ATM (O)
(예) 수신(Deposit), 수신(Receive) ▶ 문서수신(Document Receive)
(예) 이메일(O), EMAIL(X)
(예) 주민번호 ▶ 주민등록번호
(예) FAX(X) ▶ 팩스(O), EMAIL(X) ▶ 이메일(O), SQL(O), ID(O)
(예) BOX(X) ▶ 상자(X), 박스(O) : '상자'보다 '박스'라는 단어가 자주 사용됨
👉특수 문자 중 '/' , '-' , '&' 만
을 사용할 수 있다.(예) lc, LC, b/l, BL(X) ▶ L/C, B/L(O)
(예) 전송(X), 팩시밀리(X) ▶ 팩스(O)
(예) '고객번호' 를 합성어 등록시 '고객' , '번호' 가 각각 단어로 등록되어 있어야 함.
ex) 계약자, 송금인, 초회 ... 등
해피콜 : 해피(행복) + 콜(전화)의 의미가 아님, 고객 만족도를 확인하기 우한 상담원의 전화
홈페이지 : 홈(집) + 페이지(쪽)의 의미가 아님, 월드와이드웹(Web Browser)로 볼 수 있도록 정보 제공자가 정보의 내용을 간단히 소개한 하이퍼텍스트
회사명 등
휴대+전화 : 휴대(Portable) + 전화(Telephone) ▶ PRTB_TEL(X)
휴대전화 : Mobile Phone ▶ MBP(O)
휴대전화번호: Mobile Phone Number ▶ MBP_NO(O)
단과 + 대학(X) ▶ 단과대학(O)
부(不), 재(再), 미(未), 비(非), 부(副), 선(先)
(예) 비정상(非正常)을 단일어로 등록함
신(新), 구(舊), 전(前), 후(後), 모(母), 자(子), 유(有), 무(無), 별(別), 총(總), 원(原), 대(大), 중(中), 소(小), 주(主)
사(社), 처(處), 자(子), 인(人), 증(證), 지(地), 료(料), 서(書), 장(長), 금(金), 비(費), 권(權), 성(性), 형(型), 표(表), 식(式), 화(化), 도(度)
(예) 매입처, 임대인
(예) 입금분 ▶ 입금 + 분
(예) 주소 : JUSO(X) ▶ ADDR(O) 시 : SI, 군 : GUN 구 : GU (O)
(예) 연봉 (ANNUAL SALARY) 모음제거 ▶ NNL SLR 중복자음제거 ▶ NL SL
범용적으로 사용되는 두문자(Acronyms)가 있는 경우 되도록 두문자를 사용하며 자릿수가 지나치게 긴 경우 새로운 영문약어를 작성한다.
(예) SQL (Structured Query Language), VAN(Value Added Network)
[주제영역코드] + “_” + 수식어 + 수식어 + … + 유형명
으로 한다.----- --- ------------------------------------------------
주제 코드 엔터티 목록
영역
----- --- ------------------------------------------------
공통 CM 공통/시스템관리 공통코드, 우편번호, 날씨, 은행
상품 MD 상품 상품 등록 및 변경, 조회, 이력관리
PG 구색 POG관리
PR 행사 판촉, 이벤트, 행사
PT 협력사 거래처, 배송처 관리
SCM PO 발주 발주, 매입 주문
ST 재고 입출고, 재고, 수불
LO 물류 입고, 출고, 반품
영업 SC 매장 매장 개발 및 계약관리
SA 영업 전표, 매출, 회원/인사 연계
FR 가맹 가맹 수수료, 인센티브 정산
----- --- ------------------------------------------------
------ -- ------------------------------------------------
마스터 M 주된 업무의 대상이 되는 마스터 정보 관리(회원, 상품, 거래처, 사업장)
기본 B 마스터는 아니나 프로세스 상 기준이나 중심이 되는 핵심(헤더) 정보
상세 D 마스터나 기본에 대해서 부가적인 속성을 관리
내역 L 마스터나 기본에 대해 1:N으로 부가적이거나 트랜잭션에 의해 반복적으로 발생하는 속성을 관리
이력 H 마스터나 기본 정보 등 주요 엔티티의 히스토리를 관리
이력 대상 주요 엔티티명 + “이력"으로 명명함.
TR R POS에서 발생하는 거래 데이터
코드 C 공통코드, 개별코드 등 거의 변하지 않는 조회성 데이터
기준 S 환율 등 단순한 구조로 주기적으로 변경되는 데이터
집계 A 배치, 리포트 등 특정 목적에 맞게 구조화된 데이터
------ -- ------------------------------------------------
a. [Entity Definition]
(예) 센터 및 매장의 기본 정보를 관리한다.
b. [Entity Note]
[신규]
로 기입c. [Attribute Definition]
(예) 센터 혹은 매장을 식별하기 위한 유일한 식별번호
d. [Attribute Note]
[신규]
로 기입(규칙) 시스템명.테이블명.컬럼명
e. ※ 타 영역이나, 동일 영역의 엔티티를 복사해서 관계를 도출해야 하는 경우, 엔티티명 앞에 “복사본_”
을 추가하여 작성한다.
f. 가독성을 위해 PK외 나머지 속성은 삭제한다.
g. 타 영역 엔티티의 경우 “노란색”으로, 동일 영역 엔티티인 경우, “하늘색"으로 구분한다.
테이블명 작성 예시
---------------------------- ------------------------
엔티티명 테이블명
---------------------------- ------------------------
SA_사업장마스터 TB_SA_BIZPLC_M
---------------------------- ------------------------
FR_가맹점지원금내역 TB_FR_FCSTR_SPPMNY_L
---------------------------- ------------------------
SC_POS별상품중분류판매집계 TB_SC_POS_GDS_MCLS_A
---------------------------- ------------------------
--------- ---------- ---------------------------------------------------------
유형명 유형영문명 설명
--------- ---------- ---------------------------------------------------------
임시 T 배치 작업용 중간 테이블 (자료 삭제)
WORK W 배치 작업용 중간 테이블(자료 보존), 엑셀 업로드 용 등.
송신IF IS 시스템간 송신용 중간 데이터 저장을 위해 사용.
엔티티명 : 원엔티티명 + “_송신IF”로 명명함.
테이블명 : 원테이블명 + “_IS”로 명명함.
수신IF IR 시스템간 수신용 중간 데이터 저장을 위해 사용.
엔티티명 : 원엔티티명 + “_수신IF”로 명명함.
테이블명 : 원테이블명 + “_IR”로 명명함.
--------- ---------- ---------------------------------------------------------
----------- ----------- ------------------ ---------------------------
도메인그룹 도메인명 데이터타입/크기 설명
----------- ----------- ------------------ ---------------------------
코드 XX코드 VARCHAR(N) XX를 구분하기 위한 기준정보
여부 VARCHAR(1) ‘Y’와 ‘N’ 값만 허용
번호 XX번호 VARCHAR(N) 업무적으로 주요 정보를 구분하기 위해 체계적으로 구성한 인조번호
예) 계좌번호, 전표번호, 사업자번호
XXID VARCHAR(N) 시스템적으로 주요 데이터를 구분하기 위한 번호
예) 사용자ID, 프로그램ID, 메뉴ID
일련번호 일련번호_N5 NUMBER(5) 5자리 이내의 연속 부여 번호
일련번호_N10 NUMBER(10) 10자리 이내의 연속 부여 번호
금액 금액_N20 NUMBER(20) 원화 표기
금액_N20,2 NUMBER(20,2) 외화 표기, 원화의 소수점 표기
단가_N10 NUMBER(10) 원화 단가 표기
단가_N10,2 NUMBER(10,2) 외화 단가 표기
율 율 NUMBER(18,6) 비율 표기
날짜/시각 일자 VARCHAR(8) 년월일(YYYYMMDD)형식의 날짜 표현
년월 VARCHAR(6) 년월(YYYYMMD)형식의 날짜 표현
월 VARCHAR(2) 월(MM)형식의 날짜 표현
년도 VARCHAR(4) 년도(YYYY)형식의 날짜 표현
일시 DATE 년월일시분초를 포함하는 날짜+시각 표현
시각 VARCHAR(6) 시분초(HHMISS)형태의 시각 표현
시분 VARCHAR(4) 시분(HHMI) 형태의 시각 표현
명 명_V200 VARCHAR(200) 200BYTE 내의 문자열 형식의 명칭
명_V1000 VARCHAR(1000) 1000BYTE 내의 문자열 형식의 명칭
내용 VARCHAR(4000) 4000BYTE 내의 문자열 내용
설명 VARCHAR(4000) 4000BYTE 내의 문자열 설명
비고 VARCHAR(4000) 4000BYTE 내의 문자열 비고
적요 VARCHAR(500) 500BYTE 내의 문자열 적요
수 수_N9,2 NUMBER(9,2)
수_N10 NUMBER(10)
수량 NUMBER(11,2)
지수 NUMBER(5,2)
점수 NUMBER(5,2)
횟수 NUMBER(10)
건수 NUMBER(10)
길이 NUMBER(10)
깊이 NUMBER(10)
높이 NUMBER(10)
중량 NUMBER(10)
용량 NUMBER(10)
순위 NUMBER(10)
온도 NUMBER(5,2)
- 원칙적으로 기본값은 설정하지 않도록 하여, DB에서 암묵적인 처리가 아닌
응용프로그램에서 명시적인 처리
를 하도록 한다.- 숫자형 컬럼에 대해서는
선택적으로 ‘숫자 0’을 디폴트로 설정
할 수 있다.- 여부형 컬럼에 대해서는
선택적으로 문자 ‘Y’나 문자 ‘N’를 디폴트로 설정
할 수 있다.- 일시형 관리컬럼에 대해서는 선택적으로 ‘시스템일시'로 설정한다.
- 💥
PK와 관리 컬럼은 반드시 NOT NULL로 설정
한다.- 일반속성은 필요시 선택적으로 NOT NULL을 설정할 수 있다.
---------- ----------- -------------------------------------
디폴트명 디폴트값 설명
---------- ----------- -------------------------------------
숫자0 0 도메인 그룹이 금액, 수, 율인 컬럼에 대해서 설정
문자N ‘N’ 여부 도메인을 사용하는 컬럼에 대해서 선택적으로 설정
문자Y ‘Y’ 여부 도메인을 사용하는 컬럼에 대해서 선택적으로 설정
시스템일시 SYSDATE 등록일시, 수정일시 컬럼에 대해서 설정
---------- ----------- -------------------------------------
-------------- ------------- ------------ ------------- ------------------------
속성명 컬럼명 도메인명 데이터타입 설명
-------------- ------------- ------------ ------------- ------------------------
등록사용자ID REG_USR_ID 사용자ID VARCHAR(50) Insert 시점의 사용자ID를 입력함.
화면 입력 데이터 : 로그인 사용자의 계정ID
배치 입력 데이터 : 배치프로그램ID
등록일시 REG_DTM 일시 DATE Insert시점의 시스템 일시
수정사용자ID MOD_USR_ID 사용자ID VARCHAR(50) Insert/Update 시점의 사용자ID를 입력함.
화면 입력 데이터 : 로그인 사용자의 계정ID
배치 입력 데이터 : 배치프로그램ID
수정일시 MOD_DTM 일시 DATE Insert/Update 시점의 시스템 일시
(예) 매장코드▶STR_CD, 영업시작시분▶SLBIZ_STRT_HHMM
(예) SLBIZ_STRT_HHMM ▶ 시분
(예) 매출금액 ▶ 숫자0
메타 시스템 (데이터 표준 관리 도구)
- 데이터 모델 관리
- 데이터 표준 관리
- OLAP 정보 관리
- 사용자 권한 관리
- 변경 영향도 분석
- ETL 정보 관리
- 표준 요청 관리
- JOB 관리
- DB 스키마 관리