我需要为我的网站实现基本的个性化用户功能。这种类型的数据库有标准结构吗?就像将所有用户信息和数据放在一个表中并且每个用户都有自己的行一样是常见的做法,还是应该将这些信息拆分到不同的表中并链接在一起(也许是为了效率?)我不太关心安全性在这一点上,但我显然希望在不久之后进行密码加密。
我试图在谷歌上找到我想要的东西,但无济于事。如果问题需要进一步澄清或任何其他内容,请告诉我。
Jos*_*ond 18
我建议您使用典型的标准化标准。每行一名用户。
其余的取决于您的业务规则。
将不得不去寻找一种“视情况而定”的大旧时尚。
当然,您将需要这张桌子上的某种钥匙。您可以从 UserID 开始。这可能只是一个递增的 INT(或 bigint,如果您将拥有超过 210 万用户)。
我见过很多数据库也使用 GUID 作为主要的 UserID。但这打开了一个完全不同的蠕虫罐头,使用 GUID 进行 PK。
然后,您需要决定您希望数据库的标准化程度。您是否打算允许您的用户拥有多封电子邮件?多个电话号码?如果是这样,它们应该在不同的表中。
我将主用户表保留为:
那应该是你的起点。
从那里您可以根据要存储的内容添加其他列。电子邮件可以链接到电子邮件表、地址到地址表等。密码可以使用 hash+salt 但你考虑过 openids 吗?
我强烈建议您阅读这篇文章 - http://www.sqlservercentral.com/articles/data-modeling/71725/