🔍 학습 배경
Node.js와 함께 사용하는 DB로 MySQL을 선택하고, 게임 계정 및 인벤토리 정보를 저장하기 위한 스키마를 설계했다.
🧩 주요 학습 내용
1. 계정 테이블 구조
- user_master: 기본 계정 정보 저장 (userId, name, level, gold, etc.)
- 로그인 시 userId와 password를 비교해 JWT 발급 구조를 고려 (현재는 기본 구조만 구현)
2. 인벤토리 구조
- item_master: 모든 아이템 정보 정의 (seq, is_stackable, category, etc.)
- user_inventory: 유저 보유 아이템, 수량, 슬롯 정보 저장
- is_stackable 여부에 따라 수량 증가 vs 새 슬롯 생성 분기 처리
💡 느낀 점
게임에서 인벤토리 설계는 단순히 아이템을 저장하는 것이 아니라 스택 처리, 슬롯 계산, 소유 여부 판단이 함께 작동해야 한다. 쿼리 하나하나가 조건에 따라 달라지므로 정규화는 유지하되, 복잡한 로직은 Node.js에서 처리하고 DB는 단순한 명령만 수행하는 구조가 가장 적절하다고 판단했다.
'Unity > Unity 개발' 카테고리의 다른 글
| Photon PUN2의 로비 및 룸 구조 이해 (0) | 2025.06.13 |
|---|---|
| Unity 클라이언트와 서버 연동 전략 (0) | 2025.06.12 |
| Node.js 기반 게임 API 서버 설계 (0) | 2025.06.12 |
| Photon Networking (1) | 2025.06.12 |
| 싱글톤 중복 생성 문제 해결 (0) | 2025.06.04 |