我正在创建一个图书馆管理系统。
在我的程序中,每个用户都可以借阅一些书籍,然后我应该将这些书籍信息(如书名,书籍isbn,借用日期)保存到我数据库的表格中。
我系统中的每个用户都有一个主键(ID),我想使用这种方法:
当用户想借书时,书籍信息应保存在我的数据库中的表格中,但现在,每行ID
中的userBooksTable
号码都是重复的。
有没有更好的解决方案?
答案 0 :(得分:1)
您的表格布局可能与此类似:
books
-----
id (pk)
isbn
name
user
----
id (pk)
name
...
borrow
------
userId (pk, fk)
bookId (pk, fk)
date (pk)
因此主表格将是borrow
,其中包含用户借用哪个日期的图书的数据。所有列都是主键的一部分,因为用户可以在不同的日期多次借一本书(假设它在两者之间返回;))。
您可能需要更多信息(例如,如果用户一次借用多份副本或退回书籍等),但我会留给您。
或者,您可以将isbn用作图书的ID,具体取决于它是否是唯一的,例如您可以在书上找到包含isbn,name等的bookinfo
表,并在books
表中包含该书的一个具体副本的数据。