|zyciis| 商品表设置的疑问:销售量 评论量 点击量 打分 这些字段要怎么来设计呢

zyciis829 2008-06-16 10:31:56
如商品表
Product
ID Name
然后现在要有 销售量 评论旦 点击量 打分人数 平均分 这些字段要怎么来做呢

点击旦可以在第次浏览的时候+1 打分的认数和平均分也可以+1 和取平均 为
Product
ID Name ClickRate GradeCount Grade

但销售量和评论量就不太好设计了
本来想销售量 和评论量 这两个字段不放在Product表里面,而是要的时候再去关联
销售表和评论表去查询出他们有多少
但是如果对商品进行列表的时候,每次要关联查询这么多表的数据肯定会对速度有很大的影响

然后现在我就想把这两个字段添加到商品表中
Product
ID Name ClickRate GradeCount Grade SaleCount CritiqueCount
但这样又不能保证他这两个字段的数据的真实性


那这时大家会怎么办呢?


以下是我的解决方法
在SaleOrder表中和Critique表中添加触发器, 以下对SaleOrder举例
添加Insert Update Delete 当添加的时候 给 Product +相应订单商品数量 Delete 的时候 -相应订单商品数量;
但是问题又来了,这时因为订单作废时也要减去
所以我就改为
Insert Update 时触发器去查询这个表中所这个商品的数量 再去更新Product中的数量
Delete 的时候也是用查询的方法再去更新Product中的数量

大家这个问题会是怎么做的呢

谢谢

...全文
116 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
menu_852 2008-06-16
  • 打赏
  • 举报
回复
城市猎人0611 2008-06-16
  • 打赏
  • 举报
回复
up
大自然D使者 2008-06-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 shoushii 的回复:]
销售量应该是对销售表的统计,与商品关联ID
评论量应该在评论表中

点击量可以是商品的一个属性,在商品表中,如果有特殊需要,可以单独做。
打分人数应该在打分表记录,关联商品ID,平均分依然在此表获得。

--------------------------------------------------------
加入冗余:
例如,每次打分后立即获得平均分,增加数据库统计速度


--------------------------------------------------------
增加操作复杂度,换取统计速度

例如,每次销售之后,对商品表的销售量进行增加操作

---------------------------------------------------------
如果想获得好的延展性,那么应该符合第三范式(在数据量不是很大,或者是数据量大,但不是用分布式情况下)
[/Quote]
个人觉的可以参考一楼的方法。
zyciis830 2008-06-16
  • 打赏
  • 举报
回复
就是说销售量如果不放在Prodcut表中也放一个字段的话
查询起来不是很快
但如果放在Product表中又怕不准确
yagebu1983 2008-06-16
  • 打赏
  • 举报
回复
帮你顶!!!
设计数据库!!
用UML建模工具!!
shoushii 2008-06-16
  • 打赏
  • 举报
回复
销售量应该是对销售表的统计,与商品关联ID
评论量应该在评论表中

点击量可以是商品的一个属性,在商品表中,如果有特殊需要,可以单独做。
打分人数应该在打分表记录,关联商品ID,平均分依然在此表获得。

--------------------------------------------------------
加入冗余:
例如,每次打分后立即获得平均分,增加数据库统计速度


--------------------------------------------------------
增加操作复杂度,换取统计速度

例如,每次销售之后,对商品表的销售量进行增加操作

---------------------------------------------------------
如果想获得好的延展性,那么应该符合第三范式(在数据量不是很大,或者是数据量大,但不是用分布式情况下)
zyciis832 2008-06-16
  • 打赏
  • 举报
回复
看来还是分开表好

然后再写一个视图来统计他的数据信息
-----------------------------

是否支持这种写法呢
menusystem 2008-06-16
  • 打赏
  • 举报
回复
xisense 2008-06-16
  • 打赏
  • 举报
回复
还是单独建表为好
烈火焚身 2008-06-16
  • 打赏
  • 举报
回复
up
烈火焚身 2008-06-16
  • 打赏
  • 举报
回复
up
amandag 2008-06-16
  • 打赏
  • 举报
回复
但是如果对商品进行列表的时候,每次要关联查询这么多表的数据肯定会对速度有很大的影响
==
把关联的内容放到视图里,每次查询视图的内容

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧