논리 모델링: 데이터를 명확하고 구체적으로 정의하고, 상세한 수준의 데이터 구조를 설계하는 과정.

엔티티 정의 및 상세화

핵심 엔티티 : 독립적이며 식별가능. 업무 이전에 사전 정의되는 엔티티.

단독으로 존재하거나 다른 핵심 엔티티에 종속적이다.(직원이 부서에 종속되듯이) 업무행위의 주체 또는 대상(목적)이 된다.

업무 행위에 대한 집계를 결정하는 디멘전.(부서별 고객별 주문건수라는데)

예시) 고객(who)이 상품(what)을 매장(where)에서 구입한다, 오픈 전에도 존재하는 매장(매장명, 매장주소, 전화번호), 판매할 상품에 대한 정보(상품명, 단가) 및 정책(쿠폰)

중요 엔티티(Main Entity, 업무 기본) : 업무 주체와 업무 대상 사이의 거래, 구별가능한 업무 행위를 나타내는 엔티티.

행위 엔티티(Action Entity, 업무 상세) 업무 행위에 대한 상세 내역 및 업무 결과에 대한 상태이다. 예) 상세, 상태, 이력, 주문 상세

일반적으로 중요 엔티티에 종속되므로, 중요 엔티티를 삭제하면 행위 엔티티도 관리하지 않는다.

상세/내역(Details) : 중요 엔티티(주문, 예산)를 더 작게 세분화한 엔티티 상태(Status) : 업무처리에 대한 상태를 관리하는 엔티티. 업무처리과정에서 반드시 발생하는 데이터로, 상태코드 값은 사전에 정해진 값(코드 테이블)을 사용한다.

*업데이트가 어렵다면?→ 데이터를 다 지우고 새로 insert하면 OK.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bd521ed0-cf0a-4fd2-ba83-986ec496cced/KakaoTalk_Photo_2021-02-01-14-51-43.jpeg

이력(History) : 관리하던 데이터가 변경되었을 때 변경 전 데이터를 추가로 관리하는 엔티티.

  1. 선택지를 만든다 2. 제일 아닌 것 같은 것부터 쳐 낸다. 변경 항목만 이력 관리 → 변경전 값과 변경후 값이 있다. 이력 데이터에 대한 변경 시점을 관리(변경된 것의 before, after 관리) -일자 혹은 구간을 기준으로 관리할 수 있다. -현재가 최종이면 이력에 들어가지 않는다. -제외? 혹은 포함할 것인지 결정하기.

엔티티 도출 및 식별 : 관심 대상이 되는 데이터를 분석하여 엔티티로 구체화하는 과정 → iv 적기