競馬の時間を保存するように設計されたデータベースがあります。現在、私はRace
テーブルとテーブルを持っていRaceTimes
ます。それぞれに 5 つの分数時間と 5 つの分割時間があります。RaceTime
テーブルにはRace
外部キーも含まれます。
例えば:
RaceTime
テーブル:
RaceTime_id (primary key)
Race_id (foreign key)
TimeValue (time stored in 100th of seconds)
PointOfTime (i.e. 1/4 mile, 1/2 mile, etc.)
Which (where which is an integer between 1 and 5)
各レースに 5 回と 5 つのスプリットがあるとすると、このアプローチは各レースに 10RaceTime
のレコードを生成します。あるいは、Fraction1、Fraction2....Fraction5 および Split1、Split2...Split5 を含むデータベース構造を作成することもできます。このアプローチでは、Race
レコードとレコードの間に 1 対 1 の一致がRaceTime
あり、RaceTime
テーブルの行数がはるかに少なくなります。
私の読書と調査により、最初のアプローチが望ましいと信じるようになりました。このデータはより正規化されていると思います。テーブルのサイズの違いで少し間があいていると思いますが、おそらく長いテーブルと広いテーブルの間のトレードオフです。
そうは言っても、私はこれらの問題に精通している人々からの意見を得たいと思っていました. ご意見ありがとうございます。