-
Notifications
You must be signed in to change notification settings - Fork 0
07 ERD
2hwayoung edited this page Apr 15, 2025
·
1 revision
| 필드명 | 타입 | 제약조건 | 설명 |
|---|---|---|---|
| id | UUID | PK, NotNull, Updatable = false | 사용자 고유 ID |
| name | String | NotNull | 사용자 이름 |
| String | NotNull, Unique | 이메일 | |
| password | String | NotNull | 비밀번호 |
| authority | Authority | NotNull | 권한 |
| verified | Boolean | NotNull, default = false | 이메일 인증 여부 |
| provider | Provider | NotNull, Enum | 가입 경로 (EMAIL 등) |
| 필드명 | 타입 | 제약조건 | 설명 |
|---|---|---|---|
| code | String | PK | 마켓 코드 (예: KRW-BTC) |
| koreanName | String | NotNull | 마켓 이름 (한글) |
| englishName | String | NotNull | 마켓 이름 (영문) |
| 필드명 | 타입 | 제약조건 | 설명 |
|---|---|---|---|
| id | Long | PK, Auto Increment | 북마크 ID |
| user | User | FK(user_id), NotNull, Cascade | 북마크한 사용자 |
| market | Market | FK(market_id), NotNull | 북마크 대상 마켓 |
| unique | user_id + market_id 조합으로 Unique 제약 | 동일 마켓 중복 북마크 방지 |
| 필드명 | 타입 | 제약조건 | 설명 |
|---|---|---|---|
| id | Long | PK, Auto Increment | 메시지 ID |
| chatRoom | ChatRoom | FK(chat_room_id), NotNull, Cascade | 해당 메시지가 속한 채팅방 |
| sender | User | FK(user_id), NotNull, Cascade | 메시지 보낸 사용자 |
| content | String | NotNull, maxLength = 1000 | 메시지 내용 |
| timestamp | LocalDateTime | - | 메시지 전송 시간 |
| 필드명 | 타입 | 제약조건 | 설명 |
|---|---|---|---|
| id | Long | PK, Auto Increment | 채팅방 ID |
| market | Market | FK(market_id), NotNull | 채팅방이 연결된 마켓 |
| name | String | NotNull | 채팅방 이름 (마켓의 한글 이름 등) |
-
하나의 사용자는 여러 개의 마켓을 북마크할 수 있음 (1:N)
-
Bookmark는 user_id를 통해 해당 사용자를 참조함
-
사용자 삭제 시 연관된 Bookmark도 함께 삭제됨 (Cascade, @OnDelete)
-
하나의 마켓은 여러 사용자에게 북마크될 수 있음 (1:N)
-
Bookmark는 market_id를 통해 마켓을 참조함
-
각 채팅방은 하나의 마켓에만 연결됨 (N:1)
-
즉, 한 마켓당 여러 채팅방이 연결될 수 있음
-
하나의 채팅방에는 여러 메시지가 존재함 (1:N)
-
메시지는 어떤 채팅방에 속해있는지 chat_room_id로 구분됨
-
메시지는 하나의 사용자에 의해 작성됨 (N:1)
-
사용자가 작성한 여러 메시지가 있을 수 있음