动态表单的数据库结构设计的三种方案

1.一个表单对应数据库的一张或多张物理表(主从表),这种设计在很多业务的情况下,其数据库的物理表会不断膨胀,同时,当修改表单时,其对应的物理表结构也需要修改,当物理表有很多数据时,改变物理表scheme会锁表,导致在线应用无法访问这些表。(类似于我们公司的编目管理)

2.利用横向表纵向存储的思路,即一张物理表保存的是所有表单对应的字段信息和对应的值,这样的好处就是扩展表单(如添加一个字段)时只需要往这样表插入一条数据,但随着表单的增加,这张表的信息量将成倍数级增长,同时对后边数据的呈现,数据的统计查询造成很大影响。

3.利用现在的无scheme数据库及nosql数据库进行表单字段及值(key:value)的存储,这样修改表单很方便,但对于数据存储每次都需要解析html有哪些字段(key)需要存储到数据库,还有其值是什么,同时,对于后面的数据统计,报表展现也难以实现,因为像mongodb这样的数据库,对数据统计的功能还是非常弱的。

你可能感兴趣的:(数据库)