2025.07.15 개발일지 [채팅 프로그램 5팀 / 테이블 명세서 / ERD]

2025. 7. 29. 18:53·LMS 7/개발일지

테이블 명세서

회원 정보
Table
user
컬럼명
데이터 타입
제약 조건
설명
id
VARCHAR(20)
PRIMARY KEY / NOT NULL
로그인 ID
password
VARCHAR(100)
NOT NULL
비밀번호
nickname
VARCHAR(50)
NOT NULL
표시용 닉네임
created_at
DATETIME
DEFAULT CURRENT_TIMESTAMP
가입일시
​
​
​
​
채팅방 정보
Table
chatroom
컬럼명
데이터 타입
제약 조건
설명
room_id
INT
PRIMARY KEY / AUTO_INCREMENT
채팅방 고유번호
room_name
VARCHAR(50)
NOT NULL
채팅방 이름
room_type
ENUM('open','group')
NOT NULL
채팅방 유형(오픈/그룹)
creator_id
VARCHAR(20)
FOREIGN KEY REFERENCES user(id)
생성자 ID
created_at
DATETIME
DEFAULT CURRENT_TIMESTAMP
생성일시
​
​
​
​
방 참가자
Table
chatroom_user
컬럼명
데이터 타입
제약 조건
설명
room_id
INT
NOT NULL, FK REFERENCES chatroom(room_id)
참여한 채팅방 ID
user_id
VARCHAR(20)
NOT NULL, FK REFERENCES user(id)
참여한 사용자 ID
joined_at
DATETIME
DEFAULT CURRENT_TIMESTAMP
입장 시각
PRIMARY KEY
(room_id, user_id
​
복합키
​
​
​
​
채팅 메시지
Table
chat_message
컬럼명
데이터 타입
제약 조건
설명
message_id
INT
PRIMARY KEY / AUTO_INCREMENT
메시지 고유번호
room_id
INT
NOT NULL, FK REFERENCES chatroom(room_id)
방 ID
sender_id
VARCHAR(20)
NOT NULL, FK REFERENCES user(id)
보낸 사용자 ID
message
TEXT
NOT NULL
메시지 내용
send_at
DATETIME
DEFAULT CURRENT_TIMESTAMP
전송 시각

테이블은 총 4개로 구성

user : 회원정보(회원가입, 로그인, 이후 채팅에서 식별자)

chatroom : 채팅방을 open 또는 group 채팅방으로 나누어 관리하고, 채팅방 생성자 확인

chatroom_user : 생성된 채팅방에 입장, 퇴장 인원을 관리함

chat_message : 모든 채팅 내역을 방ID, 보낸ID, 시각을 기준으로 저장함

​

ERD

chatroom_user의 room_id는 chatroom(room_id) 외래키(foreign key) / user_id는 user(id) 외래키

chatroom의 creator_id는 user(id) 외래키

chat_message의 room_id는 chatroom(room_id) 외래키 / sender_id는 user(id) 외래키

 

'LMS 7 > 개발일지' 카테고리의 다른 글

25.07.17 개발일지 / 채팅 프로그램 5팀  (0) 2025.07.29
25.07.16 개발일지 / 채팅 프로그램 5팀  (0) 2025.07.29
25.07.14 개발일지 / 멀티스레드를 통한 채팅프로그램 구상  (2) 2025.07.29
25.07.12 학습일지 / mySQL, C  (0) 2025.07.29
25.07.10 학습개발일지 / mySQL  (0) 2025.07.28
'LMS 7/개발일지' 카테고리의 다른 글
  • 25.07.17 개발일지 / 채팅 프로그램 5팀
  • 25.07.16 개발일지 / 채팅 프로그램 5팀
  • 25.07.14 개발일지 / 멀티스레드를 통한 채팅프로그램 구상
  • 25.07.12 학습일지 / mySQL, C
m_Dev
m_Dev
  • m_Dev
    m_Dev
    m_Dev
  • 전체
    오늘
    어제
    • 분류 전체보기
      • MAIN STUDY
        • 정보보안
        • 빅데이터
        • 정보처리
        • 컴퓨터 구조
        • 기타
      • JOB
        • Study
        • Project
      • LMS 7
        • 개발일지
      • FRAMEWORK
        • Qt
        • MFC
        • Winform
        • WPF
        • MAUI
      • NETWORK
        • Study
        • Assignment
      • PYTHON
        • Set
        • Study
        • Assignment
        • Project
      • C
        • Set
        • Study
        • Assignment
        • Project
      • C++
        • Set
        • Study
        • Assignment
        • Project
      • C#
        • Set
        • Study
        • Assignment
        • Project
      • DATABASE
        • MySQL
        • SQLite
      • IDE
        • VisualStudioCode
        • VisualStudio
        • Pycharm
        • Colab
      • 기타
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
m_Dev
2025.07.15 개발일지 [채팅 프로그램 5팀 / 테이블 명세서 / ERD]
상단으로

티스토리툴바