2

バスケットボール シーズンのデータベースを作成しています。この時点では、シンプルに保ち、テーブルを保存しています。

-リーグID[PK]、名前->(NBA、NCAAMなど)

- Year id[PK]、league_id[FK]、year->(2012-2013、2011-2012 など)

-チームID[PK]、リーグID[FK]、名前->(ブルズ、レイカーズなど)

-ゲームID[PK]、ホームチーム[FK]、アウェイチーム[FK]

-スコアID[PK]、game_id[FK]、home_score、away_score

私の質問はテーブル構造についてです。私はSQLに少し慣れていませんが、データベース情報に基づいて計算できるようにしたいと考えています。例えば:

チーム A が移動中、チーム B と対戦し、チーム A の移動平均スコアが x で、チーム B のホーム平均スコアが y である... など

DONT DO IT THAT WAY?皆さんにちょっと見てもらいたかっただけです。

最終的には、次のようなクロス スポーツ DB を開発したいと考えています。

http://www.bc.edu/content/dam/files/schools/cas_sites/cs/local/bach/2008/08LawrenceChang.pdf

しかし、ここから始めて、基本的なスクレイピング アルゴリズムを取得し、いくつかの基本的な統計情報を取得します。どう思うか教えてください。本当にありがとう!

4

2 に答える 2

2

一見すると、スコアをゲーム テーブルに入れ、ゲームの日付フィールドを追加します。年テーブルの名前をシーズンに変更し、開始日と終了日を含めます。また、ゲーム テーブルにシーズン ID を追加することも検討してください。

于 2013-02-27T03:21:25.543 に答える
0

Year テーブルと Score テーブルはどちらも不要に思えます。これらは簡単に Game テーブルに追加できます (年の日付と季節フィールドの両方を含む)。

また、League テーブルで自動インクリメントの主キーを生成する必要がある理由もわかりません。リーグ名自体は問題なく機能しますが、リーグ テーブルを完全に削除して、チーム テーブルのリーグ フィールドでENUMを使用するだけでも問題ありません。

于 2013-03-02T04:29:28.330 に答える