日期:2014-05-17  浏览次数:20553 次

会议表里面要记录参加会议的人员名字,怎么设计呢
数据库中要记录一个会议表,会议表里面要记录参加会议的人员名字(如张三、李四、王五等),当然还有很多其它与会议相关的内容字段,参加会议的人数不固定,可能只有两三个,也可能有二三十个, 读取表里面内容的时候:

1.读取参加一个会议的所有人的名字的需要是肯定是有的  
2.同时也可能有根据某个人的姓名读取他参加过的会议  

这样的话,我的会议表应该怎么设计:
1.是一个会议一条记录,所有参会人员放一个字段,
2.还是把参会人员做成单独的表,一个人员一条记录,用会议ID做外键
3.还是结合上面两种实现,虽然有冗余,但对两个需要的实现都方便了

大家帮忙提点意见,拜求更好的方法。。。

------解决方案--------------------
1.是一个会议一条记录,所有参会人员放一个字段,
这个设计方案可以 插入数据的时候用分隔符隔开如张三,李四,王二麻子
当你要查询张三参加过的会议的时候可以模糊查询 select * from 会议表 where 参会人员 like‘%张三%’

2.还是把参会人员做成单独的表,一个人员一条记录,用会议ID做外键
这个方法和第一种方法不是一样吗?只是插入的是ID而已 1,2,3查询的时候还不好查 如果超过十你要查ID=1的参加过的会议怎么查????
------解决方案--------------------
可以考虑使用XML类型来存放与会人员。一列就可以存放完所有人员,只要取出来解析就可以拉
------解决方案--------------------
探讨
第二种方法的话设计用户ID最好弄成00001、00002 那样就不会出现查询ID=1的时候把11查出来了

------解决方案--------------------
看你最终想要什么,是想先看一个会议列表,比如哪些时间内一共有多少个会议,点进去再看参加的人的话 做成两张表.