Comments (4)
DBdiagram.io를 활용하여 ERD 완료
특이사항
- API를 통해 받아온 매치 상세 정보는 'match' 테이블에 저장
- 매치 상세 정보에 포함되어 있던 플레이어 정보를 'player'라는 테이블에 따로 저장하여 'match'와 FK로 연결
- 트랙 이름과 크롤링한 트랙 정보는 'track' 테이블에 저장하여 'match'와 FK로 연결
- 매치 타입 정보는 'match_type' 테이블에 저장하여 'match'와 FK로 연결
- 필요 없는 컬럼은 삭제
- 일부 컬럼명 변경
크롤링 데이터 변경 컬럼
기존 컬럼명 | 변경된 컬럼명 |
---|---|
난이도 | difficulty |
랩 | lap |
트랙 길이 | length |
첫 등장일 | release_date |
API 데이터 변경 컬럼
기존 컬럼명 | 변경된 컬럼명 |
---|---|
accountNo | player_id |
characterName | name |
rankinggrade2 | license |
matchRank | rank |
matchRetired | retired |
matchWin | result |
matchTime | record |
논의사항 & 결정사항
- 컬럼명 중 헷갈리는 컬럼명은 없는지 확인 필요 (ex: matchTime -> record, matchWin -> result) -> 그대로 진행
- 테이블 구조 확인 필요
-> API로 추출하는 모든 데이터는 별도로 저장해두기
-> 스피드 개인전, 스피드 팀전, 아이템 개인전, 아이템 팀전만 ERD 그림대로 테이블 구축
참고 : DBdiagram 작성 코드
Table track {
id varchar(100) [pk]
name varchar(50)
difficulty int(20)
lap int(20)
length float(20)
direction varchar(20)
release_date timestmap
theme varchar(20)
}
Table match {
id varchar(100) [pk]
track_id varchar(100)
start_time timestamp
end_time timestamp
player_id int(20)
rank int(20)
retired int(20)
result int(20)
record int(20)
match_type_id varchar(20)
team_id int(20)
}
Table player {
id int(20) [pk]
name varchar(100)
license int(20)
}
Table match_type {
id varchar(100) [pk]
type varchar(100)
}
Ref: match.track_id > track.id
Ref: match.player_id <> player.id
Ref: match.match_type_id > match_type.id
from kartrider-game-analysis.
ERD 추가
- 자체수집한 데이터에 대한 테이블을 추가함.
해당 테이블 : 직선, 트리거(가속, 감속), 곡선, 지름길, 그외(장애물, 평균 도로폭)
참고 : DBdiagram 작성 코드
Table track {
id varchar(100) [pk]
name varchar(50)
difficulty int(20)
lap int(20)
length float(20)
direction varchar(20)
release_date timestmap
theme varchar(20)
}
Table match {
id varchar(100) [pk]
track_id varchar(100)
start_time timestamp
end_time timestamp
player_id int(20)
rank int(20)
retired int(20)
result int(20)
record int(20)
match_type_id varchar(20)
team_id int(20)
}
Table player {
id int(20) [pk]
name varchar(100)
license int(20)
}
Table match_type {
id varchar(100) [pk]
type varchar(100)
}
Table track_straight{
track_id varchar(100) [pk]
jump int(20)
uphill int(20)
downhill int(20)
}
Table track_trigger{
track_id varchar(100) [pk]
accel int(20)
warp int(20)
decel int(20)
jump int (20)
}
Table track_curve{
track_id varchar(100) [pk]
hairpin int(20)
acute int(20)
obtuse int(20)
continuous int(20)
continuous_acute int(20)
continuous_obtuse int (20)
}
Table track_shortcut{
track_id varchar(100) [pk]
right int(20)
acute int(20)
obtuse int(20)
special int(20)
}
Table track_road{
track_id varchar(100) [pk]
fence_exist int(20)
mean_road_level int(20)
}
Table track_obstacle{
track_id varchar(100) [pk]
obstacle_fixed int(20)
obstacle_moved int(20)
}
Ref: match.track_id > track.id
Ref: match.player_id <> player.id
Ref: match.match_type_id > match_type.id
Ref: track.id - track_straight.track_id
Ref: track.id - track_curve.track_id
Ref: track.id - track_trigger.track_id
Ref: track.id - track_shortcut.track_id
Ref: track.id - track_road.track_id
Ref: track.id - track_obstacle.track_id
from kartrider-game-analysis.
from kartrider-game-analysis.
최종 ERD
챰고 사항
player
테이블 생성 진행 X : 분석 목적에 맞는 데이터셋만 구축하기로 결정track_straight
테이블에 all_selection 속성 추가함 (전체 직선 개수)track_obstacle
테이블에 속성 컬럼명에 접두어 삭제함
참고 : DBdiagram 작성 코드
Table track {
id varchar(100) [pk]
name varchar(50)
difficulty int(20)
lap int(20)
length float(20)
direction varchar(20)
release_date timestmap
theme varchar(20)
}
Table match {
id varchar(100) [pk]
track_id varchar(100)
start_time timestamp
end_time timestamp
player_id int(20)
rank int(20)
retired int(20)
result int(20)
record int(20)
match_type_id varchar(20)
team_id int(20)
}
Table match_type {
id varchar(100) [pk]
type varchar(100)
}
Table track_straight{
track_id varchar(100) [pk]
jump int(20)
uphill int(20)
downhill int(20)
all_selection int(20)
}
Table track_trigger{
track_id varchar(100) [pk]
accel int(20)
warp int(20)
decel int(20)
jump int (20)
}
Table track_curve{
track_id varchar(100) [pk]
hairpin int(20)
acute int(20)
obtuse int(20)
continuous int(20)
continuous_acute int(20)
continuous_obtuse int (20)
}
Table track_shortcut{
track_id varchar(100) [pk]
right int(20)
acute int(20)
obtuse int(20)
special int(20)
}
Table track_road{
track_id varchar(100) [pk]
fence_exist int(20)
mean_road_level int(20)
}
Table track_obstacle{
track_id varchar(100) [pk]
fixed int(20)
moved int(20)
}
Ref: match.track_id > track.id
Ref: match.match_type_id > match_type.id
Ref: track.id - track_straight.track_id
Ref: track.id - track_curve.track_id
Ref: track.id - track_trigger.track_id
Ref: track.id - track_shortcut.track_id
Ref: track.id - track_road.track_id
Ref: track.id - track_obstacle.track_id
from kartrider-game-analysis.
Related Issues (20)
- [Data EDA] API_ 3일치 데이터와 한 달 데이터 EDA진행 HOT 1
- [데이터 import] - MySQL 데이터 업로드 HOT 1
- [JSON 데이터] - JSON MetaData 이용하기
- [데이터 환경 구축] 데이터 분석 환경_ 한 달 데이터 생성하기 HOT 3
- [Api 데이터] 개인전 데이터에 '아이템 팀 배틀전' 포함되는 문제 HOT 1
- [Data 통계분석] 3일치 데이터 통계분석 테스트 HOT 3
- [Data 전처리] API_ 데이터 정합성 파악하기 HOT 1
- [Data 지표 추출] API_ 트랙 사용률 기반 '인기' 상위, 하위 트랙 기준 정하기 HOT 1
- [Data 지표 추출] API_ 주요지표 추출한 CSV파일에 map_id 추가하기 HOT 1
- [Data 환경 구축하기] ERD에서 rank를 match_rank로 변경
- [Data 전처리] API_ ERD기준에 맞게 테이블 컬럼 변경, track_id 추가 HOT 1
- [Data 통계분석] 종속변수를 rank로 변환해서 ols 단순 회귀 해보기
- [Data 전처리] 크롤링_ ERD기준에 맞게 테이블 컬럼 변경하고, 출시일 컬럼 삭제, null로 입력된 데이터 추가 HOT 1
- [Data 전처리] crawl-data-with-theme + api_Kpi 데이터 조인 HOT 1
- [Data 전처리] crawl-data-with-theme + api_Kpi 결측치 채우기 HOT 1
- [Data 전처리] 크롤링_crawl_data_with_theme 파일을 Meta 데이터 기반으로 조인 변경 HOT 1
- [Data 수집하기] 자체 수집 데이터 최종 확인 및 컬럼 명 ERD에 맞게 변경
- [Data 지표추출] API_ percent_retire가 100이상인 문제 해결 HOT 1
- [데이터 환경 구축] 분석 환경_컬럼명, 테이블명 수정 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kartrider-game-analysis.