黑马程序员技术交流社区

标题: 关于数据库设计,没有思路了 [打印本页]

作者: zhy0372    时间: 2017-1-21 12:11
标题: 关于数据库设计,没有思路了
请大家提供个思路:
公司组织5-20会议,会议会员(不注册)可以自己通过网页提交参加会议申请,提交申请的页面有会议列表的多选框(从数据库中读取,可以通过后台管理页面开启和关闭或者添加会议)和参加会议所必须的信息项需填写,一个人可参加多个会议,一个会议有多人参加,我如何设计数据库,可以查一个人参加过哪些会议,也可以查一个会议都有哪些人参加。
有一个会员表,会员信息
一个会议表,会议信息
一个管理员表,管理员


作者: huawei    时间: 2017-2-10 13:36
表设计(只列出了必须的字段,其他字段根据需要自行设计)
会员表:id,会员名称,其他会员信息等。。。
会议表:id,会议名称,日期,备注等。。。
会议记录表:id,会议id,会员id 等

查一个人参加过的会议:比如查询张三参加的会议
select 会议名称,日期,会员名称
from 会议表, 会员表, 会议记录表
where 会议表.id = 会议记录表.会议id
and 会员表.id = 会议记录表.会员id
and 会员表.name = '张三'

查询一个会议由那些人参加
select 会议名称,日期,会员名称
from 会议表, 会员表, 会议记录表
where 会议表.id = 会议记录表.会议id
and 会员表.id = 会议记录表.会员id
and 会议表.会议名称 = '会议名称'

作者: happyface    时间: 2017-2-10 14:47
为了实现表之间多对多的关系,必须将一个多对多的关系通过一个中间表分为两个一对多的关系。因此引入第三张表
作者: zhy0372    时间: 2017-2-11 23:16
谢谢老师,思路有了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2