3년전에 국비를 들었을 때는 모델링 설계 참여가 저조했었다.
내용을 이해 못하기도 했고 10년차 경력자 분이 계셨어서 의존하는 방식이었다.
이번 프로젝트에서는 모델링 공부를 다시 제대로 하고 싶어서 시리즈별로 설계를 해 볼 예정이다.
책으로는 핵심 데이터 모델링을 보고 있다.
실패로 깨달은 건데 단순히 책에서 말하는 가이드라인과 실제는 다르다.
그래서 사이트를 보고 엔티티를 추출한 다음에 가이드라인에 부합한 지 확인하는 방식으로 진행하려고 한다.
개념 모델링
엔티티 정의 및 상세화
핵심 엔티티는 독립적으로 존재하며 식별할 수 있다.
진이마켓 기준
매장 (온라인이라고 치자)
매장명 : 떠카나주
매장주소 : 온라인이라 제외
전화번호 : 전화대신 상품 정보 아래에 댓글로 디엠을 보내는 기능이 있다(아이디어스)
상품
상품명 : 찹쌀약과
단가 : 8000원
적립금 및 쿠폰 : 130포인트, 첫 구매시 5000원 할인 쿠폰 제공
핵심 엔티티를 식별할 때 전체 집합의 범위와 유형들을 명확히 해야 한다.
또한 인스턴스 생애주기 이해가 명확해야 한다.
J: 여기서 의문이 들었다. 회원을 탈퇴한다면 물리적으로 회원데이터를 삭제할 것인지,
상태 코드를 바꿔서 '삭제' 표시만 할 것인지.
언제 생성되고 갱신되고 삭제되는가?
=> 가입 시 생성되고 마이페이지에서 수정 시 갱신되고 회원탈퇴시 삭제 또는 삭제 표시된다.
핵심 엔티티를 성격에 따라 분류
유형 및 분류: 고객유형코드, 상품분류코드
J: 상품분류코드는 생각도 못했다. 약과는 식품이고 식품은 코드 'B1401' 등으로 지정할 수 있겠다.
신규 회원은 N1으로 표현하고 VIP는 V로 표현하는 등 데이터를 코드화해야 한다.
J: 나는 이 프로젝트에서 비회원은 고객에서 제외했다. 비회원주문은 없애고 가입을 필히 요구한다.
고객을 등록하기 위해서는 최소 닉네임(아이디), 이메일, 비밀번호를 요구한다. 진짜 최소한이다.
그 다음으로 가입날짜, 회원의 상태코드, 마케팅 수신에 동의했는 지 여부를 추가할 수 있겠다.
그리고 개인과 개인사업자는 엄연히 다른 고객이다.
나는 이번에 일반구매하는 개인과 상품을 판매하는 개인사업자(또는 단체)로 구매자와 판매자로 나눌 것이다.
중요 엔티티는 구별 가능한 업무를 의미한다. 상위의 주 식별자가 없고 독립적 식별자를 가지지만
의미나 집합 측면에서 타 엔티티에 종속된다.
주문과 배송이 해당한다. 각각 주문번호, 배송번호를 가지며 회원과 상품에 종속되는 엔티티이다.
회원과 상품이 없다면 주문과 배송은 존재할 수 없기 때문이다.
주문이 중요 엔티티, 주문 상세가 행위 엔티티다.
erd 이미지가 업로드가 안되네..