Skip to content

DB 설계

KIMEOJIN edited this page Sep 15, 2024 · 4 revisions

ERD

Component 1

테이블명세

추가배송지 (Address)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
배송지 번호 addId number PK N
회원 번호 userId number FK N
배송지명 addName varchar(10) N
우편번호 zipCode varchar(7) N
주소 address varchar(50) N
상세주소 detailedAddress varchar(30)
기본 배송지 여부 isDefault boolean N FALSE
받는 사람 receiver varchar(8) N
전화번호 phoneNum varchar(15) N
생성 일자 createdAt date N
수정 일자 updatedAt date N

회원 (User)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
회원 번호 userId number PK N
아이디 loginId varchar(15) N
비밀번호 userPw varchar(100) N
닉네임 nickname varchar(20) N
회원 이름 userName varchar(8) N
전화번호 phoneNum varchar(15) N unique
이메일 email varchar(30) N unique
프로필 이미지 profileImg varchar(100)
잔고 balance number N 회원가입 시 랜덤 숫자값
블랙리스트 여부 isBlacklist boolean N FALSE
탈퇴 여부 isWithdrawn boolean N FALSE
가입 일자 createdAt date N
수정 일자 updatedAt date N

약관 동의 (Terms_Agree)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
동의 번호 agreeId number PK N
회원 번호 userId number FK N [회원T] 회원 번호
필수 약관 동의 여부 isRequiredAgreed boolean N FALSE 필수 약관 1개
선택 약관 동의 여부 isOptionalAgreed boolean N FALSE 선택 약관 1개

찜 (Wishlist)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
찜 번호 wishlistId number PK N
회원 번호 userId number FK N [회원T] 회원 번호
판매글 번호 postId number FK N [판매글T] 판매글 번호

장바구니 (Cart)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
장바구니 번호 cartId number PK N
회원 번호 userId number FK N [회원T] 회원 번호
판매글 번호 postId number FK N [판매글T] 판매글 번호

신고 (Complaint)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
신고 번호 complaintId number PK N
회원 번호 userId number FK N [회원T] 회원 번호 (신고자)
판매글 번호 postId number FK N [판매글T] 판매글 번호
판매자 번호 sellerId number FK N [판매자T] 판매자 번호 (신고 대상자)
신고 내용 complaintContent varchar(20) N
작성 일자 createdAt date N
수정 일자 updatedAt date N

댓글 (Comment)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
댓글 번호 comId number PK N
회원 번호 userId number FK N [회원T] 회원 번호
판매글 번호 postId number FK N [판매글T] 판매글 번호
댓글 내용 comContent varchar(100) N
비밀 여부 isSecret boolean N FALSE
삭제 여부 isDeleted boolean N FALSE
상위 댓글 번호 parentComId number
작성 일자 createdAt date N
수정 일자 updatedAt date N

배송사 (Delivery)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
배송사 번호 deliveryId number PK N
배송사명 deliveryName varchar(20) N
배송비 deliveryFee number N
배송일 수 deliveryDays number N 배송 완료까지 걸리는 일 수

판매자 (Seller)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
판매자 번호 sellerId number PK N
배송사 번호 deliveryId number FK N [배송사T] 배송사 번호
회원 번호 userId number FK N [회원T] 회원 번호
판매자명 sellerName varchar(20) N
판매자 이미지 sellerImg varchar(100)
판매자 설명 sellerExplain varchar(50)
삭제 여부 isDeleted boolean N FALSE

판매글 (Post)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
판매글 번호 postId number PK N
판매자 번호 sellerId number FK N [판매자T] 판매자 번호
판매글 제목 postTitle varchar(60) N
상품 정보 postContent varchar(1000) N
상품 가격 productPrice number N
카테고리 번호 categoryId number FK N [카테고리T] 카테고리 번호
상품 유형 productType varchar(15) N 공식/비공식
상품 상태 productStatus varchar(10) N 새상품/중고
판매 상태 sellStatus varchar(15) N 판매 중/판매 예약/판매 완료
결제 여부 isOrdered boolean N FALSE 구매 테이블 내역 생성 시 true
삭제 여부 isDeleted boolean N FALSE
작성 일자 createdAt date N
수정 일자 updatedAt date N

구매 (Order)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
구매 번호 orderId number PK N
회원 번호 userId number FK N [회원T] 회원 번호 - 구매자
판매글 번호 postId number FK N [판매글T] 판매글 번호
판매자 번호 sellerId number FK N [판매글T] 판매자 번호
주문 번호 allOrderId varchar(10) N 한 구매(결제) -> 주문 번호 같게 생성
구매 날짜 createdAt date N
송장 번호 invoiceNumber number 숫자만 12자리
배송 상태 deliveryStatus varchar(20) N 배송 전/배송 중/배송 완료
배송지 address varchar(100) N
배송비 deliveryPrice number N 0
구매 확정 여부 isConfirmed boolean N FALSE 구매 확정 시 true
구매 취소 여부 isOrderCanceled boolean N FALSE 판매자가 블랙리스트 추가 시 구매 취소 -> 환불

중개 내역 (Order_Logs)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
중개 내역 번호 orderLogId number PK N
관리자 번호 managerId number FK N [관리자T] 관리자 번호
구매 번호 orderId number FK N [구매T] 구매 번호
회원 번호 userId number FK N [구매T] 회원 번호 (구매자 번호)
판매글 번호 postId number FK N [구매T] 판매글 번호
가격 orderLogPrice number N
입금 내역 deposit number 구매자 결제 시 컬럼 업데이트
출금 내역 withdraw number 판매자 입금(구매 확정) 시 컬럼 업데이트
내역 상태 logStatus varchar(10) N 입금/출금/환불
생성 일자 createdAt date N

관리자 (Manager)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
관리자 번호 managerId number PK N
관리자 아이디 loginId varchar(15) N
관리자 비밀번호 managerPw varchar(100) N

카테고리 (Category)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
카테고리 번호 categoryId number PK N
카테고리명 categoryName varchar(20) N

판매 이미지 (Product_Image)

논리 컬럼명 물리 컬럼명 데이터타입(길이) KEY NULL DEFAULT 설명
이미지 번호 imgId number PK N
판매글 번호 postId number FK N [판매글T] 판매글 번호
이미지 파일명 imgName varchar(100) N
썸네일 여부 isThumbnail boolean N FALSE