我有一个游戏,当一个动作完成后,我需要给用户一个项目。每个项目都有一个唯一的 ID。每个动作也存储和描述在它们自己的表中。每个动作都有自己的奖励,但我希望一个动作能够提供不同数量的物品,可能没有。
到目前为止,我有三种方法:
- 在每个操作行中为项目 ID 设置三列。缺点是当该行为没有给出三个项目时它会留下多余的空单元格,但好处是它很简单。
- 仅设置一列包含多个由空格分隔的值。它比上面的冗余少一点,但它需要更多的处理来分离值。
- 为奖励创建一个新表,并为每一行设置一个项目和该项目所针对的操作。然后,当动作完成时,它会调用奖励表中具有动作 id 的所有行。这几乎为零冗余,但需要额外的查询。
您认为哪种方法最好使用?