代码改变世界

动态表单数据库设计

2013-09-26 09:23  Virus-BeautyCode  阅读(...)  评论(...编辑  收藏

 

存储结构去业务化

 

 

参数

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

 

扩展属性

 

属性组:

个人联系人属性组:姓名,电话,手机,电子邮件

企业联系人属性组:姓名,部门,职务,电话,手机,电子邮件

银行账户属性组:开户行名称,开户名称,开户账号

工作经历属性组

教育经历属性组

 

 

属性模板:

一个模板包含多个属性组

注册用户模板:银行账户属性组,工作经历属性组,教育经历属性组

 

 

动态表单

后台为表单选择属性模板,以及配置属性模板的显示顺序,可见性等等,前台根据后台选择的模板动态生成表单页面,也可以在后台配置好属性模板之后生成表单页面,也就是表单页面的静态化,这样可以提高表单页面的访问效率。