多对多连接,为什么一定需要中间表????
这问题没想明白,哪位大哥指点指点

解决方案 »

  1.   

    书表                               作者表
    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
      

  2.   

    N:M 在关系数据库设计中一定是把这个联系放到一个单独的表中。
    建议你可以看一下数据库设计基础
    http://office.microsoft.com/zh-cn/access/HA012242472052.aspx关于设计数据库
    http://office.microsoft.com/zh-cn/access/HP051891362052.aspx