多对多连接,为什么需要中间表????

haoxue999 2009-08-28 09:29:59
多对多连接,为什么一定需要中间表????


这问题没想明白,哪位大哥指点指点
...全文
1485 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-08-28
  • 打赏
  • 举报
回复
建议你可以看一下《数据库系统概论》中关于数据设计这部分。
ACMAIN_CHM 2009-08-28
  • 打赏
  • 举报
回复
N:M 在关系数据库设计中一定是把这个联系放到一个单独的表中。
建议你可以看一下

数据库设计基础
http://office.microsoft.com/zh-cn/access/HA012242472052.aspx

关于设计数据库
http://office.microsoft.com/zh-cn/access/HP051891362052.aspx
阿_布 2009-08-28
  • 打赏
  • 举报
回复
书表 作者表
id 书名 作者id id 作者姓名 书id
1 s1 1,2,3 1 z1 1,2,3
2 s2 2 2 z2 2,3
不加中间表数据就是这个样子,数据的原子性都不满足,比如你要查询id为1的作者写过的书名怎么查?
加个中间表如:上面两个表的作者id和书id去掉。
作者id 书id
1 1
1 2
这样上面的问题就可以通过连接查询来做了。

select 书名 from 书表 s,作者_书表 sz,作者表 z where s.id=sz.书id and z.id=sz.作者id
and z.id=1
haoxue999 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwwwb 的回复:]
引用 3 楼 haoxue999 的回复:
哪位大哥能详细举例,多对多连接使用中间表的问题,我想了很久了,一直没想明白,不加中间表会有什么问题????

举例说明
[/Quote]

例如书和作者的关系,一本书有多个作者,一个作者可以写多本书,谢谢楼上大哥分析分析
wwwwb 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 haoxue999 的回复:]
哪位大哥能详细举例,多对多连接使用中间表的问题,我想了很久了,一直没想明白,不加中间表会有什么问题????
[/Quote]
举例说明
haoxue999 2009-08-28
  • 打赏
  • 举报
回复
哪位大哥能详细举例,多对多连接使用中间表的问题,我想了很久了,一直没想明白,不加中间表会有什么问题????
nianzhang747 2009-08-28
  • 打赏
  • 举报
回复
可以看看数据库设计书 关于范式的部分

中间表建立便于维护与查询等系列操作。。。还有很多 。。。

wwwwb 2009-08-28
  • 打赏
  • 举报
回复
详细说明问题

56,801

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧