現在我有一張比賽表,其中每場比賽都有2名參賽者和獲勝者的參考資料,但是沒有辦法存儲這些回合的順序。什麼是在MySQL中存儲錦標賽括號的關係方式?
回答
是否有任何東西阻止您創建名爲「round_order」的字段?你知道這個命令嗎?
簡單地在匹配表中存儲「圓號」字段似乎就足夠了。您可能想要按相反的順序分配輪次號碼,即:1爲決賽,2爲半決賽,3爲四分之一決賽等等,而不是第一輪爲1,第2輪爲2,等等。
這具有額外的優勢,您可以立即從圓數中獲取信息。例如,對所有半決賽進行查詢將非常容易,並且將獨立於總比賽的整個賽段。
其實我不確定我是否同意。
如果你在「匹配」表中有一個「圓」字段,那麼你就會引入完整性問題的可能性,因爲你最終在每一輪的表中都有一行(這沒有什麼意義)是「匹配」表,所以每場比賽應該只有一行)
如果你這樣做了,每一行可能會有一組不同的參與者,這可能不是你的意圖,並表明你應該鍵「輪」到不同的表。其他完整性問題將會是「贏家領域」,例如如果你在比賽表中列出了本輪比賽的冠軍,你怎麼知道誰贏了比賽?如果你只是把比賽的勝者放在所有的行中,你就會失去有關誰贏了這一輪的信息。
要適當地標準化,創建一個「MatchRound」表。
給你匹配表的主鍵(稱之爲Match_Id例如) ,然後你的圓桌可以有: Round_Id(自動編號或類似的唯一主鍵),Match_Id(這是一個外鍵匹配表)也許RoundOrder和RoundType(最後,半等)。你可能也可以將Winner和Loser添加到這張表中。
雖然雙用於semis/quarters等的round_number字段可以工作,但它只適用於拓撲結構在整個匹配中保持一致的情況,例如,總會有四分之一決賽?例如,一些體育積分,然後只有一個決賽。出於這個原因,我只是創建RoundType文本字段。
支架是否會像網球(或三月瘋狂賽事)一樣播種,如果是這樣,您是否需要回答這樣的問題:「在哪一輪,費德勒和納達爾會互相比賽?然後,您需要將支架as a tree存儲在數據庫中。
- 1. 錦標賽括號算法
- 2. 在MongoDB中建模錦標賽括號
- 3. 錦標賽括號的遞歸算法
- 4. 錦標賽括號 - 線和空間
- 5. 繪製錦標賽括號(PHP&GD)
- 6. 爲錦標賽優化括號
- 7. 如何確定樹中的元素(錦標賽括號)?
- 8. 錦標賽樹
- 9. 使用錦標賽括號查找最小數字
- 10. 錦標賽支架
- 11. 錦標賽選擇
- 12. 在mysql中存儲html代碼的最佳方式是什麼?
- 13. 在mysql中存儲python timedelta值的最佳方式是什麼?
- 14. 在MySQL中存儲URL的最有效方式是什麼?
- 15. 錦標賽得分的模式幫助
- 16. 在關係數據庫中存儲(和訪問)歷史1:M關係的最佳方式是什麼?
- 17. 錦標賽支架算法
- 18. 代碼拉力錦標賽
- 19. 錦標賽圖形問題
- 20. 羅賓錦標賽C#
- 21. Graph Theory - 錦標賽排名
- 22. 錦標賽生成器PHP
- 23. 排序錦標賽種子
- 24. 雙面錦標賽支架
- 25. 什麼是:和在CSS方括號?
- 26. 匹配方括號和方括號內容的正則表達式是什麼?
- 27. 將球員晉級到下一場比賽 - 錦標賽方括號(需要一些邏輯)
- 28. 正則表達式中方括號和括號之間的區別是什麼?
- 29. php中的錦標賽算法
- 30. 什麼是存儲電話號碼的推薦方式?
也許吧?這是一個非常簡單的工具,用戶可以輸入參與者姓名,將他們配對,然後一次又一次地將每場比賽的獲勝者配對,直到只剩下贏家。 – VWD 2010-09-10 20:08:03