我是否需要外键才能相互引用表

时间:2013-02-14 23:32:31

标签: sql database

当使用foriegn键时,我不确定我是否想在两个包含相同字段的表中使用foriegn键。例如:

选项表:

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

问题表:

QuestionId (PK auto)  Question  OptionId (FK Option)
1                      2+2       2
2                      3+3       1

我将问题表中的OptionId作为外键,但我想在选项表中将OptionId作为外键并引用问题表吗?

1 个答案:

答案 0 :(得分:1)

没有

外键是一种约束:它旨在确保数据库的完整性。您不希望有人能够删除问题加入的选项,因为该问题将不再有效。但是,删除一个问题是完全合理的,即使它所加入的选项仍然存在 - 该选项可能适用于其他现有或未来的问题。