我有一个存储用户的表,另一个存储帖子信息的表和一个存储评论的第三个表。
我想允许未注册和注册用户对帖子发表评论。
什么是最佳实践数据库设计?我应该如何在数据库中存储未注册或已注册的评论者信息?
我有一个存储用户的表,另一个存储帖子信息的表和一个存储评论的第三个表。
我想允许未注册和注册用户对帖子发表评论。
什么是最佳实践数据库设计?我应该如何在数据库中存储未注册或已注册的评论者信息?
将客人发表的评论放在评论表null
的字段中,或者更好的是,创建一个名为“Guest”的新用户并将评论分配给他们。userID
或者,将一个新列添加到名为guest
或类似的评论表中。将其设为布尔值并为访客评论打开它,为注册用户评论关闭它。
有很多方法,没有一种是“正确”的方法。使用最适合您的系统的任何一个。
您可以在您的用户表中创建一个虚拟用户记录,其中包含来宾用户的姓名、电子邮件、网站,并将评论链接到虚拟用户的 ID。
编辑:鉴于您在评论中添加的其他信息:
创建一个基本Users
表
RegisteredUsers
使用注册用户所需的附加字段创建第二个表,并将两个表之间的关系定义为 Users.Id = RegisteredUsers.Id。
然后该Comments
表将有一个CreatedByUserId
字段 where CreatedByUserId = Users.Id
。