我是一個全新的編程初學者。 我只是製造了一個供個人使用的系統。 有可能增加兩名球員的比賽結果。ELO評級 - mysql設計
到目前爲止一切正常。 現在我想添加一個ELO評級系統。
我不明白,我應該如何設計我的數據庫。
問題是,我無法理解,如果任何時候任何遊戲結果將被刪除,如何保持評級計算的正確記錄。例如,有人會添加錯誤的數據,並且遊戲條目應該被刪除。
那麼,應該如何進行數據庫設計,如果我將從條目中間刪除任何遊戲,評分將會正確地重新計算?
我的問題的一個示例是,我解決不了(等級計算只是參考性的):
Player1 (rating 1200), Player2 (1200)
Game1 played, player1 wins.
Rating after game: P1:1231, P2:1169
Game2 played, Player1 wins.
Rating: P1:1259, P2:1141
Game3, Player2 wins
Rating: P1:1220, P2:1180
所以,後來我意識到,那場比賽中2有虛假數據,我想刪除它。
會發生什麼? 我刪除game2,然後劇本應該改變評分,如 從一場比賽之前和之後兩場比賽中獲得兩名選手的評分1。這將是P1:1231,P2:1169 然後在刪除遊戲後重新計算所有等級。 所以Game3,玩家獲勝,評級應該是P1:1198,P2:1202
我不能只是刪除game2,它的評級差異......評級必須從之前的遊戲和所有遊戲後重新計算。
更復雜的是,如果有3個或更多的玩家,他們在我想刪除的遊戲後玩過遊戲。 因爲他們的評分已經改變。如果一個遊戲被刪除,那麼所有後來玩過的遊戲的評分變化都應該被逐一重新計算。
我希望我的問題是清楚的...
所以thew問題是,你能告訴我,PHP的一個完整的起動/ .mysql應該是什麼數據庫計算的邏輯和過程的提示我的情況收視率。
在此先感謝。
馬克,對不起,我不完全清楚我的問題。問題是 - 你能幫我提示我應該如何設計我的數據庫? 目前我有一個球員表和一個遊戲桌。我應該如何實施評級數據?它應該是一張新桌子還是其他的......我無法弄清楚,我應該如何組織數據庫中的數據......我對mysql/php的可能性知之甚少。我需要一些幫助。 我認爲這是一個地方要求這樣的建議。 – OGlv 2014-09-25 16:31:22
@MarcB:他們不希望我們設計完整的系統。他們要求提示和建議。這沒有錯。 – georg 2014-09-25 16:40:44