본문 바로가기

데이터 Story/모델링 매뉴얼

외부에서 받은 코드 값만 관리할 때

외부에서 받은 코드를 관리할 때, 코드 값에 대한 명()을 알 필요가 없다면 통합코드 엔터티에서 관리하지 않고 속성에서 값만 관리하며 속성 명은 ‘~코드값’으로 정한다.

 

외부에서 데이터를 받을 때, ‘01’ 등의 코드가 포함됐지만 해당 값이 무엇을 의미하는지, 즉 코드명을 알 필요가 없을 때가 있다. 이때는 해당 코드를 통합코드 엔터티에 등록하지 않는다. 코드 형태라고 모두 통합코드 엔터티에서 관리하는 것은 아니다.

 

[그림1] 교육과정 엔터티는 외부에서 받은 교육 과정 정보를 관리하는 엔터티다.


  

[그림1]

 

교육 기관을 의미하는 교육기관코드에 대해서 ‘01’ 등의 값을 받지만 해당 값이 무엇을 의미하는지, ‘A기관인지 ‘B기관인지 알 수가 없다. 이는 해당 코드명이 사용되지 않는다는 것이다.

 

이렇게 코드명을 알 필요가 없을 때는 ‘01’이라는 값만 받아서 속성에 저정하면 되기 때문에 교육기관코드에 대한 코드 인스턴스를 통합코드 엔터티에서 관리하지 않아도 된다. 아래 릴레이션처럼 ‘01’이라는 값만 관리한다.

[교육과정]

#교육과정번호

교육과정명

교육기관코드값

001

데이터 모델링

01

002

데이터 품질

02

003

오라클

03

 [그림2]

 

교육기관코드값 속성에는 외부에서 받은 코드 값을 그대로 관리하며, 통합코드를 관리하는 엔터티에는 해당 코드를 등록하지 않는다. 교육기관코드값 속성은 일반 코드와 다르기 때문에 속성 명을 ‘~코드값으로 정한다. ‘코드값이라는 도메인이 필요하다.


전문 데이터를 사용할 때 위와 같이 코드명을 모르는 코드를 관리하는 경우가 있다. 이는 받은 데이터를 그대로 관리하기 때문에 발생하는 현상이다.

 

전문 데이터는 별도 시스템이나 텍스트 원문으로 관리하고, 엔터티로 설계할 때는 사용 용도에 맞게 설계하는 것이 원칙이다. 사용하지 않는 데이터, 사용할 수 없는 데이터는 설계하지 않는 것이 좋다.