Form表单域的动态设计-竖表方式存储数据的优势(3)
2013-12-18 11:37
253 查看
在前面(1)(2)中分析了表单域的动态实现。也就是说表单域或者说页面显示的每一个控件不是写死的html标签。而是根据检索数据作循环以及判断动态生成的表单。
那么这种设计的优势在于可以通过直接改变数据库中对表单域的表进行修改来实现页面显示的的表单域的修改。那么这个动态的表单提交以后,数据的记录又该怎样存储呢?
首先看一下表单域的来源数据表以及页面表单的表现形式:
数据表:
页面的显示:
很显然页面的显示的表单域都是来源于上一张截图的数据表。那么就有如下的问题:
当提交表单的时候这些表单的数据应该如何存储呢?
1.设计包括表单域中28个字段的一张表?但是这样的动态的表单域的设计就是为了能够使表单可以随着不同的需求进行变化 。
如果删除了表单域中的字段到是影响不是太大,如果增加了或是修改表单域的字段,那么表单提交存储到数据库中的时候必然会丢失字段,严重的情况会造成程序的运行错误。
2.采用竖表的方式:
采用竖表的方式分析如下:简历一张专门存储表单value的表。如下图:
这个表单value的表核心的字段是fied_id 和value。
这样一来,当在表单提交的时候,将每一个表单域和value值作为一条记录存储到数据库中。每一次表单提交,实际上是向这个表中插入了多条记录,而这个多条记录组成了表单一次提交的一条数据。
也就说,数据的存储有传统的横向存储,转变成了纵向存储。这样以来就解决了前面第一种方案所不能解决的问题。也使得这样的设计做到了完全的动态话。
在数据显示的时候,只要将根据设定的主键将竖表转换成横向显示就可以了(sql语句实现)
简单的说:竖表存储解决了一个问题:使得动态数据不受横表字段数目固定的限制。
那么这种设计的优势在于可以通过直接改变数据库中对表单域的表进行修改来实现页面显示的的表单域的修改。那么这个动态的表单提交以后,数据的记录又该怎样存储呢?
首先看一下表单域的来源数据表以及页面表单的表现形式:
数据表:
页面的显示:
很显然页面的显示的表单域都是来源于上一张截图的数据表。那么就有如下的问题:
当提交表单的时候这些表单的数据应该如何存储呢?
1.设计包括表单域中28个字段的一张表?但是这样的动态的表单域的设计就是为了能够使表单可以随着不同的需求进行变化 。
如果删除了表单域中的字段到是影响不是太大,如果增加了或是修改表单域的字段,那么表单提交存储到数据库中的时候必然会丢失字段,严重的情况会造成程序的运行错误。
2.采用竖表的方式:
采用竖表的方式分析如下:简历一张专门存储表单value的表。如下图:
这个表单value的表核心的字段是fied_id 和value。
这样一来,当在表单提交的时候,将每一个表单域和value值作为一条记录存储到数据库中。每一次表单提交,实际上是向这个表中插入了多条记录,而这个多条记录组成了表单一次提交的一条数据。
也就说,数据的存储有传统的横向存储,转变成了纵向存储。这样以来就解决了前面第一种方案所不能解决的问题。也使得这样的设计做到了完全的动态话。
在数据显示的时候,只要将根据设定的主键将竖表转换成横向显示就可以了(sql语句实现)
简单的说:竖表存储解决了一个问题:使得动态数据不受横表字段数目固定的限制。
相关文章推荐
- 智能表单设计器Web Free Form Designer:FreeForm动态数据验证和动态自动计算
- 动态产生的持久模型和数据存储的设计模式
- C++中的数据存储方式自动存储、静态存储和动态存储
- form 表单域的动态设计-customized tab information 模块代码开发总结(1)
- 智能表单设计器Web Free Form Designer:FreeForm模板及数据存取方式
- 工厂设计模式 - 数据存储的特有方式
- 智能表单设计器Web Free Form Designer:FreeForm动态数据验证和动态自动计算
- 存储动态数据时,数据库的设计方法
- 数据库的动态数据存储设计
- form表单域的动态设计的代码实现-customized tab information 模块代码开发总结(2)
- iOS数据存储的常用方式
- android中数据的存储方式(Internal Storage)
- 实训汇编语言设计——存储区数据传输
- 使用动态assign的方式,在被调用的程序中,使用主程序的数据
- Android的数据存储方式
- 数据存储方式、传输方式、字节序问题总结
- 简单来说 数据结构有哪些? 存储方式上:链表形式,数组,
- Android数据存储方式
- 小猫统计form方式编辑数据使用下拉框出现错误提示
- 数据的五种存储方式