【发布时间】:2021-01-24 22:26:45
【问题描述】:
堆垛机你好!
我已经建立了一个图书馆数据库,我想知道.. 我正在复制和贷款之间建立一对一的关系。以及从用户到贷款的一对多关系。
由于一次只能为一本书的副本分配一笔贷款,并且一次贷款应该只能包含一本书的副本。如果他们租用其他书籍,那就是多次贷款。
一个用户应该可以进行多笔贷款,但一个贷款只能分配给一个特定的用户。
我目前这三个表之间的关系是否正确? 如果没有,我很想知道如何解决它,以及我在这个问题上的逻辑失败的原因。
提前谢谢你!
【问题讨论】:
-
对我来说看起来不错,但是为了证明您的逻辑,您可能需要 Loans 表上的条件唯一索引
-
这是错误的——你并没有真正改变你之前关于关系的问题。但是你应该有一些基本的用例来评估你的设计。其中之一应该是这样的:用户 x 签出书 y 并返回它。用户 Y 在这本书被归还后的第二天查看了这本书。你的设计支持这个吗?应用相同的过程来生成您的用例并验证所有其他关系。
-
我使用“错误”一词是因为这是图书馆的主要目的之一——一遍又一遍地借出同一本书。随着时间的流逝,该系统还必须满足许多其他条件才能正常工作。书籍丢失、被卖掉、停止流通等。贷款没有按时归还。贷款延期。书籍并不是图书馆借出的唯一物品。有些东西他们根本不借——比如期刊。这些是基本设计的明显复杂性,但没有人知道您的最终目标是什么。
标签: sql sql-server foreign-keys relationship database-diagram