2012-07-26 88 views
0

我想建模,分析和創建由紙牌遊戲中的信息組成的數據庫。遊戲的每一輪都會有一個ID,時間戳和4個或更多的玩家(通常是4個)。我用自己的一組屬性定義了我的球員表。不過由於每輪都有4名球員,所以我該如何高效地實現本輪與球員之間的關係?「對象」之間的數據庫建模關係

基本上每個回合有4個不同的球員,具有相同的屬性(不同的值)。對於每個玩家有一個屬性(列)似乎很奇怪,因爲我想有一些到玩家表的鏈接來保持我的'對象'獨立和封裝。 這是一輪對4名球員之間的一對多關係嗎?

當我在紙上繪製模型時,它似乎更像是一個層次結構。例如,我有一輪 4玩家和每個球員一手牌。 這是一個關係模型,層次模型,對象模型,還是其他?

另外,這可以在SQL中完成嗎?如果不是,我應該使用什麼? 任何幫助/建議都非常感謝,因爲我的經驗都與SQL中的關係數據庫有關。

謝謝!

回答

1

基本上

Round          Player 
------------        ----------------- 

round_id player_id others_attri  player_id info_attributes 

然後,對於每一輪,你需要在回合存儲4行,用相同的ID和每個玩家ID,例如,圓形,帶編號1,玩家1,2,3,4 are in。

Round    Player 
-----------   ----------- 
1 1 date    1 
1 2 date    2 
1 3 date    3 
1 4 date    4 

player_id是player_id的有趣密鑰。

或者,如果你不想存儲日期多次,做到這一點:

Round      player_play      Player 
---------     ------------    ----------------- 

round_id info_attributes round_id player_id  player_id info_attributes 



Round   player_play    Player 
-------   -----------   ----------- 
1 date   1 1     1 
       1 2     2 
       1 3     3 
       1 4     4