首页 新闻 会员 周边 捐助

数据库设计问题 各位大大帮我拿个主意

0
悬赏园豆:20 [已关闭问题]

1、我要实现的功能描述
  要实现一个分类信息,分类信息里面包括 求职、餐饮等等的不同模块,而且这个是要允许用户通过后台添加模块的,但是求职需要填写的参数为学历,所学专业等 餐饮的为地区等参数。这就要求设计好数据库。
2、数据库设计方案
  以下方案中都存在一张参数和模块的对应关系表(用来记录学历属于求职模块,地区属于餐饮模块 这样的表一张)
  1)、每添加一个功能模块自动生成一个数据表,然后根据添加的参数生成字段
  2)、一张分类信息表,所有的分类信息全部放这个表里面,同时不管哪个模块增加一个参数,都在这个表里面增加对应的一列
  3)、一张分类信息表,还有一张参数信息保存表,分类信息表中,保存公用的字段,然后把各个参数的信息保存到一张表里面
  列1      列2          列3   
1号信息    1号参数  用户填写的值
1号信息    2号参数  用户填写的值
1号信息    3号参数  用户填写的值

不知道哪种方案比较合适,请各位帮我做个选择,如果有更好的方案,希望能给我一些建议。

阿太的主页 阿太 | 初学一级 | 园豆:132
提问于:2009-09-21 08:07
< >
分享
其他回答(1)
0

1)肯定不可取。

2)增加列要修改表结构,也不可取

3)基本是对了! 

需要四张表应该能满足你的需求:

分类信息主表:Information,参数表Parameter,参数的分类表PCategory,关联表Infor_Para

主要结构如下:

Information字段:ID,Title,***,公用字段

Parameter字段:PID,CateID,***,参数的其他字段。访表不断增加。

PCategory字段:CateID,CateName,CateOther,***。该表为独立结构。

Infor_Para字段:ID,PID即Information和Parameter的主键字段。

 

邀月 | 园豆:25475 (高人七级) | 2009-09-21 08:21
0

我有点迷糊..你的这个需求不是很明白,你是不是要是实现一个字典表?.如果只是管理、学历〔大专、高中〕这样的数据的话.一个表就足矣。

数据ID、分类名称、分类标示、字段键、字段值、是否启用、就可以了啊。比如学历

1,学历参数,Education,大专,College,1

2,学历参数, Education,高中,middle ,1

得到学历参数、只要 select 字段,字段值 from 字典表 where 分类标示='Education'

如果你应用了数据缓存,应该会更好。

维护,这样的参数信息,也就维护 〔分类名称、分类标示、字段键、字段值、是否启用〕简单吧。

邢少 | 园豆:10926 (专家六级) | 2009-09-21 09:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册