3

로 종류의이 이전 질문에 후속 : http://schemabank.com/p/VwWHn이 데이터베이스 스키마가 실용적입니까?

내 질문은 내가이 방법 옳은 길을 생각한다 : 지금이 설정을 만든 Normalizing a variety of properties with similar data types

를? 내가 사용하고있는 설정에 대한 명백한 실수가 있습니까? 아니면 누락 된 정규화 개념에 관한 것입니까? 실제 시나리오에서 작동하는 실용적인 접근 방법을 찾으려고 노력 중이므로이 데이터베이스를 구성하는 데 더 좋은 방법이 있다면 기꺼이 들려 줄 것입니다.

답변

1

platform_data 테이블을 사용하면 여러 플랫폼에서 게임을 연결할 수 있습니다. 이것은 이것을 가지지 않는 의식적인 선택 일지 모르지만, 나는 그것을 언급 할 것이라고 생각했습니다.

다른 것은 릴리스 날짜의 경우 릴리스 날짜별로 선택할 수 있도록 별도의 release_dates 테이블이 있다고 가정합니다. 그것이 당신의 계획의 일부가 아니라면, 당신은 여분의 테이블이 필요하지 않을지도 모르고 단지 그것을 게임 모델에 포함시킬 수 있습니다.

또 다른 고려해야 할 점은 게임이 다른 국가의 다른 국가에서 다른 날짜에 출시된다는 것입니다. 등급 지정 목적으로 여러 국가를 이미 스키마에 가져오고 있으므로 국가 표를 추가하고 국가 별 등급 표를 제거하는 것이 좋습니다. 그런 다음 각 등급에 외래 키로 국가가있는 단일 등급 테이블을 가질 수 있습니다. 그런 다음 다양한 등급으로 게임을 연결하는 rating_data 테이블을 만들어야합니다. release_date_data 테이블에 country_id를 추가 할 수도 있습니다. 이 방법을 사용하면 매번 스키마를 변경하지 않고도 더 많은 국가를 확장하고 추가 할 수 있습니다.

+0

플랫폼은 까다로운 주제입니다. 여러 플랫폼에서 출시되는 게임을 처리하는 방법을 잘 모르겠습니다. 종종 다른 날짜에 릴리스되고 다른 속성을 갖기 때문입니다. 출시 날짜는 우리가 큰 4 개의 섹션 (au, uk, jp, us) 만 실제로 모니터하는 유일한 국가라고 생각하지만, 우리가 더 많은 국가를 추가한다는 점에서 의식적이었습니다. 등급 표에 대한 좋은 점은, 내가 정확히 거기에서 생각하고있는 것을 모른다. –

+0

그래, 출시일 테이블이 의도적 인 것 같았지만 언급하고 싶었어. 귀하의 계획에이 테이블이 포함되어 있기 때문에 release_dates_data 테이블에 국가를 릴리스 날짜와 연관 시키므로 외래 키가 3 개가됩니다. –

1

방법은 다음 표 추가에 대한 : 당신이 국가 또는 평가 유형을 추가 할 경우, 그 방법

  • RatingsByCountry
  • 등급을
  • GameRatingsByCountry
    1. 나라를, 당신 테이블 구조를 변경할 필요가 없습니다.

    +0

    아주 유효한 점은, 나는 그 생각을 마지막 생각으로 그 스키마를 만드는 것의 끝에 등급을 매기는 것입니다. 나는 그것을 구현해야 할 것이다! –

    관련 문제