Skip to content

erd 모델 변천사

kimhji edited this page Dec 1, 2024 · 1 revision

1차 erd 설계

image

user 테이블

idUser (PK) : INT

nickname : VARCHAR(20)

profilePath : VARCHAR(50)

repository 테이블

idRepository (PK) : INT

gistHash : VARCHAR(32) - gist의 repository에 대한 해쉬값. api를 통해 찾을 수 있습니다.

idUser (FK) : INT → user 테이블을 참조합니다.

Lotus 테이블

idLotus (PK) : INT

isPublic : TINYINT

result : VARCHAR(5000)

date: DATE

idRepo (FK) : INT → repository 테이블을 참조합니다.

file 테이블

idfile (PK) : INT

fileName : VARCHAR(50)

content : VARCHAR(5000)

idLotus (FK) : INT → Lotus 테이블을 참조합니다.

2차 erd 설계

image

  • 1차 erd를 참조하여, erd를 더 완성도 있게 변경한 erd 설계
  • 실행 결과와 input이 lotus에 종속되던 관계에서, history를 통해 실행 입력과 결과를 따로 관리하도록 변경

user 테이블

user_id(PK): BIGINT

nickname: VARCHAR()

profile_path: VARCHAR()

git_token: VARCHAR()

git_id: VARCHAR()

comment 테이블

comment_id: BIGINT

lotus_id(FK) : BIGINT

user_id(FK): BIGINT

comment_content: VARCHAR()

create_at: DATE

lotus 테이블

lotus_id(PK): BIGINT

user_id(FK): BIGINT

title: VARCHAR()

is_public: Boolean

create_at: Date

gist_repository_id: VARCHAR()

history 테이블

history_id(PK): BIGINT

lotus_id(FK): BIGINT

commit_id: BIGINT

create_at: DATE

result: VARCHAR()

input: VARCHAR()

status: Boolean

tag 테이블

tag_id(PK): BIGINT

tag_name: VARCHAR()

최종 erd 설계

image

  • 화면 상 필요한 데이터 혹은 구현 상 변경으로 필요한 데이터에 대해 테이블에 추가
    • user
      • gist_url
    • lotus
      • language
      • version
    • history
      • exec_filename
    • tag
      • create_at
  • lotus, history, user 등 중요한 데이터의 PK값을 BIGINT에서 string 값으로 변경(uuid)
Clone this wiki locally