0

我正在创建一个小型问卷,具有以下数据库设计;遵循迈克尔·杜兰特(Michael Durrant)制作的这个线程的架构,稍作修改。

现在,对于一些问题,我必须提供城市作为答案选项;master_cities 表中已经存在。例如:你现在住在哪个城市?

答案将采用从 master_city 表派生的下拉格式。我不应该将 master_cities_table 的全部内容复制到 option_choices 表中,我应该吗???

任何想法都非常感谢。

current_db_schema

编辑:我想澄清这个问题。

  • 这个问题与 UI/UX、纯数据库设计完全无关。
  • 我试图实现的目标是避免数据冗余,例如将主表记录复制到 options_choices。
  • 由于它是一个调查系统,所有答案的选择都必须是数据库驱动的,例如 A. 非常同意,B. 中立,C. 完全不同意。哪个可以重复使用来回答其他问题,例如“你在哪里出生?” 或“你以前住过哪些城市?”
  • 这里的 Master_cities 表只是我需要参考以提供答案选择的主表之一(也是最大的表)。

希望能消除困惑。

目前的做法:

  1. 我删除了表格中的referral_table字段options_choices并将其放在options_group表格中,
  2. option_choice_id在表中设置answers为 NULL-able,
  3. 并将master_cities主键保存为answers_text字段中的文本。

这似乎行得通。
但是,也许有更好的方法,所以欢迎您分享您的见解,哦 db 专家!

4

1 回答 1

0

不知道。可用性表明,太长的下拉列表不会带来良好的用户体验。

另一种方法是尝试提前输入,类似于 Google 在您开始在搜索文本框中输入字词时所做的操作,以查找城市名称。一旦用户在文本框中输入了一个字母,您就可以缩小查询范围,只显示匹配的城市名称。

于 2013-10-02T11:15:43.003 回答