尝试制作Reddit的ER图
Attempt to make ER diagram of Reddit
我正在尝试设计 Reddit 的 ER 图作为项目的一部分。
我主要需要 post 和评论方面的帮助。
在我看来,posts 和评论有几个共同的属性和关系,所以我尝试创建一个名为 Thread 的 parent 实体作为 EER 图。一条评论链接到另一条评论或 post。因此 'points to' 的关系连接到 Thread 实体。
评论和post共同的其他关系是与Report的关系,与Award的关系。等等
另一种选择是将 Post 和 Comment 分开,并一起摆脱 Thread 并单独建立关系。
我的疑问是,这是正确的吗?或者这是我们能做到的最好方法吗?
更新图:
在你的图表中看起来没有任何东西依赖 Comment
到 Post
。我的意思是没有添加关系:Many Comment have One Post
、One Post have Many Comment
。因为我假设 Comment
只存在于 Post
上。如果 Post
被删除,所有 Comment
也会被删除。也许你应该依靠他们 ManyToOne
, OneToMany
关系。
我认为您使用的继承没有指定我上面提到的关系。您实际上或多或少只是将继承用作公共属性的提供者。我不确定这是好事,因为实际上 Post
会继承 points to
.
的关系
通过使用这个继承你说:
- 一个
Post
或一个 Comment
与 OneToMany Comment
有关(<== 你应该使用零或多);
也许为了简单起见,您应该这样做:
Post
ZeroToMany Comment
(零个或多个)
Comment
OneToOnePost
(唯一一个)
Comment
ZeroToMany Comment
(自参考)
Comment
ZeroToMany Comment
(自参考)
我试着说明我在想什么:
此外,您需要这个 VOTE
实体来跟踪哪个用户对贡献投了赞成票或反对票。
请注意,我并不真正了解 Reddit,所以我依赖堆栈溢出 post 和评论系统。
我正在尝试设计 Reddit 的 ER 图作为项目的一部分。
我主要需要 post 和评论方面的帮助。
在我看来,posts 和评论有几个共同的属性和关系,所以我尝试创建一个名为 Thread 的 parent 实体作为 EER 图。一条评论链接到另一条评论或 post。因此 'points to' 的关系连接到 Thread 实体。
评论和post共同的其他关系是与Report的关系,与Award的关系。等等
另一种选择是将 Post 和 Comment 分开,并一起摆脱 Thread 并单独建立关系。
我的疑问是,这是正确的吗?或者这是我们能做到的最好方法吗?
更新图:
在你的图表中看起来没有任何东西依赖 Comment
到 Post
。我的意思是没有添加关系:Many Comment have One Post
、One Post have Many Comment
。因为我假设 Comment
只存在于 Post
上。如果 Post
被删除,所有 Comment
也会被删除。也许你应该依靠他们 ManyToOne
, OneToMany
关系。
我认为您使用的继承没有指定我上面提到的关系。您实际上或多或少只是将继承用作公共属性的提供者。我不确定这是好事,因为实际上 Post
会继承 points to
.
通过使用这个继承你说:
- 一个
Post
或一个Comment
与 OneToManyComment
有关(<== 你应该使用零或多);
也许为了简单起见,您应该这样做:
Post
ZeroToManyComment
(零个或多个)Comment
OneToOnePost
(唯一一个)Comment
ZeroToManyComment
(自参考)Comment
ZeroToManyComment
(自参考)
我试着说明我在想什么:
此外,您需要这个 VOTE
实体来跟踪哪个用户对贡献投了赞成票或反对票。
请注意,我并不真正了解 Reddit,所以我依赖堆栈溢出 post 和评论系统。