Skip to content

Commit 9752de6

Browse files
committed
docs: ERD 작성
1 parent 66afabf commit 9752de6

1 file changed

Lines changed: 105 additions & 0 deletions

File tree

docs/design/04-erd.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# ERD
2+
3+
```mermaid
4+
erDiagram
5+
users {
6+
bigint id PK "NOT NULL | 사용자 ID"
7+
varchar login_id "NOT NULL | 로그인 ID"
8+
varchar email "NOT NULL | 이메일"
9+
varchar password "NOT NULL | 비밀번호"
10+
varchar gender "NOT NULL | 성별"
11+
varchar birth "NOT NULL | 생년월일"
12+
timestamp created_at "NOT NULL | 생성일시"
13+
timestamp updated_at "NOT NULL | 수정일시"
14+
timestamp deleted_at "삭제일시"
15+
}
16+
17+
point {
18+
bigint id PK "NOT NULL | 포인트 ID"
19+
bigint ref_ser_id "NOT NULL | 사용자 ID"
20+
int balance "NOT NULL | 잔액"
21+
}
22+
23+
brand {
24+
bigint id PK "NOT NULL | 브랜드 ID"
25+
varchar name "NOT NULL | 브랜드명"
26+
varchar description "브랜드 설명"
27+
timestamp created_at "NOT NULL | 생성일시"
28+
timestamp updated_at "수정일시"
29+
timestamp deleted_at "삭제일시"
30+
}
31+
32+
product {
33+
bigint id PK "NOT NULL | 상품 ID"
34+
bigint ref_brand_id "NOT NULL | 브랜드 ID"
35+
varchar name "NOT NULL | 상품명"
36+
decimal price "NOT NULL | 기본금액"
37+
int stock "NOT NULL | 재고"
38+
timestamp created_at "NOT NULL | 생성일시"
39+
timestamp updated_at "수정일시"
40+
timestamp deleted_at "삭제일시"
41+
}
42+
43+
like {
44+
bigint id PK "NOT NULL | 좋아요 ID"
45+
bigint ref_product_id "NOT NULL | 상품 ID"
46+
bigint ref_user_id "NOT NULL | 사용자 ID"
47+
timestamp created_at "NOT NULL | 생성일시"
48+
}
49+
50+
cart {
51+
bigint id PK "NOT NULL | 장바구니 ID"
52+
bigint ref_user_id "NOT NULL | 사용자 ID"
53+
54+
}
55+
56+
cart_item {
57+
bigint id PK "NOT NULL | 장바구니에 담긴 상품 ID"
58+
bigint ref_cart_id "NOT NULL | 장바구니 ID"
59+
bigint ref_product_id "NOT NULL | 상품 ID"
60+
varchar name "NOT NULL | 상품 이름"
61+
int quantity "NOT NULL | 수량"
62+
}
63+
64+
order {
65+
bigint id PK "NOT NULL | 주문 ID"
66+
bigint ref_user_id "NOT NULL | 사용자 ID"
67+
decimal total_price "NOT NULL | 총 주문 금액"
68+
varchar status "NOT NULL | 주문 상태"
69+
timestamp created_at "NOT NULL | 주문 일시"
70+
timestamp updated_at "수정일시"
71+
timestamp deleted_at "삭제일시"
72+
}
73+
74+
order_item {
75+
bigint id PK "NOT NULL | 주문 상품 ID"
76+
bigint ref_order_id "NOT NULL | 주문 ID"
77+
bigint ref_product_id "NOT NULL | 상품 ID"
78+
int quantity "NOT NULL | 수량"
79+
decimal price "NOT NULL | 금액"
80+
}
81+
82+
payment {
83+
bigint id PK "NOT NULL | 결제 ID"
84+
bigint ref_order_id "NOT NULL | 주문 ID"
85+
decimal total_price "NOT NULL | 주문금액"
86+
varchar method "NOT NULL | 주문방법"
87+
varchar status "NOT NULL | 주문상태"
88+
timestamp created_at "생성일시"
89+
timestamp updated_at "수정일시"
90+
timestamp deleted_at "삭제일시"
91+
timestamp approved_at "결제 승인 일시"
92+
}
93+
94+
users ||--o{ point : "has"
95+
users ||--o{ like : "likes"
96+
product ||--o{ like : "is liked by"
97+
brand ||--o{ product : "owns"
98+
users ||--o{ cart : "has"
99+
cart ||--o{ cart_item : "contains"
100+
product ||--o{ cart_item : "in"
101+
users ||--o{ order : "places"
102+
order ||--o{ order_item : "contains"
103+
product ||--o{ order_item : "included in"
104+
order ||--|| payment : "is paid by"
105+
```

0 commit comments

Comments
 (0)