调查与答案选项参考主表,如城市

时间:2013-10-02 11:12:13

标签: mysql database-design

我正在创建一个小型问卷,其数据库设计如下;遵循Michael Durrant制作的this thread模式,略作修改。

现在,对于一些问题,我必须提供城市作为答案的选择;已存在于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字段中的文本。
  4. 这似乎有用。
    但是,可能有一个更好的方法,所以欢迎你分享你的见解,哦数据库专家!

1 个答案:

答案 0 :(得分:0)

不知道。可用性表明下拉列表太长时间不会是良好的用户体验。

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