动态表单的设计思路

zhoufifi 2013-01-16 11:43:23
利用在线编辑器设计的表单,包含输入框,明细表(动态添加行)等需要存储到数据库的信息,现在有三种思路:

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

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

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

有哪位大牛做过类似的动态表单设计器,可以说一下你的实现思路吗?
...全文
682 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
virusswb 2013-08-29
  • 打赏
  • 举报
回复
存储结构去业务化 参数 key/value 通常系统参数就是这样,很多配置项也是键值的。例如:分配比例,网站title,某某时间。 码表分为两种: 1、一种是没有层级的 也就是用组就可以表达的。例如:性别,状态。 2、一种是有层级的 树形的。例如:地域,树形分类。 树形有些是无限层级的,有些也就是几层。 码表 分组:性别组,状态组 码表分组 编号 名称 001 性别 002 状态 码表值 分组编号 码 值 排序 001 001001 男 10 001 001002 女 20 002 002001 冻结 10 002 002002 等待 20 002 002003 进行 30 002 002004 完成 40 性别组:男,女 状态组:冻结,等待,进行,完成 有层级关系的码表 码表分组 编号 名称 001 地域 002 行业 003 度量单位 码表值 分组编号 码 上级码 值 排序 001 001001 0 北京 10 001 001002 0 上海 20 001 001001001 001001 海淀 10 002 002001 0 IT 20 002 002002 0 财务 30 002 002001001 002001 软件 40 003 003001 0 体积 10 003 003001001 003001 升 20 003 003001002 003001 毫升 30 003 003002 0 面积 10 003 003002001 003002 亩 20 003 003002002 003002 公顷 30 扩展属性 属性组: 个人联系人属性组:姓名,电话,手机,电子邮件 企业联系人属性组:姓名,部门,职务,电话,手机,电子邮件 银行账户属性组:开户行名称,开户名称,开户账号 工作经历属性组 教育经历属性组 属性模板: 一个模板包含多个属性组 注册用户模板:银行账户属性组,工作经历属性组,教育经历属性组 动态表单 后台为表单选择属性模板,以及配置属性模板的显示顺序,可见性等等,前台根据后台选择的模板动态生成表单页面,也可以在后台配置好属性模板之后生成表单页面,也就是表单页面的静态化,这样可以提高表单页面的访问效率。
zhoufifi 2013-01-17
  • 打赏
  • 举报
回复
到底如何解决?
飘逸的风衣 2013-01-16
  • 打赏
  • 举报
回复
我不是大牛0-0。 我用的是冗余字段。 一个存值表,一个属性映射表。
女雅乱 2013-01-16
  • 打赏
  • 举报
回复
mark 等大牛
likj_sh_qq 2013-01-16
  • 打赏
  • 举报
回复
同等大牛的出现。

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧