TreeNut-KR / ChatBot

ChatBot 웹사이트 프로젝트
GNU General Public License v3.0
1 stars 0 forks source link

DB명세서 #10

Open CutTheWire opened 2 months ago

CutTheWire commented 2 months ago

데이터베이스: chatbot

A Free Database Designer for Developers and Analysts

Image

erDiagram
    %% Define the users table
    %%수정버전
    users {
        integer idx PK "인덱스"
        varchar userid
        varchar username
        varchar email
        varchar password
        text access_token
        text refresh_token
        datetime created_at "생성날짜"
        datetime updated_at "수정날짜"
    }

    %% Define the characters table
    characters {
        integer idx PK "Primary Key"
        integer users_idx FK "Foreign Key to users"
        char characters_id "Unique, NOT NULL"
        varchar name
        integer creater FK "Foreign Key to users"
        datetime created_at
        datetime updated_at
    }

    %% Define the chatroom table
    chatroom {
        integer idx PK "Primary Key"
        integer users_idx FK "Foreign Key to users"
        char character FK "Foreign Key to characters"
        varchar mongo_chatlog
        datetime created_at
        datetime updated_at
    }

    %% Define relationships
    users ||--o| characters : "creates"
    users ||--o| chatroom : "participates in"
    characters ||--o| chatroom : "involves"
erDiagram
    %% Define the users table
    %%수정버전
    users {
        integer idx PK "인덱스"
        varchar userid
        varchar username
        varchar email
        varchar password
        text access_token
        text refresh_token
        datetime created_at "생성날짜"
        datetime updated_at "수정날짜"
    }

    %% Define the characters table
    characters {
        integer idx PK "Primary Key"
        integer users_idx FK "Foreign Key to users"
        char characters_id "Unique, NOT NULL"
        varchar name
        integer creater FK "Foreign Key to users"
        datetime created_at
        datetime updated_at
    }

    %% Define the chatroom table
    chatroom {
        integer idx PK "Primary Key"
        integer users_idx FK "Foreign Key to users"
        char character FK "Foreign Key to characters"
        varchar mongo_chatlog
        datetime created_at
        datetime updated_at
    }

    %% Define relationships
    users ||--o| characters : "creates"
    users ||--o| chatroom : "participates in"
    characters ||--o| chatroom : "involves"

관계도


테이블 1: users

필드명 데이터 타입 설명 제약조건
id INT 사용자 고유 ID AUTO_INCREMENT, PRIMARY KEY
userid VARCHAR(50) 사용자 ID
username VARCHAR(50) 사용자 이름
email VARCHAR(100) 사용자 이메일
password VARCHAR(255) 사용자 비밀번호 암호화된 비밀번호 저장
access_token TEXT 액세스 토큰 권한 토큰
refresh_token TEXT 리프레시 토큰 액세스 토큰의 만료 후 새로운 액세스 토큰을 발급받기 위해 사용
created_at DATETIME 계정 생성 일자 DEFAULT NOW()
updated_at DATETIME 계정 정보 수정 일자 DEFAULT NOW()

테이블 2: characters

필드명 데이터 타입 설명 제약조건
idx integer 캐릭터 idx PK
characters_id CHAR(36) 캐릭터 고유 ID FK,NN,UNIQUE, DEFAULT UUID(),
creater INT 캐릭터를 생성한 사용자의 ID FOREIGN KEYusers(id)
name VARCHAR(30) 캐릭터 이름
created_at DATETIME 캐릭터 생성 일자 DEFAULT NOW()
updated_at DATETIME 캐릭터 정보 수정 일자 DEFAULT NOW()

테이블 3: chatroom

필드명 데이터 타입 설명 제약조건
idx INT 채팅방 고유 ID AUTO_INCREMENT, PRIMARY KEY
users_idx INT 채팅방에 참여한 사용자의 ID FOREIGN KEYusers(id)
characters_id INT 채팅방에 참여한 캐릭터의 ID FOREIGN KEYcharacters(idx)
mongo_chatlog VARCHAR(100) MongoDB에서 채팅 로그 참조 ID
created_at DATETIME 채팅방 생성 일자 DEFAULT NOW()
updated_at DATETIME 채팅방 정보 수정 일자 DEFAULT NOW()

참고

예시

id user_idx chatbot_id message message_type created_at
1 1 101 무엇을 도와드릴까요? chatbot 2024-08-04
09:00:00
2 1 101 오늘 무엇을 먹을까? user 2024-08-04
09:00:02
3 1 101 오늘은 김밥이 좋겠네요! chatbot 2024-08-04
09:00:04
4 1 101 알았어 고마워! user 2024-08-04
09:00:06
5 1 101 네, 도움이 필요하시면 언제든지 말씀해주세요 chatbot 2024-08-04
09:00:07