我参与了一个制作调查系统的项目。我们一直在敲定一些问题类型的逻辑,我可以就什么是最好的方法提出第二种意见。我们使用带有 Oracle 数据库的 VB(VS2005) 在 ASP.NET 2.0 网站上工作。
在我们的 oracle 服务器中,我们计划一些表来组织我们的数据。我们的调查有一个表格,一个用于问题(键确定它继续进行哪个调查),一个用于答案(同样,键确定它属于哪个问题),还有一个用于收集答案。大多数问题只返回一个响应,这很容易弄清楚。然而,当我们开始考虑返回多个答案的项目时,它开始变得棘手。
例如,如果我们有一个简单的 3x3 矩阵,其中填充了复选框。行是天'星期一','星期三','星期五'。这些列是“骑自行车”、“跑步”、“驾驶”等活动。用户检查他们在某一天所做的每一项,因此每一行可以有多个响应。我们要考虑的另一个问题是,如果我们有文本框而不是复选框,用户会在其中写入他们在活动上花费了多少分钟的值。
到目前为止,对于收集响应,我喜欢遍历表单中的控件列表并密切关注收集数据的控件类型的想法。由于控件是在代码中创建的,因此通常会为它们提供一个字符串的 ID,该字符串的末尾附有一个数字,以跟踪它是什么问题类型以及它是什么数字。
问题 #1:从用户返回的数据应该在单个数据库条目中,并用分隔符分隔每个答案,还是每个答案都有自己的条目?
问题 2:确定什么响应与什么答案相匹配的最佳方法是什么(在调查中)?