如何使用N列存储数据

时间:2010-03-16 20:34:03

标签: sql

我需要一种方法来存储N列的int。基本上我所拥有的是:

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

我不可能为每个单位添加一个列,所以我需要一种快速的方法来存储军队中每个单位的数量(你可能已经猜到它现在是一个游戏)。使用XML不是一种选择,因为它会很慢。

5 个答案:

答案 0 :(得分:2)

Armies
------
ArmyID


Units
-----
UnitID
Description
Strength
Hitpoints


ArmyUnits
---------
ArmyID
UnitID
Count

答案 1 :(得分:1)

你可以使用这样的表:

Armies
(
  ArmyID
  UnitID
  UnitCount
)

答案 2 :(得分:0)

定义1:n关系(第3范式)

Table Armies
  ArmyID

Table Units
  ArmyId
  UnitId
  UnitCount

或者在一张表中进行

Table ArmyUnits
  ArmyId 
  UnitId
  UnitCount

这显然意味着每个ArmyId都有多个条目。

答案 3 :(得分:0)

您可以使用两个表:

Armies:
ArmyID - UINT

Units:
ArmyID - UINT
UnitIndex - UINT
UnitCount - UINT

答案 4 :(得分:0)

这将允许您将计数存储在一对多关系中。 UnitCount表中的UnitID是Armies表的外键。

Armies
(
  ArmyID
  UnitID
)

UnitCount
(
  UnitID
  UnitCount
)