ݺߣ

ݺߣShare a Scribd company logo
쿠키런 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
2. ERD (Entity – Relation Diagram) 
ERD?? 
ER 다이어그램이란 
8
2. ERD (Entity – Relation Diagram) 
ERD의 기본 개념 
1. Entity : 개체 
2. Attribute : 속성 
3. UID : 식별자 
4. Relationship : 관계 
9
2. ERD (Entity – Relation Diagram) 
1. Entity : 개체 
10
2. ERD (Entity – Relation Diagram) 
2. Attribute : 속성 
11
2. ERD (Entity – Relation Diagram) 
3. UID : 식별자 
12
2. ERD (Entity – Relation Diagram) 
4. Relationship : 관계 
13
3. DB설계 - 정규화 
14 
유저 
#유저ID 
레벨 
경험치 
가진 쿠키 ID 
장착 쿠키 ID 
가진 펫 ID 
… 
진행중인 업적 
진행 에피소드 
친구 ID 
메일 
점수 
선물포인트 
선물상자 
능력(체력) 레벨 
능력(젤리) 레벨 
능력(시간) 레벨 
업적 
#업적ID 
업적종류 
완료조건 
보상아이템 
보상아이템개수
4. DB 설계 
15 
유저ID 친구ID 
유진 
소영 길동 원빈 징어 
명근 길동 
‘모든 속성은 원자값을 가진다’는 
제 1 정규형의 규칙에 위반! 
유저 
#유저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

More Related Content

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

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

Editor's Notes

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