-1

我有一个存储用户的表,另一个存储帖子信息的表和一个存储评论的第三个表。

我想允许未注册注册用户对帖子发表评论。

什么是最佳实践数据库设计?我应该如何在数据库中存储未注册或已注册的评论者信息?

4

2 回答 2

1

将客人发表的评论放在评论表null的字段中,或者更好的是,创建一个名为“Guest”的新用户并将评论分配给他们。userID

或者,将一个新列添加到名为guest或类似的评论表中。将其设为布尔值并为访客评论打开它,为注册用户评论关闭它。

有很多方法,没有一种是“正确”的方法。使用最适合您的系统的任何一个。

于 2012-08-28T14:11:05.430 回答
0

您可以在您的用户表中创建一个虚拟用户记录,其中包含来宾用户的姓名、电子邮件、网站,并将评论链接到虚拟用户的 ID。

编辑:鉴于您在评论中添加的其他信息:

创建一个基本Users

  • ID
  • 姓名
  • 电子邮件
  • 网站

RegisteredUsers使用注册用户所需的附加字段创建第二个表,并将两个表之间的关系定义为 Users.Id = RegisteredUsers.Id。

然后该Comments表将有一个CreatedByUserId字段 where CreatedByUserId = Users.Id

于 2012-08-28T14:18:15.563 回答