2015-07-21 23 views
0

我仍然是全新玩數據庫的人,並且希望爲部分遊戲創建一個跟蹤數據庫,例如部落衝突。爲部落衝突(或類似遊戲)創建數據庫

我不確定如何構建一些表格。

以下是最終結果: 選擇用戶 用戶輸入建築物的等級。 這是存儲在一個表中。

棘手的部分(至少對我而言)是根據用戶的當前級別確定哪些建築物和哪些級別可用。

實施例: 當前的用戶級別爲TH7和實驗室水平5和拼寫工廠3

可以在TH7

咒語是AB C. 但隨着工廠級別3只咒語是AB 並與實驗室拼寫最多可以達到3點,法術B可以達到2級的最大點數。

我的想法是1個所有建築物和先決條件的所有排列巨型表。但這看起來不正確。這是否簡化了?

記住有相同種類的多張建築物即 5射手塔,5門大炮等

我的查詢會是這樣的 獲取玩家當前級別prereqs 查找所有建築物可用於當前的TH水平。 確定什麼建築物和水平缺失。 顯示那些。

有一個很好的網頁已經做到這一點(clasofclans-tracker),但想要爲我自己的用法重新創建它,並採用其他遊戲。更多的是學習練習,而不是別的。

回答

1

我不熟悉Clash of Clans,但我可以使用你的例子。

當前的用戶級別是TH7和實驗室5級和法術工廠3

提供TH7

法術AB C.但是,隨着廠級3只法術是AB,並與實驗室拼寫可以達到最多3和法術B可以達到最高級別2.

首先,我們將創建對象表。在你的例子中,你命名爲User,Laboratory,Spell和Factory。通常,表名是單數的。

User 
---- 
User ID 
User Name 
User Game Name 
User Password 
User Level 
... 

Laboratory 
---------- 
Laboratory ID 
Laboratory Name 
... 

Spell 
----- 
Spell ID 
Spell Name 
User Level Available 
Factory Level Available 
... 

Factory 
------- 
Factory ID 
Factory Name 
... 

我們已經爲每個對象創建了一張表。這些表的主鍵是一個自動生成的整數,我們稱之爲ID。

現在,這些表本身並不是那麼有用。我們需要創建聯結表,將用戶與遊戲的其他組件相關聯。

我們將要討論的第一個接合表是UserLaboratory表。

UserLaboratory 
-------------- 
User ID 
Laboratory ID 
Laboratory Level 

該表將用戶與實驗室相關聯(加入)。實驗室級別適用於特定用戶和特定實驗室。您可能會猜到此表的主鍵是(用戶ID,實驗室ID)。

在你的榜樣,實驗室水平爲5

下一個路口表中,我們將討論的是UserFactory表。

UserFactory 
----------- 
User ID 
Factory ID 
Factory Level 

該表與UserLaboratory表幾乎相同,只是它處理工廠。

在你的榜樣,廠級爲3

我認爲在這一點上,你可以看到如何創建剩下的結表。

這是創建任何數據庫的過程。

  • 提取出所有的對象表。
  • 確保對象表只定義一個對象。
  • 創建所有聯結表。

祝您數據庫盡善盡美。