相关疑难解决方法(0)

问卷数据库设计——哪种方式更好?

我有一个很长的 html 页面,几组问题分为小部分(一页大约有 15 个子部分),问题总数约为 100 个问题:从输入、多选、复选框、单选按钮、文本区域、和文件上传。一个问题可以包含许多答案,这些答案可以从一组复选框、一组选择列表、一组多选或所有这些组合成一个答案中获得。我以为我会在下面使用这个数据库设计,但最近发现这毕竟不是一个好方法。

  1. 一个客户只能有一组问题:每 100 个问题就有一个客户。
  2. 对于旧方法,我不会在数据库中保留问题,而是在 PHP 编码中指定为常量。问题是我必须比较 PHP 中的问题才能使其与数据库中的答案同步。如果某个问题已从 PHP 中更改/删除/移动,我肯定会迷失在将其与问卷数据库中的答案匹配的情况下。更好的解决方案?
  3. 我能否将从表单中的多个元素获得的多个答案保存在一个字段中作为一个答案?如何检索此字段并再次显示以供客户在表单上查看?
  4. 我应该选择下面的哪个选项?

选项 1:旧方法(1 桌)

表格:问卷

  • 身份证(PK)
  • 顾客ID
  • 地位
  • A1
  • A2
  • A3
  • .
  • .
  • .
  • A100

选项 2:新方法(2 个表)

表格:问题

  • QID(PK)
  • 问题(varchar)

表:答案

  • 援助(PK)
  • 顾客ID
  • QID(整数)
  • 答案(varchar)

还是选项3?

database-design

15
推荐指数
2
解决办法
3万
查看次数

存储可能是多种类型的值的最佳方法

我想以更直接和更一般的方式重新提问

如何创建一个表来存储可能是多种不同类型的值?

就我而言,这些值提供有关事件的诊断信息。例如:事件发生 -> 存储来自多个 PLC 的读数,其中包含有关事件的相关信息。PLC 可以监控任何类型的数据。

我能想到的一些例子:

  • 为每种可能的类型创建一列并创建另一列以指示要使用的列
    • 例如:列数:IntVal、StrVal、BoolVal、类型。值:空,空,真,“布尔”
  • 无论如何将值存储为 varchar

database-design sql-server

11
推荐指数
1
解决办法
3124
查看次数

标签 统计

database-design ×2

sql-server ×1