쿠키런 DB 설계
1
목차
1. 쿠키런이란?
2. ERD (Entity – Relation Diagram)
3. DB 설계 - 정규화
4. Q&A
2
1. 쿠키런이란
3
4
카톡회원번호 레벨 경험치 크리스탈 코인 하트
열쇠 쿠폰 능력치(1,2,3) 아이템(1~6) 선물 뽑기
메일박스 초대 최고점수 최근 접속일자
에피소드 최종 연 단계 에피소드(1,2,3,4) 쿠키 쿠키번호 쿠키레벨
펫 펫번호 유물
보물 보물번호 재료 재료번호 조합 보물강화
랭킹 이벤트 튜토리얼 여부 업적
5
6
2. ERD (Entity – Relation Diagram)
7
ERD??
ER 다이어그램이란
2. ERD (Entity – Relation Diagram)
8
ERD의 기본 개념
1. Entity : 개체
2. Attribute : 속성
3. UID : 식별자
4. Relationship : 관계
2. ERD (Entity – Relation Diagram)
9
1. Entity : 개체
2. ERD (Entity – Relation Diagram)
10
2. Attribute : 속성
2. ERD (Entity – Relation Diagram)
11
3. UID : 식별자
2. ERD (Entity – Relation Diagram)
12
4. Relationship : 관계
2. ERD (Entity – Relation Diagram)
13
3. DB설계 - 정규화
14
유저
#유저ID
레벨
경험치
가진 쿠키 ID
장착 쿠키 ID
가진 펫 ID
…
진행중인 업적
진행 에피소드
친구 ID
메일
점수
선물포인트
선물상자
능력(체력) 레벨
능력(젤리) 레벨
능력(시간) 레벨
업적
#업적ID
업적종류
완료조건
보상아이템
보상아이템개수
4. DB 설계
15
‘모든 속성은 원자값을 가진다’는
제 1 정규형의 규칙에 위반!
유저ID 친구ID
유진
소영 길동 원빈 징어
명근 길동
유저
#유저ID
레벨
경험치
가진 쿠키 ID
장착 쿠키 ID
가진 펫 ID
…
진행중인 업적
진행 에피소드
친구 ID
메일
점수
선물포인트
선물상자
능력(체력) 레벨
능력(젤리) 레벨
능력(시간) 레벨
…
4. DB 설계
16
유저
#유저ID
레벨
경험치
점수
선물포인트
선물상자
능력(체력) 레벨
능력(젤리) 레벨
능력(시간) 레벨
장착아이템(쿠키,펫 등)
아이템
#아이템ID
종류
이름
등급
설명
레벨
능력/효과내용
능력/효과값
구매조건
코인가격
크리스탈가격
강화(등급업)재료
진화재료
레벨업재료
진화될아이템ID
장착보너스아이템ID
장착보너스내용
장착보너스값
4. DB 설계
17
유저친구정보
#유저ID
#친구ID
하트발송여부
하트발송날짜
에피소드
#에피소드ID
이름
내용
업적
#업적ID
업적종류
완료조건
보상아이템
보상아이템개수
업적완료조건
#업적완료조건ID
내용
값
아이템업그레이드재료
#아이템ID
업그레이드재료아이템ID
업그레이드재료개수
업그레이드확률
4. DB 설계
18
‘주 키가 아닌 속성에
다른 속성이 종속되면 안 된다.’라는
제 3정규형 규칙에 위반!
아이템
#아이템ID
종류
이름
등급
설명
레벨
능력/효과내용
능력/효과값
구매조건
코인가격
크리스탈가격
진화될아이템ID
장착보너스아이템ID
장착보너스내용
장착보너스값
4. DB 설계
19
4. DB 설계
20
유저경험치
#레벨
누적경험치
레벨업에필요한경험치
초대
#유저ID
#게임미가입카카오톡회원번호
초대여부
초대날짜
상점
#상점ID
#판매아이템ID
상점이름
4. DB 설계
21
상점
#상점ID
#판매아이템ID
상점이름
‘합성키(주 키) 중
하나의 키에 종속되면 안 된다.’라는
제 2정규형에 위반!
4. DB 설계
22
상점
#상점ID
#판매아이템ID
상점이름
#상점ID
상점이름
4. DB 설계
23
24
4. Q&A

서비스중인 게임 DB 설계 (쿠키런 편)

Editor's Notes

  • #4 쿠키런 쿠키런은 카카오톡으로 연동된 여러 사람과 점수를 경쟁하는 러닝 액션게임으로, 점수를 올리기 위해 여러 가지 아이템을 구매 하거나, 가지고 있는 아이템을 강화나 진화를 통해 업그레이드 하는 것이 특징이다.
  • #11 어떤 행위를 할 수 있거나 정보를 가질 수 있으며, 그것들 각각 변별될 수 있는 사람, 장소 ,사물, 사건 등의 집합
  • #12 Entity(개체)의 특징을 기술하거나 Entity가 소유하고 있는 정보의 종류 ex) 사람 : 이름, 전화번호, 주민등록번호, 집주소 등
  • #13 Entity(개체) 각각을 구별시켜 주는 Attribute(속성) 한 두 개 이상의 그룹. 관계를 연결시키는 가교 역할. 자격이 되면 기존 Attribute(속성)중에서 선택할 수 있으나, 식별자를 위한 새로운 Attribute를 만들 수 있다.
  • #14 Entity(개체)와 Entity 사이의 관계 관계란 특정 Entity가 다른 Entity에게 어떤 행위를 함으로써 형성된다. ex) 소유한다. 소유되어진다. 포함한다. 포함되어진다. 등록한다. 주문 받는다. 출고한다.