본문 바로가기

Data Architecture

엔티티(Entity, 실체) 후보의 선정

-- 엔티티 후보의 선정 --

엔티티의 결정은 매우 전략적인 판단이 요구된다. 
데이터 모델링에서는 실체 집합인 엔티티를 정확하게 도출할 수 있는 것이 무엇보다도 중요하다.
수평적 사고를 하라. 확인하고자 하는 수준이 명확해지면 더 깊이 들어가지 말고 멈추어라.
가장 중요한 원칙은 복잡한 것을 최대한 피하고 단계별로 중요한 부분부터 확실하게 해가는 것이기 때문이다.

세가지 단계에 따른 검증
  1. 엔티티의 개념을 확실하게 정립하는 것 (Definition)
  2. 관리하고자 하는 대상인지  (Informativeness)
  3. 속성과 객체가 두개 이상인 집합인지 여부

* 집합이라는 것은 원래 정의를 어떻게 하느냐에 따라 달라짐. ( 포함과 배제 )
  어떻게 묶어서라도 원하는 집합을 만들 수야 있겠지만, 어떤 형태가 가장 이상적인 집합이냐에 대한 문제는
매우 전략적인 판단에 의해 좌우된다. 어떤 현안에 대해 여러가지의 집합 형태가 있지만 이러이러한 이유에 의해서 이런 모양이 가장 합리적이라고 확신을 가지고 자신있게 주장할 수 있겠는가 ? 

 '관리하고자 하는 대상' 인가라는 말은 모델링을 하면서 던지는 모든 질문에 반드시 기본적으로 포함되어야 하는 주어부에 해당하는 구문이다. 또한 이 말에는 "우리가 앞으로는 관리해야 하지 않느냐?" 라는 질문을 모두 포함하고 있다. 현재 관리되고 있다는 것을 정확하게 확인하는 것도 쉽지 않겠지만, 앞으로  관리할 것 인지에 대해서까지도 확신있는 결정을 내린다는 것은 매우 전략적인 판단을 요구하므로 많은 논의를 거쳐야하는 고된 작업이기도 하다. 우리는 미래에 대한 전향적인 자세를 가지고 '앞으로는 관리해야 할' 영역까지 감안한 주어부를 확정해 주어야 한다. 이처럼 미래 지향적인 주어부를 바탕으로 한 데이터 모델링은 당연히 현재보다 훨씬 개선되고, 발전적인 모습의 데이터 모델이 탄생할 것은 너무나 당연하다.

미확정된 고객의 주어부에 맞추기 위해서는 <엔티티의 유연성> 이나 <속성의 최소 공배수> 를 미리 마련해야 한다.

구체적인 개체의 형태를 확인하는 방법
 1. '의미상의 주어' 즉 자신을 태어나게 한 부모를 찾는 방법이다.
 2. 언제 새로운 개체가 생겨나는 지를 검토하는 방법이다. ( 다른 개체의 생성과 변경으로 인한 생성 )
 3. 실제 사례개체를 만들어 본다. 



-- 공부중 내용정리 "데이터 아키텍처 솔루션 1  <이화식>" --