1

バスケットボールの統計を保存するDBを作成しています。名簿を追跡するための私のアプローチが賢明かどうかを判断しようとしています.

シーズン中に、プレイヤーはチームを変更したり、リーグを完全に脱退/参加したりする場合があります。これを追跡し、クエリ機能を維持したいと思います。

  • 各チームでの在職期間ごとに分類されたプレーヤーの統計
  • シーズンなどの任意の期間のチーム統計 (主にそのプレーヤーから得られる) には、プレーヤーがチームでプレーしたすべてのゲームが含まれます。
  • チーム名簿はいつでも

私にはアプローチがありますが、将来の潜在的な制限について考えるのが少し難しいです。

  • テーブル playerStats には、gameID、teamID を使用して、ゲームの各プレーヤーの統計が含まれています。
  • games テーブルには、各 gameID の日付があります。
  • 名簿テーブルには、playerID、teamID、fromDate、および toDate の列があります。

これで十分でしょうか?そうでなければ、playerStats テーブルに teamID が必要ですか、それとも両方を持つことは冗長ですか? これは一般的に、名簿型のDBのアプローチですか。

ありがとうございました!

4

2 に答える 2

0

あなたは本当に名簿を必要としません。わかりにくいteamIDを計画している場合や、チームが名前を変更することを期待している場合は、テーブル(、)が必要になる場合がありTeamますteamIDteamName

Playersまた、それらの名前に加えて、保持したい他の属性を保持するためのテーブルも必要になります。

于 2013-03-04T23:16:42.240 に答える
0
game
----------
game_id (pk)
team_1_id
team_2_id
play_date
location_id

roster
----------
player_id
team_id
begin_date
end_date

game_stats
-------------
game_id
player_id
stats...
于 2013-03-04T23:26:00.747 に答える