我需要知道我在多对多表之间建立的关系是否正确。Books_Authors = 书籍应该可以有多个作者,作者应该可以分配给多个书籍,对吗?
贷款表,我的建议是一个用户应该能够进行多次贷款,但一本书的副本应该一次只能借一次。正确的?
我的关系和密钥设置是否正确以支持这种逻辑?
我需要知道我在多对多表之间建立的关系是否正确。Books_Authors = 书籍应该可以有多个作者,作者应该可以分配给多个书籍,对吗?
贷款表,我的建议是一个用户应该能够进行多次贷款,但一本书的副本应该一次只能借一次。正确的?
我的关系和密钥设置是否正确以支持这种逻辑?
首先,设计非常好!你在正确的轨道上,这是肯定的。一些(自以为是(这是你能做的最好的,因为没有一个完美的设计))评论:
作为一般方法,这看起来是一个很棒的开始。
'Copies' 表上非常好的拾取 - 我想大多数人会错过第一次尝试。
您的多对多表(Books_Authors 和 Loans)中的正确关系(外键)存在一些问题 - 我建议您看看它们。
我认为您需要考虑的问题之一是“我们是否希望数据仅代表当前状态,还是我们也希望保留历史记录?”
您对此的回答将影响设计——尤其是在副本和贷款表周围。
如果您只代表当前状态,那么您可能不需要 Loans 表。相反,针对每个副本,只需保存 User_ID 和相关日期。借出时,更新用户 ID 和日期;返回时,将这些日期设为 NULL。
但是,如果您想要历史记录(我猜您会这样做),那么您可能需要开始添加一些内容
需要考虑的其他几件事