erDiagram
    사용자 {
        int 사용자ID PK
        string 이메일
        string 비밀번호
        string 닉네임
        date 가입일
        datetime 마지막로그인일시
        string 프로필이미지
        date 마지막답변일자
    }
    성장중인나무 {
        int 성장중인나무ID PK
        int 사용자ID FK
        string 나무종류
        int 현재성장단계
        int 답변개수
        date 시작일
        date 마지막물주기날짜
        string 현재상태
        boolean 성장완료여부
    }
    마음숲 {
        int 마음숲ID PK
        int 사용자ID FK
        date 생성일
        datetime 마지막업데이트일시
    }
    완성나무 {
        int 완성나무ID PK
        int 사용자ID FK
        int 원본성장나무ID FK
        string 나무종류
        string 연관감정
        date 완성일
        boolean 마음숲표시여부
    }
    감정기록 {
        int 감정기록ID PK
        int 질문답변ID FK
        string 감정종류
        datetime 기록일시
    }
    감정질문 {
        int 질문ID PK
        string 질문내용
        date 생성일
        boolean 활성화여부
    }
    질문답변 {
        int 답변ID PK
        int 사용자ID FK
        int 질문ID FK
        int 성장중인나무ID FK
        text 답변내용
        string 선택감정
        datetime 작성일시
        boolean 공개여부
    }
    댓글 {
        int 댓글ID PK
        int 질문답변ID FK
        int 사용자ID FK
        text 내용
        datetime 작성일시
    }
    좋아요 {
        int 좋아요ID PK
        int 질문답변ID FK
        int 사용자ID FK
        datetime 생성일시
    }
    감정통계 {
        int 통계ID PK
        int 마음숲ID FK
        string 감정종류
        int 개수
        date 업데이트일
    }
    사용자 ||--o{ 성장중인나무 : "키운다"
    사용자 ||--|| 마음숲 : "소유한다"
    사용자 ||--o{ 완성나무 : "수집한다"
    사용자 ||--o{ 질문답변 : "작성한다"
    질문답변 ||--|| 감정기록 : "생성한다"
    감정질문 ||--o{ 질문답변 : "답변됨"
    질문답변 ||--o{ 댓글 : "가진다(잎사귀)"
    질문답변 ||--o{ 좋아요 : "받는다(꽃잎)"
    사용자 ||--o{ 좋아요 : "누른다"
    사용자 ||--o{ 댓글 : "작성한다"
    성장중인나무 ||--o{ 질문답변 : "성장요소"
    성장중인나무 ||--o| 완성나무 : "완성되면 변환"
    마음숲 ||--o{ 감정통계 : "분석한다"
    마음숲 ||--o{ 완성나무 : "포함한다"

image.png