我正在嘗試爲以下場景找到最佳設計 - 存儲舞蹈比賽結果的應用程序。如何刪除此並行層次結構
一個事件包含多個回合,每個回合都包含多個表演(每個舞蹈一個)。每個表演由許多評委評判,他們返回評分表。
有兩種類型的輪次,最後一輪(包含6個或更少的舞蹈伴侶)或正常輪次(包含6個以上的舞蹈伴侶)。每個需要稍微不同的行爲和數據。
在最後一輪的情況下,每張成績單都包含最終顯示的6對夫婦的有序列表,其中夫婦放在第一名,第二名等等。我將這些排名稱爲「成績單包含6個排名」。一個配偶包含一對夫婦的號碼,並且這對夫婦在什麼地方是
在普通回合的情況下,每個計分表包含一組無意義的M對夫婦(M <進入該回合的夫妻數 - 準確值由比賽組織者決定)。我將這些召回稱爲:「M回憶的評分表」。一個召回不包含分數或例如 排名
在最後
- 第一名:夫婦56
- 第二名:夫婦234
- 第三名:夫婦198
- 第4名:情侶98
- 第5名:情侶3
- 第6名:情侶125
對於一個正常的一輪 下面的情侶們回憶 54,67,201,104,187,209,8,56,79,35,167,98
這個我天真的版本是作爲
事件 - HAS_ONE final_round ,的has_many輪
final_round - 的has_many final_performances final_performance - 的has_many final_scoresheets final_scoresheet - 的has_many名次
個輪 - 的has_many perforomances 性能的has_many評分表 記錄表的has_many回憶
但是我不喜歡重複,這需要和我有幾個平行的層次結構(圓形,性能和記錄表),這將是一個痛苦保持。