Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 用于添加表之间关系的设计规则_Database_Database Design - Fatal编程技术网

Database 用于添加表之间关系的设计规则

Database 用于添加表之间关系的设计规则,database,database-design,Database,Database Design,全部。原谅我,我在DB设计方面不强 这是这个图表的循环参考吗 由于您选择的表名,我不确定这是什么上下文 严格地回答你的问题,我认为这张图应该正常化吗?我的回答是:不,它没有正常化 您不需要并且应该删除寄存器和接收器之间的关系。您可以通过Bill从Receipes one进入Registers表 一些命名建议: 表名称应为单数 作为个人偏好,我更喜欢将表的PK命名为TableNameID,例如BillID 我认为收据实际上是收据,但这只是我的猜测。 如果您有任何疑问,或者您需要一个带有疑问的示例,

全部。原谅我,我在DB设计方面不强

这是这个图表的循环参考吗


由于您选择的表名,我不确定这是什么上下文

严格地回答你的问题,我认为这张图应该正常化吗?我的回答是:不,它没有正常化

您不需要并且应该删除寄存器和接收器之间的关系。您可以通过Bill从Receipes one进入Registers表

一些命名建议:

表名称应为单数

作为个人偏好,我更喜欢将表的PK命名为TableNameID,例如BillID

我认为收据实际上是收据,但这只是我的猜测。 如果您有任何疑问,或者您需要一个带有疑问的示例,请告诉我

更新:

如果您需要有关标准化的更多信息,请查看以下内容:。 在那里,你会找到一个非常好的解释,说明正常化是什么,以及为什么你需要考虑它。p>
这就是为什么要删除寄存器和接收器之间的关系:以避免冗余数据和数据损坏问题。

为什么要删除寄存器和接收器之间的关系?它背后的规则是什么?请再多告诉我一些。谢谢你。图表上有点输入错误。账单应该是账单。我不认为收款人和寄存器之间的关系必然不存在——账单收款人可以是可选值,如果没有关系,那么收款人可能仍然需要与寄存器相关。从收款人到收款人的直接关系与通过账单的直接关系不同,这也可能是正确的。@Davidadridge,对不起,但我不确定我是否理解你的意思。你介意把你的评论改一下,这样更清楚吗?谢谢。假设登记簿、账单、收据实际上是地点、部门和人员。一个地点有很多部门,很多人。部门有很多人。但也许一个人有一个位置,但没有一个部门。或者他们有一个部门,但与他们的部门位于不同的位置。因此,这种关系可以是可选的,也可以导致一个人直接和通过部门有效地拥有两个相关的位置。这有意义吗?