1

この質問は、データベースの設計と、複数の目的を果たす場合にエンティティを最適に分割する方法に関するものです。

私のデータベース スキーマは、世界中のスポーツ イベントをモデル化しています。どのような種類のイベントやスポーツが行われ、いつ、どこで行われるか、参加者は誰で、勝者は誰なのかなど。スキーマ内のエンティティの 1 つは Country で、スポーツ イベントが世界のどの国で開催されたかを追跡します。

これはうまく機能しますが、国モデルに補助データを追加する必要もあります。これは、スポーツ イベント モデル自体には関係ありませんが、Web ページでデータを適切にレンダリングするために必要です。

そのデータの例としては、スプライト画像内の国旗のスプライト オフセット、国の長い説明、国の形容詞 (中国 - 中国語など)、国のページの訪問者数、およびその国の主観的な重要性があります。 1 から 5 までのスケール (5 にランク付けされた国のイベントは最初のページに表示されます)。

これらすべての属性を Country オブジェクト自体に簡単に配置できますが、それは間違っているように思われ、クリーンなスポーツ イベント スキーマを汚染します。データの構造は、それをうまくレンダリングする方法などの詳細と混在させるべきではないと思います...では、問題は、代わりにどのように整理する必要があるかということです?

4

1 に答える 1

3

このデータを「Countries」テーブルに保持し、スポーツ データの FK を作成します。これにより、各国の属性を 1 か所で更新するだけで、参照されているすべての場所で変更が有効になるため、各国の属性を簡単に維持できます。情報はアプリケーションに関連しているため、これがデータを汚染するとは思いません。さらに、このデータを分離しようとすると、スキーマがより複雑になり、メンテナンスがより困難になります。

于 2011-05-16T22:23:01.907 に答える