2010-03-16 42 views
1

我需要一種方法來存儲N列的int。基本上我已經是這樣的:如何存儲N列的數據

Armies: 
ArmyID - UINT 
UnitCount1 - UINT 
UnitCount2 - UINT 
UnitCount3 - UINT 
UnitCount4 - UINT 
... 

我也不可能爲每一個單元增加一列,所以我需要一個快速的方法來存儲在軍隊各單位的數量(你可能猜測它的現在爲一場比賽)。使用XML不是一個選擇,因爲它會很慢。

回答

2
 
Armies 
------ 
ArmyID 


Units 
----- 
UnitID 
Description 
Strength 
Hitpoints 


ArmyUnits 
--------- 
ArmyID 
UnitID 
Count
+0

好的,謝謝你,你和其他人! – CMircea

+0

您應該瞭解一些關於數據庫的第三範式http://en.wikipedia.org/wiki/Third_normal_form。這個解決方案正是您的數據的3NF。你應該用這種方式製作你所有的桌子。 – naugtur

1

你可以使用表是這樣的:在一個表中

Table ArmyUnits 
    ArmyId 
    UnitId 
    UnitCount 

這個N的關係(第三範式)

Table Armies 
    ArmyID 

Table Units 
    ArmyId 
    UnitId 
    UnitCount 

還是做到這一點:

Armies 
(
    ArmyID 
    UnitID 
    UnitCount 
) 
0

你可以用兩個表:

Armies: 
ArmyID - UINT 

Units: 
ArmyID - UINT 
UnitIndex - UINT 
UnitCount - UINT 
0

這將讓你在一個你的計數存儲到一對多的關係。 UnitCount表中的UnitID是Armies表的外鍵。

Armies 
(
    ArmyID 
    UnitID 
) 

UnitCount 
(
    UnitID 
    UnitCount 
) 
相關問題