1、我要实现的功能描述
要实现一个分类信息,分类信息里面包括 求职、餐饮等等的不同模块,而且这个是要允许用户通过后台添加模块的,但是求职需要填写的参数为学历,所学专业等 餐饮的为地区等参数。这就要求设计好数据库。
2、数据库设计方案
以下方案中都存在一张参数和模块的对应关系表(用来记录学历属于求职模块,地区属于餐饮模块 这样的表一张)
1)、每添加一个功能模块自动生成一个数据表,然后根据添加的参数生成字段
2)、一张分类信息表,所有的分类信息全部放这个表里面,同时不管哪个模块增加一个参数,都在这个表里面增加对应的一列
3)、一张分类信息表,还有一张参数信息保存表,分类信息表中,保存公用的字段,然后把各个参数的信息保存到一张表里面
列1 列2 列3
1号信息 1号参数 用户填写的值
1号信息 2号参数 用户填写的值
1号信息 3号参数 用户填写的值
不知道哪种方案比较合适,请各位帮我做个选择,如果有更好的方案,希望能给我一些建议。
1)肯定不可取。
2)增加列要修改表结构,也不可取
3)基本是对了!
需要四张表应该能满足你的需求:
分类信息主表:Information,参数表Parameter,参数的分类表PCategory,关联表Infor_Para
主要结构如下:
Information字段:ID,Title,***,公用字段
Parameter字段:PID,CateID,***,参数的其他字段。访表不断增加。
PCategory字段:CateID,CateName,CateOther,***。该表为独立结构。
Infor_Para字段:ID,PID即Information和Parameter的主键字段。
我有点迷糊..你的这个需求不是很明白,你是不是要是实现一个字典表?.如果只是管理、学历〔大专、高中〕这样的数据的话.一个表就足矣。
数据ID、分类名称、分类标示、字段键、字段值、是否启用、就可以了啊。比如学历
1,学历参数,Education,大专,College,1
2,学历参数, Education,高中,middle ,1
得到学历参数、只要 select 字段,字段值 from 字典表 where 分类标示='Education'
如果你应用了数据缓存,应该会更好。
维护,这样的参数信息,也就维护 〔分类名称、分类标示、字段键、字段值、是否启用〕简单吧。