经常有很多VForm的用户大佬咨询,要使用VForm这种非常灵活的前端表单,后端对应的数据库应该如何设计?
作为一个曾经的全栈工人,这里给出几个比较浅显的解决方法:
- 最简单的方法,当然是用NoSQL数据库或者SQL数据库的json字段类型
NoSQL数据库一般就选择Mongo DB,MySQL 5.7以上版本新增json字段类型,都可以用于保存动态表单的数据。
这种方法的优势就是足够简单,缺点也很明显,查询数据和统计分析都不太方便,尤其是表单数据结构经常变动的场景。
- 第二种方法,可以用SQL数据库的列式存储
这种方法相当于将数据库表的一行保存一条数据记录,调整为多行保存一条数据记录,每一行对应一个表单字段,在后端接口开发上需要作出相应的调整,缺点依然是查询数据和统计分析都不太方便。
- 第三种方法,用支持实体字段动态增删的ORM来实现数据存储。
可以基于JDBC封装一个动态调整表结构的ORM,表单的每一个字段对应于数据库表的每一列。
这种方式的优点是查询数据和统计分析比较方便,缺点是复杂度高,非专业、资深后端人员不推荐使用。
以上建议仅供参考!仅供参考!!