- [DB 모델링] Urban Shop E-Commerce 데이터베이스 모델링2024년 11월 27일 15시 43분 09초에 업로드 된 글입니다.작성자: Devrun반응형
오늘은 GPT를 이용해서 데이터베이스 프로젝트 시나리오를 만들어 달라고 했다. 아래는 온라인 쇼핑몰에 관한 데이터베이스 시나리오다. 실제 대학에서는 조금더 어렵게 나온다. 평균적으로 하나의 회사를 설계하는 모델링 과제가 주로 나오는데, 평균적으로 3~4명 정도의 팀원을 가지고 2~3주안에 하나의 프로젝트를 완성해야한다. 나의 학창시절 나의 가장 많은 시간을 들인 DB 프로젝트를 오랜만에 만져보기로 결심하고 시나리오를 채택했으니 아래 시나리오를 읽고 나의 정규화와 ERD를 보고 비교해보자.
DB는 누가 설계하는가의 따라 천차만별의 성능을 가진다고 본다. 또한, 보안도 천차만별이다. 실제 회사에서 일해보면, 중소기업 이하의 회사는 보안이 없다고 보면 된다. 그런 능력자를 대리고 일 할 만큼 수익을 발생하지 못 하니까... 또는 아무렇게나 만들어도 알 사람이 없으니까... 실제로 경험해보면 안다. 실제로 경험하고 3개월간 작업해본 나로서는 진짜 믿을 곳 없다고 본다. 아무튼 시작해보자
시나리오 : " 모던 라이프 스타일 쇼핑 몰 UrbanShop
배경
UrbanShop 은 현대적이고 트렌디한 제품을 판매하는 온라인 쇼핑몰입니다 . 고객들은 의류 , 전자기기 , 홈데코 등의 다양한 제품을 탐색하고 구매할 수 있습니다 . 비즈니스는 확장 가능 성을 염두에 두고 설계되어야 하며 , 고객 데이터 , 상품 데이터 , 주문 이력을 체계적으로 관리 할필요가 있습니다 .
주요 요구사항
고객 관리
- 고객은 회원가입을 통해 정보를 등록하고 쇼핑몰을 이용합니다 .
- 고객 정보에는 이름 , 이메일 , 전화번호 , 비밀번호가 포함됩니다 .
- 각고객은 여러 개의 배송 주소를 가질 수 있습니다 .
- 고객은 리뷰를 남길 수 있습니다 .
상품 관리
- 상품은 고유 ID, 이름 , 가격 , 카테고리 , 설명 , 브랜드 정보를 포함합니다 .
- 각상품은 재고 수량이 관리되어야 하며 , 최소 재고 임계값이 설정됩니다 .
- 상품에는 여러 장의 이미지가 첨부될 수 있습니다 .
- 특정 상품은 프로모션 ( 할인 가격 , 기간 등 ) 에 참여할 수 있습니다 .
주문 관리
- 고객은 한 번에 여러 상품을 주문할 수 있습니다 .
- 주문에는 고객 , 주문일 , 배송 주소 , 주문 상태 ( 예 : ' 처리 중 ', ' 배송 중 ', ' 배송 완료 ', ' 취소됨 ') 가 포함됩니다 .
- 각주문의 세부 항목에는 상품 , 수량 , 단가 , 소계가 포함됩니다 .
- 배송 추적 번호와 배송사 정보를 저장할 수 있어야 합니다 .
결제 관리
- 결제는 신용카드 , 페이팔 , 은행 이체 등 다양한 결제 수단을 지원합니다 .
- 결제 정보에는 결제 방법 , 결제 일자 , 총 결제 금액이 포함됩니다 .
- 주문은 결제 상태 ( 예 : ' 미결제 ', ' 결제 완료 ', ' 환불됨 ') 를 가져야 합니다 .
리뷰 및 평점
- 고객은 상품에 대한 리뷰와 평점을 남길 수 있습니다 .
- 리뷰에는 작성일 , 내용 , 평점 (1~5 점 ) 이 포함됩니다 .
- 각상품은 여러 리뷰를 가질 수 있으며 평균 평점을 계산할 수 있어야 합니다 .
관리자 기능
- 관리자는 상품을 등록 , 수정 , 삭제할 수 있습니다 .
- 관리자는 고객 목록을 관리하고 주문 상태를 변경할 수 있습니다
위 기능을 나타낸 정규화 (Normalization)
1. 비정규화
2. 1NF
3. 2NF
4. 3NF
5. ERD 수정본 V 1.1
기존 작성된 ERD에서 오타와 잘 못 기입된 부분이 있어 수정했음
앞으로 수정되면서 업데이트 해나갈 것이다. 업데이트 되는 내용은 이 글에 업데이트가 될 것이며, v을 표기할 것이다.
반응형'SQL Server > DB 기록' 카테고리의 다른 글
[DB 모델링] Urban Shop E-Commerce DB 만들기 (1) 2024.11.27 다음글이 없습니다.이전글이 없습니다.댓글