我可以在数据库设计中避免关系循环吗?

时间:2016-01-03 10:47:40

标签: postgresql database-design

我尝试为下面显示的案例设计数据库表。我也定义了一个帐户,但对我的问题并不重要。

  

有一份操作清单(费用)。每个操作都可以在指定的POI中进行,地点可以按链分组(可选)。每个操作都可以有一个收件人,特别是一个连锁店。

我目前的设计如下所示。我甚至可以删除链表以支持直接引用收件人,但它仍然在表之间留下循环。实际上,单行可以包含对已定义不同收件人的放置和接收帐户的引用。

database design

我能看到的唯一解决方案是表格检查以排除所描述的情况,但我想知道:有更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

据我所知,您的设计没有任何根本性的错误。因为它包含一个循环,所以不需要改变它。在这种情况下,循环甚至看起来不是循环依赖。如果您认为您当前的设计准确地模拟了它的目的,那么我认为没有必要改变它。