汇总表和汇总事实表说明

日期: 2010-04-13 作者:Mark Whitehorn翻译:张峰 来源:TechTarget中国 英文

问:在数据库中,汇总表和汇总事实表是什么?   答:从一般意义上讲,汇总表是简单的数据库表,只不过它包含合计数据。好,我承认:这个答案是正确的但是没什么用。下面,我们重新试一次,并且这次我们将以事实表为例。想象一下你有一张这样的事实表,其字段包括date,product和customer: Customer IDItem NoOrder DateUnit SalesProfit114304/05/201211.52115004/05/201233.91810/06/201212.4817710/06/201211.3719210/06/201211.3319510/06/201212.8711……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

问:在数据库中,汇总表和汇总事实表是什么?

  答:从一般意义上讲,汇总表是简单的数据库表,只不过它包含合计数据。好,我承认:这个答案是正确的但是没什么用。下面,我们重新试一次,并且这次我们将以事实表为例。想象一下你有一张这样的事实表,其字段包括date,product和customer:

Customer IDItem NoOrder DateUnit SalesProfit
114304/05/201211.52
115004/05/201233.9
1810/06/201212.48
17710/06/201211.37
19210/06/201211.33
19510/06/201212.87
11828/07/201212.3
13728/07/201211.03
16128/07/201212.01
18328/07/201212.37
112028/07/201212.24
1813/08/201212.48
15813/08/201212.79
110016/12/201212.18
112216/12/201212.47
18312/05/201312.37
114812/05/201312.17
13729/11/201311.03
111629/11/201312.03
24607/04/201212.24
211007/04/201212.84
24906/05/201212.2
26006/05/201211.91
22622/05/201211.69

  你看到了unit sales的每一个值都是在某天卖给某个客户某个产品的汇总。另外,我意识到这种欧洲风格的日期是未来日期 – 但是我们在这里就把它们当作过去时间。

  我们可以查询这张事实表,它将返回数据。例如,我们可以要求返回2010年5月4日Item No为150,Customer为1的unit sales的总量,我们得到的结果是3 。

  我们也可以执行查询来获取Item No.为150在整个5月份的销售总量是。为此,系统将扫描事实表,以查询5月份31天的产品销售记录,并从第一位客户起列出产品的销售量,然后从返回的记录中汇总unit-sale值。 这将是个相对较慢的过程。

  一个可选的操作是创建事实表,但是它已经包含了一个或多个级别的汇总。例如,我们可以按月汇总此事实表。那将包含查询CustomerID为1、ItemNo.为150的全部销售记录。也就是说,2012年1月汇总数据,并将结果放到一条记录里。然后,我们可以对其它月份、产品、客户做同样的操作。

  新表将会是这样:

Customer IDItem NoOrder dateUnit SalesProfit
1150Jan 20121111.52
1150Feb 201233.9
1150March 201222.48
1150April 201211.37
1150May 201211.33
1150June 201222.87

  现在,我们有一条可以查找月销售总量的查询,我们可以执行它,相比事实表,它可以更快地返回结果。当然,这也不是我们唯一能够生成的汇总表。例如,如果我们知道客户所在的不同郡,我们可以生成基于郡的汇总表。

  我们也可以同时通过日期和客户来汇总月级和郡级数据,就像摘选的这张表(说明:Herefordshire郡是英格兰的一个郡)

Customer IDItem NoOrder dateUnit SalesProfit
Herefordshire150Jan 2012111121.52
Herefordshire150Feb 20106373.9

  换言之,我们可以创建一系列汇总事实表,当查询进来,我们可以运行在适当汇总表中。

  到现在为止,已经很清楚了,所有这些都说明:汇总事实表简单的包含多条数据记录,不包含明细数据,只包含汇总后的数据。

翻译

张峰
张峰

相关推荐