2014-01-23 73 views
1

我正在處理統計信息的網站上進行體育比賽。 I.E我的網站可以讓用戶快速查找哪個球員在比賽/賽季中得分最高,或者哪一名球員記錄的是對陣其他球員或球隊。需要幫助創建結構到數據庫

我對以前的遊戲數據當你點擊一個圓形顯示這樣 enter image description here

。示例round4 game1(哪些是Hurricanes vs Crusaders)該遊戲的統計數據和該遊戲的所有玩家統計數據(針對兩個團隊)都會顯示。因此:

enter image description here

enter image description here

此外遊戲的統計數據也被顯示如下: enter image description here

現在我嘗試這個上傳到數據庫,使用戶可以:

  1. 比較1個玩家對另一玩家記錄記錄
  2. 比較1名玩家記錄針對特定團隊
  3. 比較一個球隊的戰績與另一個球隊的戰績
  4. 顯示最佳和最差的球員和團隊統計

這個問題讓我忙了三天,現在我正在Im開始把頭髮拉出頭頂的階段。我無法獲得有效的方式將表連接在一起。

我應該爲每個單獨的比賽創建一張桌子嗎?或者我應該爲所有比賽創建1個桌面併爲所有玩家創建1個桌子?如果是這樣,我作爲主鍵使用什麼?

我知道這是一個很長的問題,所以任何人花時間通讀這個感謝提前,如果任何人都可以指向我在正確的方向或只是給我一個意見,它將非常感激。我只是完全沉迷於這一個。

回答

1

捕捉最低的相應級別的統計信息。您希望將數據庫規範化的原則應用於您的初始設計。這爲您提供最直接的數據捕獲方案,同時爲您提供最大的報告靈活性。

一旦您確定需要哪些報告並確定了您可能面臨的性能問題,那麼您可以應用非規格化來創建報告數據倉庫表。

考慮下面的邏輯數據模型:

ERD

+0

非常感謝你抽出時間爲我繪製圖表,最後一個燈泡亮了起來,我開始在看過該圖表後就開始掌握設計。再次感謝 – Marilee

0

如果教人以漁的希望....

寫出你認爲什麼樣的實體,你必須和他們所擁有的屬性。一個屬性可能是另一個實體。例如,一個Team實體具有一個Name屬性和多個Player屬性。但是Player也是一個具有Name屬性的實體,可能還有一些統計屬性。

這將爲您提供表格(實體)及其列(屬性)的起點。在屬性也是實體的地方,從屬性到實體繪製一條線:那些是你的關係。然後掌握將數據放入第三範式(3NF)的示例,並遵循將示例應用於圖表的示例。當你這樣做時,你會有一個很好的數據庫設計。

乾杯 -

+0

謝謝你的回答,這是一個起點,我一定會使用建議 – Marilee

+0

祝你好運!如果您遇到問題,請發佈具體問題以及目前爲止的結構。歡呼聲 - –

0

你應該參加所有的「遊戲」表到一個表。只需添加所需的額外的信息:

列:

  • 遊戲ID - INT - 遊戲ID,表名
  • scoreA的前半部分 - 第一隊得分
  • scoreB - 第二兩隊比分
  • teamAId - 第一隊的ID,前隊名
  • teamBId - 第二隊的ID,前隊員名稱

這也可以讓你一次對所有遊戲進行更有趣的搜索和統計。更好的是,你擁有一個靈活的結構,可以用於未來任何數量的遊戲和團隊。

+0

我認爲我誤以爲你的實際數據庫結構。如果是這樣,這是一個相當複雜的變化。如果你的數據庫結構是其他的東西,那麼我們可以試着從那裏開始。 – ToBe

+0

如果您可以從頭開始,其他海報在這裏有一些有用的提示! – ToBe