我有一个存储用户的表,另一个存储帖子信息的表和一个存储注释的第三个表。
我希望允许未注册的和注册用户对帖子发表评论。
最佳实践数据库设计是什么?如何在数据库中存储未注册或注册的评论者信息?
答案 0 :(得分:1)
将null
放在评论表的userID
字段中,以便客人发表评论,或者更好的是,创建一个名为“访客”的新用户并将评论分配给他们。
或者,在名为guest
的评论表中添加一个新列或类似的东西。将其设置为布尔值并将其打开以进行访客评论,并关闭以注册用户评论。
有很多方法,其中没有一种是“正确的”方法。使用最适合您系统的那个。
答案 1 :(得分:0)
您可以在users表中创建一个虚拟用户记录,其中包含guest用户的名称,电子邮件,网站,并将注释链接到虚拟用户的ID。
修改:根据您在评论中添加的其他信息:
使用
创建基本的Users
表
创建第二个RegisteredUsers
表,其中包含注册用户所需的其他字段,并将两个表之间的关系定义为Users.Id = RegisteredUsers.Id。
Comments
表格会有一个CreatedByUserId
字段CreatedByUserId = Users.Id
。