테이블 이름은 정해진건 아니고 임의로 적은것임

개인이 관리하는 공고는 개인 공고, 관리자가 업로드한 공고는 공용 공고라고 말하겠습니다.

Untitled

Personal Notice 테이블

Middle 테이블

Notice 테이블

Process 테이블

📌 Middle 테이블이 만들어진 이유

초반에는 데이터 설계를 하며 아래와 같은 형태의 테이블 구조가 만들어졌었다.

Untitled

아래의 구조에서 개인 공고를 이용해서 데이터를 만들 때의 과정은 아래와 같다.

  1. Notice 테이블에 공용 공고가 업로드되어 있음
  2. 사용자가 공용 공고개인 공고 를 만들 때는 Personal Notice 테이블에 유저 Id를 담은 Row를 만들고 공고 정보는 공용 공고의 데이터를 가르킨다.
  3. (만약 공고 정보 변경을 한다면?) Notice 테이블과 Process 테이블에 개인이 관리하고 변경할 수 있는 공용 공고 데이터와 중복된 (NoticeType이 Private인)데이터를 생성한다.