我正在建立一个图书馆数据库,我陷入了一件特殊的事情。
我有三张桌子:BookCopyBookLoanMembers。我不清楚如何建立它们之间的关系,所以一个成员可以借一本书(或多本书),所有这些都可以正确地反映在我的数据库中。
我的想法是有两个多对多的表,所以我添加了BoakLoansMembersBookCopiesBookLoans。我不确定这是否正确,即使是,我也不知道怎么剪这么多桌子。
所以,现在我想知道,在这种情况下,什么是最好的做法,为什么?
mysql - 在三个表之间建立关系的正确方法-LMLPHP

最佳答案

您可以在成员和bookcopy之间建立m:m关系,并使用bookloan表作为交叉联接表。所以基本上只需将来自表成员和bookcopy的引用添加到表bookloan

  BookLoan
  ---------------
  idBookLoan
  dateLoaned
  dateReturned

  idBookCopy  FK -- add these two
  idMember    FK

还可以考虑将idbookcopy、idmember和dateloaned作为bookloan表的主键

08-19 16:32