1

私はプロスポーツの統計 Web サイトに取り組んでおり、テーブルのセットアップ方法とクラス (モデル/コントローラー) の命名方法に関するアドバイスを探しています。

たとえば、NBA、NFL、MLB のデータを扱っているとします。

nba_players、、、、、、などのプレフィックスnba_Statsを使用してテーブルをセットアップすることは理nfl_playersにかなっていますか?nfl_Statsmlb_playersmlb_Stats

NBA.playersNBA.statsNFL.playersなどの別々のデータベースとしてそれらを持っている方が理にかなっていますかNFL.stats...

これは、クラスを設定するという次の質問につながります。

CakePHP の規則を念頭に置いてすべてをセットアップするようにしたいと思います。上記で提案したプレフィックス方式を使用した場合、コントローラーに次のような名前を付けNbaPlayersController、モデルはNbaPlayer. ここで概説されているように使用する必要がありますか$tablePrefix=> http://book.cakephp.org/1.3/view/1060/tablePrefix ? 私はそうしないと思いますが、100%確実ではありません。

別のDBを使用して後者の方法で物事を行った場合、私が気付いていない別の方法がない限り、別のアプリを使用する必要があると思います。

playersまた、NBA、NFL、MLB のデータは非常に異なっており、さまざまな統計カテゴリが数多く存在するため、これらを個別の表にまとめるstatsことは考えたくありませんleague_type_id。の情報が欲しい。その方法は面倒すぎて、不要な余分なスペースをデータベースに追加すると思います。

だから私の質問は、私が上にリストした方法の1つがCakeで物事を行うための好ましい方法ですか、それとも上にリストしていない別の方法がありますか?

ありがとう!

4

1 に答える 1

3

複数のデータベースは必要なく、プレイヤー タイプごとに個別のテーブルを用意する必要もありません。それらはすべて「プレイヤー」のままです。それぞれの統計を別のテーブルに保管してください。

構造は次のようになります。

テーブル:

  • プレーヤー
  • リーグ
  • Leagues_players
  • mlb_stats
  • nfl_stats
  • nba_stats

モデル/協会:

  • Player hasAndBelongsToMan リーグ
  • リーグ hasAndBelongsToMany プレイヤー
  • MlbStat 所属プレイヤー
  • NflStat 所属プレイヤー
  • NbaStat 所属プレイヤー
  • プレイヤーは MlbStat を 1 つ持っています
  • プレイヤーは NflStat を 1 つ持っています
  • プレイヤーは NbaStat を 1 つ持っています
于 2012-10-29T15:53:45.400 に答える