Giter Site home page Giter Site logo

Comments (4)

goodkse7 avatar goodkse7 commented on June 27, 2024 3

DBdiagram.io를 활용하여 ERD 완료

image

특이사항

  • 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.

hyeming-king avatar hyeming-king commented on June 27, 2024

ERD 추가

  • 자체수집한 데이터에 대한 테이블을 추가함.

해당 테이블 : 직선, 트리거(가속, 감속), 곡선, 지름길, 그외(장애물, 평균 도로폭)

image

참고 : 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.

hyeming-king avatar hyeming-king commented on June 27, 2024

image

from kartrider-game-analysis.

hyeming-king avatar hyeming-king commented on June 27, 2024

최종 ERD

image

챰고 사항

  • 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.