2013-02-13 47 views
1

刚刚在这里提出了关于数据库表的问题。如果表只有一个主键(标识)和一列有用数据,可以将它作为自己的表吗?还是应该将它作为数据在父表中?应该只有一个有效数据字段的表是它自己的表

该表存储安全问题,用户将使用他们的帐户设置安全问题,并在需要更改密码或忘记密码的情况下重置密码。我有问题的ID和这个表中的问题字符串。

我在自己的表中使用它的原因是,许多用户可能会使用同一个问题,所以为什么多次在父表中存储问题。这就是我的想法,只是想要一些其他人的意见。

编辑:安全问题将由我的团队输入,而不是用户自己。用户将选择要使用的问题之一。

回答

0

我会用网桥表中表明该样品设计: enter image description here

你可以有独特的用户以及他们的回答多个问题。而且,对于多个用户来说,这些问题可以是相同的

+0

我喜欢你的想法,从用户表中分离出来。但是,如果我们只为每个用户使用1个问题/答案集,将UserQuestions表从用户表中分离出来有什么好处? – 2013-02-13 20:04:55

+0

@安迪链接:在这种情况下,你应该去**一对一的关系。问题表应该分开,因为多个用户可以有相同的问题,他们将从问题列表中选择。只需将用户表中的引用密钥添加到问题表中即可。 – 2013-02-13 20:10:36

+0

好吧,那么通过这个逻辑,我应该对数据库中的几个表中使用的所有状态缩写做同样的想法吗? – 2013-02-13 20:25:51

0

您必须始终尝试防止重复,这就是为什么您的解决方案是最好的。它也将保持你的数据库更小。具有int值的外键小于字符串。

相关问题