在图书馆管理系统中,如何使学生在取书时保持交易...。我有两个表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
)
现在,您可以注册借阅事件,并跟踪书籍的下落以及有关事件本身的其他历史信息。