在图书馆管理系统中,如何使学生在取书时保持交易...。我有两个表Student和Book,它们之间存在一对多的关系。现在,如果有任何学生发行5本不同的书,那么该信息是如何存储在数据库中?请帮忙

最佳答案

一个学生可以借零或更多本书,一本书可以借零或更多学生。这是一本教科书,多对多关系,需要第三张桌子

所以您需要一个具有这样结构的借阅表

Create Table Borrows
(
  IDBook int not null,
  IDStudent int not null,
  BorrowDate smalldatetime not null,
  ReturnDate smalldatetime null,
  BookStatusBefore nvarchar(32) not null,
  BookStatusAfter nvarchar(32) not null
)

-- Primary key on IDBook+IDStudent....
ALTER TABLE Borrows ADD CONSTRAINT PK_Borrows PRIMARY KEY CLUSTERED
(
IDBook,
IDStudent
)


现在,您可以注册借阅事件,并跟踪书籍的下落以及有关事件本身的其他历史信息。

08-25 13:14