Tech Talks

데이터 모델링. 데이터부터 알고 시작하자

물통꿀꿀이 2020. 7. 3. 10:01

데이터 모델링은 참 어렵다.

말 그대로 데이터를 DB에 잘(?) 녹아내기 위한 모델링을 해야하기 때문이다. 그래서 데이터 모델링을 하기 위해선 업무 비즈니스를 잘 이해해야 한다.

즉, 데이터 모델링은 데이터의 속성들의 이해 여부에 따라 최악의 모델링이냐 최선의 모델링이냐로 나뉜다고 생각한다.

 

한 가지 예를 들어보면,

위 그림은 Student와 Book의 관계이다. 비슷해보이지만 Student와 Book의 관계를 어떤 시선으로 보느냐에 따라 모델링이 완전히 달라질 수 있다.

상단은 1:M 관계로 한 명의 Student가 여러 개의 Book을 가지고 있다는 의미로 사용될 수 있고,

하단은 N:M 관계로 각 Student는 하나의 Book만을 가질 수 있다.

 

또 위의 단초로운 entity는 어떤가?

그냥 확~ Student와 Book이 무조건 1:1이라고 한다면, 굳이 entity를 나눌 필요 없이 다 통합해버리는 위 방식은?

 

이렇게 단순히 Student와 Book 2개만을 가지고 모델을 해봐도 데이터 관점에 따라 설계 방향이 달라질 수 있다.

그래서 업무 데이터의 이해가 부족한 상태라면 추후 모델링의 결과는 Hell이 될 수 있다.

더군다나 비즈니스가 복잡하고 테이블이 수십 수백개로 다가온다면..? 그야 말로 WTF이 자연스럽게 나온다.

 

모델링은 DB 설계에 있어서 가장 중요한 요소 중에 하나이다.

하지만 설계에 앞서 모델링 하려는 데이터를 제대로 이해하는 것이 좋은 모델링을 만드려는 우선 조건이지 않을까 싶다.