典型的用户数据库设置

典型的用户数据库设置

我正在组建一个小型消费者网站,现在正要设计和实现用户数据库。我从我的 PHP 注册表单中获取用户名、盐、哈希密码和一些其他非必需数据(电子邮件地址等)。登录信息必须是唯一的。

我倾向于用这些数据创建一个表,将登录信息作为关键信息,并用它们对表进行索引。或者,我可以使用数据库中的自动增量字段来生成唯一的用户 ID 作为索引(如果可以获得性能提升),或者生成 GUID,但我不清楚每种方法的具体优缺点。

我想我还应该记录注册的时间和日期。

这是正确的设置吗?我还应该考虑添加什么?

答案1

使用用户名作为主键的问题在于,您是否允许在创建后随时更改它。如果用户名有可能更改,最好使用对表没有意义的唯一整数(自动增加的 int 值),因为使用用户名作为外键的表会发生级联更改。

至于您在使用用户数据库时可以考虑的其他事项,我建议制定权限和用户角色的计划(一种将某些权限分组以应用于多个用户的方法)。

相关内容