数据库设计ER图中实体的属性问题

在设计数据库画ER图时遇到一个问题,我有个实体为“作品”,大家可以给这个作品评分和投票,所以这两个值是会每天变化的。而分数和票数这两个东西在关系型数据库中属于多对多的关系,应该有两个单独的中间表来存放。但是“作品”的表里面我都加了分数和票数这两个字段,当那两个中间表发生变化时,同步修改这两个字段的值。所以这两个字段在ER图中属于派生属性吗?还是可以直接不写在ER图中?

下图这样画OK吗?
图片描述

阅读 8.7k
2 个回答

可以。
作品和票数关联表、分数和作品关联表,都可以认为是日志表而已。

不太熟悉er模型建模。实现的时候,作品是一个表,评分和投票是另外两个表,如果作品表中有票数和分数字段,那么这两个字段就是冗余字段,其值可以由评分表和投票表中的数据推算出来,这样就违反第三范式,但第三范式也不是不可以违反,设置这连个冗余字段可以提高查询的速度,但每次两个表发生变化时都要同步修改这两个字段的值这是很麻烦的事情,这就是违反第三范式的代价。

怎么画图不重要,重要的事情是,你是不是要违反第三范式加入这两个冗余字段。你怎么决定就怎么画。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏