请教一个类似问卷网的数据库设计问题

数据库设计问题请教

打算做一个类似问卷网的工具,不同的用户可以创建不同的问卷,不同的问卷的表单多少类型都是不一致的,
例如用户A创建了问卷1,问卷有text文本框name有text文本框age 有text文本框tel 有select选择框A\B\C\E.
然后用户B又创建了问卷2,有text文本框name 然后有一个text文本框map 有radio选择sex 男1 女0;
那么这种情况如何设计数据库会比较合理?没有想到很好的方法…

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 7

用一个数据表的json 字段去存你的问卷内容 或者用一张一对多的关系表来存你的问卷内容

3年前 评论
kangfq (楼主) 3年前

问卷表,题目类型表(text,radio,select...)。题目表(可以每一题都存一条数据,也可以所有题目 json 后存到一条数据里面)

3年前 评论

试卷表 Table_A 问题表 Table_B 试卷问题关系表 Table_A_Table_B

如果需要展示一张卷子只需要

select * from Table_B as B join Table_A_Table_B   as ab on  ab.b_id = b.id where b.id = ?
3年前 评论

鄙人以为

对于预定义的表单类型,放在 json里即可。

对于数据的存储,分两方面

  • 可直接被搜索,一行记录对应一个表单类型
  • 非必要,放在json里即可
3年前 评论

问卷表(question):
user_id、type、title

问卷答案表(question_answer):
question_id、answer

用户提交答案表(answer):
user_id、question_id、question_answer_id、answer

3年前 评论
kangfq (楼主) 3年前

有一种思路,动态建表。。。a_1 表 a_2表

3年前 评论
kangfq (楼主) 3年前

直接 string 吧,业务上来了再考虑效率问题

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!