-1

我有一个游戏,当一个动作完成后,我需要给用户一个项目。每个项目都有一个唯一的 ID。每个动作也存储和描述在它们自己的表中。每个动作都有自己的奖励,但我希望一个动作能够提供不同数量的物品,可能没有。

到目前为止,我有三种方法:

  1. 在每个操作行中为项目 ID 设置三列。缺点是当该行为没有给出三个项目时它会留下多余的空单元格,但好处是它很简单。
  2. 仅设置一列包含多个由空格分隔的值。它比上面的冗余少一点,但它需要更多的处理来分离值。
  3. 为奖励创建一个新表,并为每一行设置一个项目和该项目所针对的操作。然后,当动作完成时,它会调用奖励表中具有动作 id 的所有行。这几乎为零冗余,但需要额外的查询。

您认为哪种方法最好使用?

4

1 回答 1

0

让每个项目都有一个项目 ID。然后一个项目的每个实例都会有一个唯一的实例 id。然后你可以存储同一个项目的多个实例,每个实例之间的唯一区别是实例 id。例如,一个球的项目 ID 为 5,一个键的项目 ID 为 6。

instance_id | item_id
1000          5
1001          5
1002          5
1023          6
1024          6
...
于 2012-05-24T19:16:09.357 回答