这是我的表说明:
用户
文章
注释
正如你所看到的,我在这个设计中有一个圆圈,你有任何想法阻止这个吗?
答案 0 :(得分:0)
没有圆圈(或者更准确地说,是一个循环)。
数据库关系是方向性的,所以我们在这里有:
Article --(User_ID)------> Users
^ ^
| |
(Article_ID) |
| |
Comment------(User_ID)------|
您可以通过两种不同的方式访问用户,但这不是一个循环。
文章和评论中的User_ID
可能意味着两个不同的东西,所以这是一个非常好的设计。
答案 1 :(得分:0)
如果我错了,请纠正我,但我假设这是你当前的模特:
User
可能有多个Article
s User
文章Comment
Article
可能有多个Comment
s 这是一个没有循环引用的有效模型。
User_ID
用于不同的上下文;而且,即使有循环引用,它们也不错本身 - 只是针对某些特定情况的解决方案。 Oracle和MS SQL等数据库通过可延迟外键支持它们。