1

我有一个包含视频/用户/消息表的数据库。

视频表包含视频信息

  • ID
  • 标题
  • 描述
  • 所有者
  • ...

一堆统计数据(实时更新)

  • 意见
  • 赞成票
  • 反对票
  • ...

还有一堆计算值(每天或每周更新一次)

  • 计算投票
  • is_popular
  • 名声
  • ...

我最终得到了相当大的桌子。把它分开有意义吗?(表:视频,videos_statistic)
最终将成为 1-1 关系。

我从来都不是 1-1 关系的粉丝,是否有任何“规则”规定何时可以建立这种关系?

4

2 回答 2

2

好吧,我会将统计信息保存在单独的表格中(基于 1 到多个日期,所以不是 1 到 1)

所以统计表可以有列

  • 视频ID
  • 统计日期
  • 意见
  • 正面投票
  • 等等。

这将允许您保留值的历史记录,可用于稍后的报告、显示平均值、趋势等。

于 2013-09-04T19:01:28.387 回答
1

出于两个原因(即使它是 1-1),我也会将统计信息保存在单独的表中:

1:与更宽的表相比,从资源的角度更新窄表会更容易。2:如果数据用于 BI 报告,检索也会根据所构建的报告类型更快。

考虑到您的问题中提到的属性:

id 标题 描述 所有者

这些属性在系统中很少改变一次。Statistiques 表会定期更新。因此,正如 Astander 所提到的,如果您想在日期级别以不同的粒度维护统计数据,那么无需每天再次存储不变的属性。

希望这可以帮助。

于 2013-09-04T19:19:00.327 回答