본문 바로가기

Data Architecture

코드엔터티(공통/개별) 설계 기준 어떻게들 잡고 계시나요 ?

안녕하세요. 제이콥입니다. 


실무에서 공통코드와 개별코드 설계시, 여러분이 선택하시고 적용하시는 기준,
의견 또는 스타일(?) 을 여쭤보고 그 이유를 들어보고 싶어서 글을 올려봅니다. 
----------------------------------------------------------------------

1. 공통코드 엔터티에서 관리가 가능한 경우 공통코드 엔터티에서 관리 (저는 Default 로 갑니당)
   
2. 코드값의 개수가 몇개 이상인 경우 개별코드 엔터티에서 관리 (저의 경우는 개수는 거의 고려하지 않음)

3. 개별로 관리해야할 속성이 하나라도 존재하는 경우
    (고민이 될 때가 있음, 공통에 공통적 속성을 살짝 추가해서 관리할까,
      이 때는 데이터 타입까지 고려, 아님 개별코드 엔터티로 설계할까?)

4. 개별로 관리해야할 속성의 개수가 몇개 이상인 경우
    (역시 주요하게 개별코드 엔터티로 설계할 대상으로 보고 진행하네요)

5. 담당자가 이건 비즈니스적으로 너무 중요해서 한눈에 알아보도록 별도로 관리하였으면 좋겠다고 하는 경우
   (음,, 귀를 기울여본다)

6. 코드값간에 계층구조가 존재하는 경우
    ( ? ? ?, 이건 고려해야 하나... 뭐지 -_-)

7. 빈번하게 사용되어서 CACHE 에 올려서 사용하겠다고 하는 코드인 경우 
   (자세히 듣고 고민해 본다. 이 때는 공통에 있는 특정코드의 코드값들의 개수에 대해서 고민을 살짝쿵 한다, 뭐가 좋을까)

 8. 각기 다른 코드간에 관계가 존재하는 경우 


---------------- 보완 및 추가  2016.01.05  21:50 ----------------

덧글 달아주시는 님들의 글을 보고, Clear Definition 이 필요할 수도 있겠다 싶어서 
우선 아래와 같이 의미를 한정하여 정의해 봅니다. 

공통코드 엔터티 : 일반적인 ERD 모델에서 여러 코드들을 통합하여 관리하는 목적으로 설계하는 엔터티
개별코드 엔터티 : 특정 코드를 (공통코드 엔터티에서 관리하지 않고) 별도로 분리하여(독립적으로) 설계하는 엔터티
개체에 관해서는 해당 단어를 쓰시는 분의 의중이 있을 듯 하여 남겨 둡니다. 
(코드중에서 무엇을 개체로 볼 수 있느냐, 볼 것이냐라는 부분도 의견 교환의 여지가 있어 남겨 둡니다)

---------------- 보완 및 추가  2016.01.05  21:50 ----------------

... 다른 것도 생각이 나면 추가해 보겠습니다. 
... 여튼 여러분들의 의견을 들어보고 싶네요 ^^