我目前正在开发一个应用程序,我们基本上是在“项目”之间建立一个图表。我认为这些项目之间存在不同类型的链接,但我现在正在努力决定如何对这些进行建模,尤其是双向链接。
1. 示例:
ItemB --isChildOf---> ItemA
ItemA --isMasterOf--> ItemB
我认为可以这样建模:
示例 2
ItemA <---> ItemB
在我的数据库模型中,我目前对链接建模如下:
* sourceID
* targetID
* relationType (e.g. isMasterOf, isChildOf, maybe more...)
我是否还需要将方向作为表格中的字段?到目前为止,我还没有将它作为一个单独的字段,因为 IMO 方向是由 sourceID 和 targetID 隐式定义的。
我不确定在哪些情况下需要示例 1,以及在哪些情况下示例 2 就足够了。我认为示例 1 就像 twitter,其中 UserA 可以关注 userB,但反过来可能不行。另一方面,我认为 Facebook 始终是 Example2。
希望我的问题有意义。