Hello! Poko 양육일지(가제) DB 모델링

김의석 ·2024년 5월 17일

Hello! Poko Ver.2

목록 보기
6/28
post-thumbnail

1. 배경

양육일지(가제) app에 사용될 모델을 생성한다.

2. 요구사항과 핵심기능

  • 기존 양식을 반영하여 업무파악 후 모델링 한다.
  • 교사 점검 데이터와 학생 점검 데이터를 구분하여 테이블에 입력한다.
  • 피드백(comment)을 위한 테이블을 생성한다.
  • 각 테이블 이름은 명시적으로 작성한다.

3. 설계

1) Model

2) BE

(1) MemberCheck

5개 필드

  • name : Member 모델을 참조하는 외래키
  • gqs : GQS 참석여부
  • status : 양육일지

CharField vs TextField
CharField의 경우 사용하는 DB에 따라 max_length가 달라지는데 공식문서에 다르면 PostgreSQL의 경우 무제한 VARCHAR를 지원한다고 한다. TextField는 파이썬 자료형에서는 str로 동일하지만 PostgreSQL의 경우 TEXT(1G), MySQL의 경우 LONGTEXT(4G)에 해당한다. TextField는 매우 큰 문자열을 저장할 수 있지만 데이터베이스의 성능이 떨어질 수 있다고한다. TextField는 어쩔수 없이 데이터 문자열 길이를 제한할 수 없을 때 사용한다고! 양욱일지에서는 TextField 만큼 긴 문자열을 입력하진 않아서 CharFiled로 결정!

  • pray_member : 학생이 제출한 기도제목
  • date : 작성일 기준 직전 주일 입력

(2) UserCheck

9개 필드

  • teacher : User 모델의 필드를 참조하는 외래키
  • worship : 예배참석 여부
  • qt : QT 횟수
  • meeting : 교사모임 참석 여부
  • pray_youth : 청소년부를 위한 기도
  • pray_group : 반 모임을 위한 기도
  • pray_user : 사용자에 대한 기도
  • issue : 문의사항/긴급사항
  • date : 작성일 기준 직전 주일 입력

(3) Comment

4개 필드

  • teacher : User 모델의 필드를 참조하는 외래키
  • member_cherck : MemberCheck 모델의 필드를 참조하는 외래키
  • feedback : 교역자의 피드백
  • date : 작성일 기준 직전 주일 입력

3) DB 도식화

2024년 5월 29일

6개 테이블

  • CustomUser : 사용자 계정
  • UserCheck : 하나님 앞에서
  • Member : 학생 인적사항
  • MemberCheck : 양육일지
  • Attendance : 출석
  • Comment : 댓글
profile
널리 이롭게

0개의 댓글