본문 바로가기
모델링/논리 모델링

[논리모델링연습] DA 공모대회 2017년 학생부 개인 답안

by 연습장이 2024. 5. 12.
728x90
반응형

  역시 학생부가 일반부보다 쉽다는 생각이 들었다. 제대로 그려보는건 이번이 3번째인데, 개인 답안이 대상작과 비슷한 부분이 많아 내심 뿌듯하였다.

 

  각설하고 논리 ERD는 아래와 같다.

ERD 해설

  본사 엔터티를 다룰까 말까 고민 했었다. 근데, 지문에서 생각보다 본사의 역할이 있는 것 같아 엔터티로 관리를 하였다. 그 다음 고민으로는 본사 엔터티를 매장과 통합할까 말까였다. 지문에 나와 있는 내용에 한해서만 따지자면 통합하는게 맞았다. '근무지'라는 엔터티 성격도 비슷했고 말이다. 하지만, 그럼에도 분리를 하였다. 왜냐하면 확장성에 따라 데이터 성격은 다르기 때문이다. 본사와 매장이 다루는 데이터는 당장은 비슷하겠지만 앞으로는 확연히 다를 것이다. 하지만 식별자를 통합하는 것에 대해서는 더 좋지 않을까 하는 생각도 드는데, 실무였다면 통합했을 것이다.

 

  다음으로 고민했던건 '사번' 이라는 pk를 어디에 둘 것이냐였다. 혹자는 당연히 사번은 사원 엔터티에 있어야하는 것 아닌가? 할수도 있다. 필자는 처음에 관계자 엔터티(근무를 했던, 하고 있는 사람을 관리하는 실체 엔터티이며 키 엔터티)에 사번을 pk로 주었다. 그러다보니 단점으로는 pk 상속이 너무나 지저분하고 난잡했다. 처음 구조는 관계 데이터 모델에서 보보았듯이 사원-사원근무계약 엔터티였다. 논리 데이터 모델에서는 지금 관계자-사원 엔터티인 셈이다. 사원근무계약으로 엔터티명을 정하자니 엔터티 정체성이 흐려지는 것 같았다. 그래서 의미를 명확하게 하기 위해 엔터티명을 사원으로 바꾸고 사번을 주었더니 확실히 관계가 더 깔끔해졌고 명확해졌다.

 

  또한 고민했던 부분은 회원카드에 매장 엔터티의 pk를 상속하느냐 마느냐, 어떻게 상속하느냐였다. 회원카드 발급이 매장을 통해서만 가능하다면 내 논리 데이터 모델이 맞고, 온라인을 통해서도 회원카드 발급이 가능하다면 위 그림에서 매장과의 관계는 빠지거나 필수-선택 관계가 아닌 선택-선택 관계가 되는게 맞다. 이건 로직적으로 풀어야할 문제다. 하지만 장기적으로 보면 매장 관계가 빠지는게 확장성 면에서는 좋을 듯하다.

 

  매장테이블의 엔터티를 관리를 할까 말까도 고민했었다. 크게 안중요할 것 같긴한데 서빙알바를 해본 경험이 있어 테이블번호가 주문받을 때나 결제시에 많이 중요했었다. 개인적인 경험을 되돌아봤을 때 관리하는게 좋을 것 같아 추가하였다.

 

총평

  장기적으로 보면 달라지는 엔터티 구성과 관계 구성이 여기저기에 있다. 어디까지 내다볼 것인가가 중요할 것이라 생각한다.

 

728x90
반응형