我正在建立在线考试系统。我设计了桌位,Question和GeneralExam。表GeneralExam包含有关考试的信息,如名称、描述、持续时间、.
现在我想设计表格GeneralQuestion,它将包含属于普通考试的试题ids。
目前,我有两个设计GeneralQuestion表的想法:
我想知道哪种设计更好,或者每种设计的利弊。
我在使用Postgresql数据库。
发布于 2012-11-16 11:34:56
第一个设计是更好的设计。
这是因为你也可以为这些问题创建外键。此外,对于解析ids列表,您没有进一步的处理。同样,在这种情况下,您可以将所有问题与通用考试查询结合起来(只有一次往返到数据库)。
在第二种设计中,您必须获得一般考试的数据库条目,解析文本,然后再次查询数据库中的问题.
发布于 2012-11-16 11:52:52
这取决于使用情况。但大多数情况下,INT键是首选的。通常,您会找到类似ID的东西来显示主键。
最终它取决于使用情况。你会有什么样的要求。因此决定。但INT是最受欢迎的。在这里,我已经解释了这两个
int的
标识字段应该是数字字段,而不是基于字符串的字段,因为
字符串/文本的
OP并不是问是使用int is还是字符串is。他/她询问是使用int (一对多)还是将所有问题is连接在文本列中,如"123311;121322;123455;123487“。
第一个选项是int I,第二个选项是文本/字符串。
这取决于使用情况。你会有什么样的要求。因此决定。多数情况下,首选第一种选择。在本例中,对于第一个选项,您没有进一步的处理来解析In列表。
https://softwareengineering.stackexchange.com/questions/176070
复制相似问题