标签、评论、评分等数据库设计
我想为我的实体实现评论、评级、标签等模块。 我的想法是:
comments_table -> comment_id, comment_text
实体1 -> 实体1_id,实体1_文本
实体2-> 实体2_id,实体2_文本
实体1_评论-> 实体1_id,评论_id
实体2_评论-> entity2_id、comment_id
....
这种方法正确吗?
I want to implement modules such as comment, rating, tag, etc. to my entities. What I thought was:
comments_table -> comment_id, comment_text
entity1 -> entitity1_id, entity1_text
entity2 -> entitity2_id, entity2_text
entity1_comments -> entity1_id, comment_id
entity2_comments -> entity2_id, comment_id
....
Is this approach correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
比那更简单。 您将需要这样的内容:
Entity: EntityID EntityText
Comments: CommentID AssocEntityID CommentText
其中 AssocEntityID 与实体表 EntityID 列有外键关系。
对于此解决方案,要获取 ID 为 1 的实体的所有评论,您可以执行以下操作:
It is simpler than that. You are going to want something like this:
Entity: EntityID EntityText
Comments: CommentID AssocEntityID CommentText
Where AssocEntityID has a foreign key relation to the Entity table EntityID column.
For this solution, to get all comments for Entity with ID 1, you would do this:
不,我建议只使用一个entity_comments 表,它是评论和实体之间的相交表。 您必须在一条评论表中将实体 1 和实体 2 id 作为单独的属性。
所以它看起来像:
一个简单的选择可能是:
No, I would suggest having just one entity_comments table that is an intersect table between comments and entity. You would have to have the entity1 and entity2 ids in the one comments table as separate attributes.
so it would look like:
a simple select might be: