我想在超级数据库中设计一个包含以下字段的用户表:
rowkey : (unique Guid)
username : (unique in the table)
email : (unique in the table)
passwordHash : (string field)
passwordSalt : (string field)
firstName : (string field)
lastName : (string field)
现在rowkey是用户的id,我在这个id中引用了很多属于用户的东西(据我所知,在hyperable中,唯一的自动主键选项是guid) 我不会使用用户名作为rowkey的原因是因为如果发生更改,可以更改用户名,我将不得不更新整个数据库中的很多东西。 同样的角色也附加到电子邮件字段。
现在用户可以使用他的用户名或电子邮件登录。 所以我需要通过电子邮件或用户名检索整行。
你能帮我设计一下这张桌子吗。
答案 0 :(得分:1)
如果您下载超级资源(或在线浏览资源),那么您将找到一个PHP示例项目,该项目实现类似Twitter的微博网站。基本上它实现了你所要求的相同用户表(有一点不同:它使用用户名作为行键)。 但您可以轻松更改此设置并改为使用GUID。
(虽然从用户的角度来看,我认为您很少更改用户名,但我不知道任何提供此类功能的网页。更改电子邮件地址或位置当然是必要的。)
以下是生成数据库的脚本(查找“profile”表): https://github.com/cruppstahl/hypertable/blob/v0.9.5/examples/php/microblog/setup.hql