是否值得建立一对一的关系?

时间:2016-11-28 11:28:03

标签: sql

我有一个表A,它有许多定义A的字段,但也有许多字段定义A可以,但并非总是如此。我正在考虑将这个实体分成两部分:一个简化的A实体,它只包含与A有关的字段和一个B实体,当它与A相关时,它也采用B"的形式。

(为了更好地解释:" A"是一张名为Mission的桌子" B"将是一张名为Monster的桌子。碰巧在我的领域,任务可能很多事情,有时它是一个怪物。有许多领域定义了一个怪物,所以原来的Mission表是巨大的。)

那就是说,我在辩论自己是否应该创建这个Monster表。我应该接受我相当大的Mission表,还是应该继续创建一个1:1的关系?联接将被频繁执行,我有点担心这一点。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我会去3张桌子(不是两张):

  1. 任务表,
  2. Monster类型表(包括每种类型的所有相关属性),
  3. 怪物实例的表格(即当你需要一个真正的怪物时);此表将包含对Monster类型表的引用,您可以在需要Monster属性时使用该表。
  4. 通过这种方式,您对巨大的桌子/空间的需求将大大减少。