3

としてソートのこの前の質問へのフォローアップ: http://schemabank.com/p/VwWHnこのデータベーススキーマは実用的ですか?

私の質問は、私はこの方法で正しい道の上にいますされています。私は今、この設定を作成しました Normalizing a variety of properties with similar data types

を?私が使用しているセットアップに明らかな間違いがあるのでしょうか、または標準化の概念について何か不足していますか?現実のシナリオで実用的なアプローチをしようとしているので、このデータベースを構成するためのより良い方法があれば、それを聞いてうれしいです。

答えて

1

platform_dataテーブルを用意して、複数のプラットフォームにまたがってゲームを関連付けることができます。これはこれを持たない意識的な選択かもしれないが、私はそれを言及すると思った。

もう1つのことは、リリース日にはリリース日別にすべてを選択できるように別のリリース日表があると仮定します。それがあなたの計画の一部でない場合は、余分なテーブルは必要なく、ゲームモデルに追加するだけで済みます。

もう1つのことは、ゲームが異なる国で異なる日付にリリースされることです。複数の国をレーティングの目的でスキーマに導入しているので、おそらく、国別のテーブルを追加し、各国の格付けテーブルを削除することを検討することができます。次に、格付け表を1つずつ作成し、各格付けに外国のキーとして国を設定することができます。次に、様々なレーティングにゲームを関連付けるためのratings_dataテーブルを作成するだけです。 release_date_dataテーブルにcountry_idを追加することもできます。この方法では、毎回スキーマを変更することなく、より多くの国を拡大して追加することができます。

+0

プラットフォームは扱いにくいテーマです。私はしばしば異なる日付にリリースされ、異なるプロパティを持っているため、複数のプラットフォームでリリースされているゲームをどのように処理するかはわかりません。私が大きな4つのセクション(au、uk、jp、us)だけが実際に監視する唯一のものだとは思うが、リリース日は意識していた。評価表についての良い点、私はそこに正確に何を考えていたのか分かりません。 –

+0

ええ、私はリリース日の表がおそらく意図的だと考えましたが、それを言いたいと思いました。あなたの計画にはこのテーブルが含まれているので、リリース日(release_dates_dataテーブルには3つの外部キーがあります)に国を関連付けるのは間違いありません。 –

1

方法以下の表の追加について:

  1. を国
  2. RatingsByCountry
  3. 評価
  4. GameRatingsByCountry

こうすることで、あなたは国や格付けの種類を追加した場合、あなたテーブル構造を変更する必要はありません。

+0

非常に有効な点ですが、最後の考えとして、そのスキーマを作成し終わった時点で評価を詰め込んでいます。私はそれを実装する必要があります! –

関連する問題