sql server 2005 多对多的建立

来源:百度知道 编辑:UC知道 时间:2024/06/14 03:38:44
看了好多,有点晕,而且我想知道的都没有看到,故发帖求助。
大家从我的例子来说明下吧。
我这有2个表,是多对多的关系,在一个书站里,一个user表的用户可以拥有多本书,一个book表的一本书可以被多个用户拥有。user表的主键是user_id,
book表的主键是book_id,多对多的关系,我建了第三张表T_USER_BOOK,是不是在这张表中放入user_id和book_id,那还要把这两个都设置成外键吗?一个表可以有两个外键的吗?或者还是说用其他的办法??

专业的说,那不叫一个表有两个主键,一个表肯定是只有一个主键的,只是这个主键不是单一的字段构成,而是2个字段,这叫做联合主键

你这种情况我有做过,一般情况下,一张表是只有一个主键,但在一种情况下,可以有两个主键,就是多对多的关系,再建中间表,也就是你(T_USER_BOOK)表,里面只有user_id和book_id两个字段,把这个两个字段同时设置为主键就没有什么问题了!!