首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标签系统和评分系统

标签系统和评分系统
EN

Stack Overflow用户
提问于 2012-12-19 11:08:25
回答 2查看 252关注 0票数 2

我想要跟踪关键字,并在我的数据库中为每个用户有一个评分系统。

我会有一个user表和他们的website表。

用户表将有用户id,电子邮件,密码等基本情况,网站表将有id,user_id,关键字和分数。

因此,我会将它们的所有关键字(最多5个关键字)保存在一个实现MySQLicious标签解决方案的网站表中。

我的问题是,我将不断更新分数,所以我是否也应该保留网站表中的“分数”字段,或者创建一个全新的表,并基于网站的id字段链接所有分数??

编辑:我还应该将关键字放在同一个表中,还是将它们分开?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-19 16:16:57

如果你只有一个分数,最好将它添加到网站表中。在大多数情况下,创建一个单独的表会使事情变得复杂,而且几乎没有什么好处。但是,在某些情况下,您可能需要创建一个单独的表:

  • 你有很多很多的网站,但只有一些网站有分数。不是为大多数网站存储空分数,而是添加一个单独的表,该表仅存储具有这些分数的网站的分数。
  • 网站和分数没有一对一的关系,或者该关系本身具有属性(在您的方案中不太可能)。
  • 您已经有很多网站,现在正在添加分数功能。您可能不想更改数据库模式,因为在部署新版本的应用程序时,这需要很长时间。您可以添加一个新表,而不是更改网站表,这可能需要很长时间。
票数 1
EN

Stack Overflow用户

发布于 2012-12-19 12:55:46

把分数放在同一张表里就行了。如果将其保存在单独的表中,则没有任何好处。如果您想要更新,您可以直接使用新的分数更新表。如果您将这些表分开,除了一些外键的负担之外,没有其他好处。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13944942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档