SlideShare une entreprise Scribd logo
1  sur  24
쿠키런 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

Contenu connexe

Tendances

[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
MinGeun Park
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
devCAT Studio, NEXON
 

Tendances (20)

중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
게임제작개론 : #7 팀 역할과 게임 리소스에 대한 이해
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기NoSQL 위에서 MMORPG 개발하기
NoSQL 위에서 MMORPG 개발하기
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
 
NDC 2013 이은석 - 게임 디렉터가 뭐하는 건가요
NDC 2013 이은석 - 게임 디렉터가 뭐하는 건가요NDC 2013 이은석 - 게임 디렉터가 뭐하는 건가요
NDC 2013 이은석 - 게임 디렉터가 뭐하는 건가요
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
NDC 2015. 한 그루 한 그루 심지 않아도 돼요. 생태학에 기반한 [야생의 땅: 듀랑고]의 절차적 생성 생태계
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기
 
엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 

En vedette

Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
Matthew Chang
 

En vedette (7)

한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overview한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overview
 
Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출Db설계 프로젝트 1조 _중간제출
Db설계 프로젝트 1조 _중간제출
 
ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링
 
영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)
 
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time DatabaseFirebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
Firebase for web (웹개발을 위한 파이어베이스) 3 Real-Time Database
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 

서비스중인 게임 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 상점이름

Notes de l'éditeur

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