在规范化中遇到1NF问题

时间:2013-02-19 13:18:05

标签: database normalization

在对重复和非重复数据进行标准化时,我有点困惑。请看下面的字段:

Option_Table:

OptionId (PK auto) OptionType
1                  A-C
2                  A-D
3                  A-E

问题:

QuestionId (PK auto) OptionId
1                    3
2                    2
3                    2

如果你看一下上面的表格,技术上的OptionType不会重复,而且OptionId正在重复,但它是一个forign键,所以我假设状态OptionId仍然可以在第一范式中不重复。但对于OptionType,它看起来像非重复数据,但它不是一个键,只是一个普通字段,因此低于正确或不正确:

重复:

非重复:

QuestionId OptionId ,选项类型

粗体意味着它是一把钥匙。我可以简单地选择哪些非重复数据,也可以不是键?

1 个答案:

答案 0 :(得分:0)

重复和非重复不引用行。它们引用一行中的列。

如果要将OptionType列解释如下:A-C表示A,B,C等,则有一个参数表明OptionType是重复列。还有一个论据是说它是一个范围,而不是重复的列,但是,在这种情况下,你可以在单独的列中更好地处理范围的下限和上限。