[提问]用 MySQL 如何保存复杂表格的各种不同的数据。如居民健康档案表、高老糖随访表等...

2017-06-16 17:41:09 +08:00
 hzw94

由于要重构系统,正在重新设计数据结构,希望找到好思路解决下面的问题

  1. 表格里面值的太杂、类型太多

  2. 旧表是将左列表头作为一个字段(职业、婚姻状况、疾病、手术),将右边的值按顺序放入数组再序列化后,保存到字段中,读取显示的时候,就反序列化按顺序显示

    个人觉得比较死板,完全写死了,查询也会非常艰难。旧表是前同事设计的,我刚转正就接手了,头大中。


附上表格

居民健康档案

高血压随访表

5713 次点击
所在节点    MySQL
27 条回复
hzw94
2017-06-17 20:23:48 +08:00
@3dwelcome axure 真没用过,有空去了解一下。

@bk201 @changwei  暂时不考虑其余 SQL

@yumemor  用 xml 文件保存的话,我感觉会多出不少额外的管理成本,备份起来也稍微麻烦

@sorra 暂时没法用 NoSQL 类的数据库

@reus @leeg810312 postgresql 真没用过,我先去了解一下

@Sunyanzi 表中所有的下划线,小框都是输入框,都可能有值或者为空。既有多选,也有单选,也有组合。

@gouchaoer  如果找不到更好的存储方式,其实我也是打算照旧了

@dylanninin 好像没看懂。。。

@jucelin 这种方法,就是将每个答案(单选或多选)都放到一个字段,大概得要 json 了

@m939594960 不错
jucelin
2017-06-19 11:48:43 +08:00
@hzw94 #21
如果你有答案分享的需求,就需要继续拆。当然继续拆结果就如 @m939594960 说的情况。
我的做法是 json 也存了,表也拆了。做了冗余存储。
yurong333333
2022-02-10 10:17:30 +08:00
@jucelin 大佬,有相关的项目可以参考一下吗?最近在设计问卷系统的数据库表,考虑使用 mysql 。头疼 ing 。。
jucelin
2022-02-10 10:44:43 +08:00
@yurong333333 #23 可以说说具体遇到了啥问题
yurong333333
2022-02-10 13:46:32 +08:00
@jucelin 您好。创建问题所关联的表有三张,survey ,question ,option 。问题有单项选择,多项选择,单项填空。前端传递 json 形式的问卷数据进来,然后我拆分存进三张表。不知道这做法妥不妥当?另外大佬是存 json 进去数据库的吗?如果以后要扩展其他问题类型,我感觉我的 Question 类不知道要怎么写。感谢!
jucelin
2022-02-10 14:17:17 +08:00
@yurong333333 #25
我省略了 option 表,直接拼 json 存 question 表。在存答卷结果时,同时存选项的 真实值 和 展示值。
另外,在发布的时候,把所有的问题(含选项)整理成 1 个 json 存 survey 表,用户答卷的时候只查 survey 表。

问题类型拓展:后端可以单纯的理解为 单项填空,只不过前端的展示显示不同。我支持了 省市县选择器、手机号、身份证、日期、文件上传等
yurong333333
2022-02-10 17:27:11 +08:00
@jucelin 感谢大佬给的思路。确实存 json 能够统一 Question 类。另外还有一些问题想咨询,感谢感谢。

1 、在问卷问卷答题情况,岂不是得去遍历答卷结果?我是想设计一个表来存一下统计结果。
2 、不知道市面的问卷系统是怎么存问卷数据的,很好奇。
3 、您以前的项目能开源看看吗?不胜感激。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/368929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX