HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
💸
10원모아10조❗️
/
🏝️
Back End
/
🌧️
ERD & 도메인
/
User Category

User Category

우리 이제 주문처럼 외운다.
 
유저가 갖고있는 카테고리를 조회해야해
 
UserCategory
  • 여기서 루체가 UserCategory의 식비 카테고리를 삭제함(2, 1)
user_id
category_id
1
1
2
1
ㅤ
ㅤ
ㅤ
ㅤ
User
id
name
1
Luce
2
William
Category
id
name
kind
1
식비
지출
2
교통비
지출
3
생활
지출
Expenditure
id
amount
category_name
category_id
user_id
1
1000
식비
1
1
2
2000
식비
1
2
3
3000
교통비
2
2
 
  • Expenditure를 조회할 때 category_id , user_id로 UserCategory를 조회함
    • 윌리엄이 u, c(1, 1) userCategory 조회 → hit
      • 이때 category_id로 Category table에서 name을 조회
    • 루체 u, c(2 , 1) userCategory 조회 → miss
      • 이때, Expenditure에서 category_name을 찾아옴
 
→ 여기서 Expenditure를 조회할 때 category_id를 안쓰고 그냥 user_id로 수입, 지출에 등록만 가져오면 되지 않을까요? 이름은 무조건 수입, 지출에 등록된걸 참조하구요
상세
  • 수입, 지출 등록할때는 User_Category에 등록된 name을 참조해서 저장
    • 즉, 수입과 지출 분류에 대한 이름은 등록시점에 결정된다. (참조되는것이 아님)
  • User_Category는 유저 별 카테고리 리스트를 저장하는 용도로만 사용.
    • 유저가 가진 카테고리 이름의 리스트만 저장.
    • user_id에 등록할 수 있는 카테고리 수를 제한하면 좋을 듯.
      • user_id
        name
        1
        내 카테고리1
        1
        내 카테고리2
        2
        내 카테고리1
        3
        내 카테고리1
  • User_Category는 유저 별 카테고리 리스트를 저장하는 용도로만 사용.
    • 유저가 가진 카테고리 이름의 리스트만 저장.
    • user_id에 등록할 수 있는 카테고리 수를 제한하면 좋을 듯.
    •  
  • Default Value는 그냥 별도 테이블 둬서 처리.
 
  • 유저 카테고리가 삭제된다 → 그냥 삭제하고 끝.
 
  • 신규 유저 → User_Category에 Default Value값 전부 inset → 수입, 지출 등록시 User_Category기준으로 이름만 참조해서 무조건 저장
 
 
  • category_id로 직접 Category Table을 조회하면
  • (사용자 카테고리가 아니라, 전체카테고리로 조회하는 경우)
    • 1, 식비, 지출이 존재하는 것이 맞나요? → OK
    • 근데 그거는 루체가 가지고 있는 카테고리가 맞나요? → NO