ASP.NET中的多个答案矩阵

时间:2008-12-05 15:42:02

标签: vb.net oracle database-design asp.net-2.0

我参与了一个制作调查系统的项目。我们一直在为几个问题类型敲定逻辑,我可以使用第二个意见来确定最佳方法。我们使用VB(VS2005)和Oracle数据库在ASP.NET 2.0网站上工作。

在我们的oracle服务器中,我们计划一些表来组织我们的数据。还有我们的调查中,一个问题一个表(键确定调查如此下去),一个答案(再次,键确定哪些问题属于),一个用于收集答案。大多数问题只返回一个响应,这很容易弄清楚。但是,当我们开始考虑返回多个答案的项目时,它开始变得棘手。

例如,如果我们有一个3x3的简单矩阵填充复选框。行是'星期一','星期三','星期五'。列是“自行车”,“跑步”,“驾驶”等活动。用户检查他们在给定的一天做的每一个,因此每行可以有多个响应。我们想要考虑的另一个问题是,如果不是复选框,我们有文本框,用户可以在其中写下他们花在活动上的时间的值。

到目前为止,为了收集回复,我喜欢表单中traversing a list of controls的想法,并密切关注收集数据的各种控件。由于控制是在代码创建的,通常它们得到与固定在端部的数目的字符串的ID来跟踪它是什么问题类型,并且它是什么号码。

问题#1: 从用户返回的数据是否应该在带有分隔符的单个数据库条目中以分隔每个答案,或者每个答案是否应该获得它自己的条目?

问题#2: 什么是确定响应与答案(在调查中)的最佳方式?

2 个答案:

答案 0 :(得分:0)

问题#1:用户返回的数据是否应该在带有分隔符的单个数据库条目中以分隔每个答案,或者每个答案是否应该获得自己的条目?

我不这么认为,我认为你需要维护一个简单的交叉引用表,其中包含问题Id和答案(如果是多项选择,则为一个键,如果允许,则为文本)。 如果您正在讨论答案网格,那么您的交叉引用表可能还有一列,其ID为“类别”。

答案 1 :(得分:0)

假设空间和速度不太可能严重限制此系统中的问题,我建议您保持数据正常化

所以问题1的答案是:每个答案都有自己的条目;必要时带序号

问题2的答案是:通过外键