게시판 커뮤니티 - ERD 설계

Ogu·2022년 12월 25일
0

목표

  • 도메인 기반 ERD 다이어그램 설계
  • 자바 클래스로 도메인 표현

먼저 gitkraken에 feature 브랜치를 생성한다. (이슈 번호 #8번)

ERD 설계

ERD란?

Entity Relationship Diagram의 약어로 개체-관계 모델이다.
테이블간의 관계를 설명하는 다이어그램으로 데이터의 구조를 한눈에 파악할 수 있다.

Entity 란?

테이블을 구성하는 객체 구성성분
ex) 이 프로젝트에서는 게시글, 댓글을 entity라고 할 수 있다.

구성관계

ERD > Entity > Entity attribute
Entity 간의 논리적인 관계를 시각적으로 잘 알아보기위해 기호를 사용하여 표기한다.

게시판 서비스 ERD

Entity는 게시글, 댓글 두 테이블로 구성된다.
게시글은 무조건 하나 존재하고, 댓글은 게시글에 포함되어 0 or 1 or Many를 갖는다.
따라서 두 테이블의 관계를 Zero or One or Many (->) 로 설정한다.

이후 ERD png를 로컬의 document에 넣어주고, gitKraken에서 #8 feature 브랜치에서 Commit후 푸쉬하였다.

도메인 자바 오브젝트 생성

게시글 Entity

package com.zerobase.zerobaseprojectboard.domain;

import java.time.LocalDateTime;

public class Article {
    private Long id;
    private String title; // 제목
    private String content; // 내용
    private String hashtag; // 해시태그

    private LocalDateTime createdAt; // 생성일시
    private String createdBy; // 생성자
    private LocalDateTime modifiedAt; // 수정일시
    private String modifiedBy; // 수정자

}

댓글 Entity

package com.zerobase.zerobaseprojectboard.domain;

import java.time.LocalDateTime;

public class ArticleComment {
    private Long id;
    private Article article; // 게시글 (ID)
    private String content; // 내용

    private LocalDateTime createdAt; // 생성일시
    private String createdBy; // 생성자
    private LocalDateTime modifiedAt; // 수정일시
    private String modifiedBy; // 수정자
}

이후 깃 크라켄으로 commit후 push했다.
github에서 pull request하고 merge를 한 후 깃 크라켄에서 fetch로 로컬 업데이트를 해주었다.


📌 pull request와 issue는 다른 번호로 존재하여 카드가 따로 생성된다.

profile
私はゲームと日本が好きなBackend Developer志望生のOguです🐤🐤

0개의 댓글