タイトルがはっきりしない場合は申し訳ありません。データベース設計のスキルレベルを考えると、要件が一種の高度なものに該当するため、データベーススキーマを計画する方法について少し混乱しています:)ここで実際にいくつかのヘルプを使用できます。とにかく、ここに行きます...
チームの試合の詳細を追跡する必要があります。簡単にするために、試合の日付、結果、および試合を行ったチームを追跡する必要があるとします。次に、同じ一致の複数のレコードを保持しなくても、関連するすべてのデータが確実に返されるように、テーブルを設計するにはどうすればよいですか。明確に説明しているかどうかわからないので、以下に例を示します。
match_id team1 team2 result
________ ________ ________ ________
1 Arsenal Chelsea 5-3
2 Manchester Utd Arsenal 1-0
3 Liverpool Newcastle 2-0
4 Arsenal Everton 1-0
このデータから、アーセナルがプレーした試合のmatch_idsを検索すると、以下の結果、1、2、4が得られるはずです。
さて、私が知っている基本的な設計では、通常、指定されたチーム名で一致するチーム名を検索し、結果を返します。ただし、ここでは、チーム名を2つの異なる列に含めることができ、両方を関連付けることができます。それで、それは私がデザインレベルで決定する必要があるものなのか、それともある種のクエリで実行できるものなのか。
(注:チームをホーム/アウェイとして保存することは、私の要件のオプションではありません)。