-
Notifications
You must be signed in to change notification settings - Fork 6
DB 설계
Do Ho Kim edited this page Nov 23, 2020
·
5 revisions
- System은 한 개의 워크스페이스를 가진다.
- User는 아이디, 비밀번호, 프로필 사진, 풀네임, 디스플레이네임, 자기소개, 핸드폰 번호, 소셜 아이디 여부를 가진다.
- User는 다수의 chatRoom에 속할 수 있다.
- User는 속한 chatRoom의 보여지는 섹션을 정할 수 있다.
- User는 chatRoom의 알림 여부를 정할 수 있다.
- User는 다른 User과의 DM을 주고 받을 수 있다.
- 채팅방은 속해있는 제목, 공개 여부, 채팅타입, 토픽 한 정보를 가진다.
- 채팅방은 여러 회원을 가질 수 있다.
- 공개여부 정보는 다른사람에게 보여지는 public과 보여지지 않은 private을 가진다.
- 채팅타입 정보는 channel, DM, Thread으로 나뉜다.
- 채팅방은 여러 개의 message를 가진다.
- 채팅방은 pin한 내용에 대한 정보를 가진다.
- message은 여러 reaction을 가질 수 있다.
- message은 작성 시간, 작성자, 내용 정보를 가진다.
- message는 여러 파일을 가질 수 있다.
- message은 한 개의 thread를 가진다.
- thread는 여러 개의 reply을 가진다.
- reply는 여러 reaction을 가질 수 있다.
- reply는 내용, 작성자 정보, 작성시간을 가진다
- reply는 여러 파일을 가질 수 있다.
- reaction은 제목과 이미지를 가진다.
- file은 URI 정보를 가진다.
- User
- ChatRoom
- Message
- Thread
- Reply
- Reaction
- File
관계 | 타입 | 속성 |
---|---|---|
user-chatRoom | n:m | 섹션, 알림여부 |
chatRoom-message | 1:n | 핀여부 |
message-file | 1:n | |
message-reaction | 1:n | |
message-thread | 1:1 | |
thread-reply | 1:n | |
reply-reaction | 1:n | |
reply-file | 1:n |
- 1:1 관계를 가지고 있는 message-thread 관계에서 thread에 대해 많은 속성을 가지지 않기에 릴레이션을 생성하지 않고 추후 message와 reply의 1:n 관계를 생성해 속성명을 thread로 관리하는 것이 좋다고 판단
- User
- ChatRoom
- Message
- Reply
- Reaction
- File
- Section
관계 | 타입 | 속성 |
---|---|---|
user-Section | 1:n | |
user-chatRoom | n:m | 섹션, 알림여부 |
chatRoom-message | 1:n | 핀여부 |
message-file | 1:n | |
message-reaction | 1:n | |
message-reply | 1:n | |
reply-reaction | 1:n | |
reply-file | 1:n |