【发布时间】:2012-12-19 03:08:25
【问题描述】:
我想跟踪关键字并在我的数据库中为每个用户建立一个评分系统。
我将有一个user 表和他们的website 表。
用户表将包含基本的用户 ID、电子邮件、密码等 website 表将包含 id、user_id、keywords 和 score。
所以我会将他们所有的关键字(最多 5 个关键字)保存在一个实施 MySQLicious 标记解决方案的网站表中。
我的问题是,我会不断更新分数,所以我应该在网站表中保留“分数”字段还是创建一个全新的表并根据网站的 id 字段链接所有分数?
编辑:我也应该将关键字放在同一个表中还是分开它们?
【问题讨论】:
-
分数与什么有关,用户或他们的网站?
-
为什么不为关键字创建另一个表:
keyword{id, website_id, keyword}?然后,您不必将关键字限制在任何数量。另外,请不要将实际密码存储在用户表中。至于分数,您认为将分数保存在单独的表格中有什么好处? -
@MPelletier:与他们的网站相关
-
@Marvo:(密码当然会被加密) 数据库设计:这是一个 mysqlicious 解决方案(我不在乎将它们限制为 255 个字符)与您提出的是 Scuttle 解决方案。两者都有优点和缺点tagging.pui.ch/post/37027745720/tags-database-schemas 我只是想知道我是否应该将分数保留在同一张表中或将其分成自己的 score{id, website_id, score} 表。
-
@CodeCrack 仅供参考,密码根本不应该存储在数据库中,无论是否加密。你应该只存储salted password hash,如果你真的很偏执,put the security into a separate tier。
标签: mysql database database-design database-schema tagging