我正在开发允许用户从注册帐户或匿名发布的Web应用程序。我应该在NULL
表的UserId
列中允许Post
还是创建未经验证的User
并为未注册的用户引用其ID?
用户
| UserId | Name |
+--------+------------+
| 1 | Unverified |
| 2 | Real User |
发表
| PostId | UserId | Post |
+--------+--------+----------------+
| 1 | 1 | Blah blah... |
| 2 | 1 | Blah blah... |
| 3 | 2 | Blah blah... |
NULL
用户
| UserId | Name |
+--------+------------+
| 1 | Real User |
发表
| PostId | UserId | Post |
+--------+--------+----------------+
| 1 | NULL | Blah blah... |
| 2 | NULL | Blah blah... |
| 3 | 1 | Blah blah... |
答案 0 :(得分:0)
通常认为好的做法是不依赖于NULL来表示意义;我可能会使用0或1来表示匿名用户。搜索也更容易;您不必在IS NULL或=之间切换,具体取决于您是否正在搜索匿名用户或真实用户。