什么是事实表?

streetgrass 2003-04-12 04:55:16
以前学数据库原理没看到过这个名词,请问是什么意思?
...全文
800 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspvsphp 2003-04-13
  • 打赏
  • 举报
回复
这个是数据仓库里的一个概念。
数据仓库中有这些概念:(通俗的讲,具体的概念可以看数据仓库的书)
主题:你要分析什么?如:某年某月某个地区的某种商品的销售量,这样的一个问题就是一个主体。
维度:从哪个角度来判断。如:时间角度(某年、某月……),地区(哪个国家、那个省……)
层次:维度的具体测量单位,类似于量长度时采用的哪种单位。如时间维度,年、季度、月就是不同的层次。
事实:就是你要分析主题的具体数字。如销售量、人均消费量、资产总数……
streetgrass 2003-04-13
  • 打赏
  • 举报
回复
可我看到的是根据实体间的关系而产生的表,到底有没有对它的书面定义呢?
pengdali 2003-04-13
  • 打赏
  • 举报
回复
事实数据表
每个数据仓库或数据集市都包括一个或多个事实数据表。星型架构或雪花型架构的中心是一个事实数据表,用以捕获衡量单位业务运作的数据。事实数据表可能包含业务销售事件,如现金登记事务或非赢利组织的捐款和支出。事实数据表通常包含大量的行,有时当事实数据表包含大型机构一年或几年的历史数据时,可能有数亿条记录。

事实数据表的主要特点是包含数字数据(事实),而这些数字数据可以汇总以提供有关单位运作历史的信息。每个事实数据表还包括一个由多个部分组成的索引,该索引包含作为外键的相关性维度表的主键,而维度表包含事实记录的特性。事实数据表不应包含描述性信息,也不应包含数字度量字段以及使事实与维度表中的对应项相关的索引字段之外的任何数据。

在随 Microsoft® SQL Server™ 2000 Analysis Services 提供的 FoodMart 2000 示例数据库中,有一个事实数据表 sales_fact_1998,它包含以下各列。

列 描述
product_id 维度表 product 的外键。
time_id 维度表 time_by_day 的外键。
customer_id 维度表 customer 的外键。
promotion_id 维度表 promotion 的外键。
store_id 维度表 store 的外键。
store_sales 包含销售额的货币列。
store_cost 包含销售商店成本的货币列。
unit_sales 包含销售数量的数字列。


在这个事实数据表中,每一项都表示特定的商店以特定的促销方式,在特定的日期销售给特定客户的特定产品的销售情况。捕获的业务度量值是销售额、商店成本和销售数量。

包括在事实数据表中的最有用的度量值是累计的数字。累计的度量值使可以通过添加各种度量值(如具体时间段内一组商店的特定项目的销售情况)获得汇总信息。非累计度量值(如库存中现货的数量)也可用于事实数据表,但必须使用不同的汇总技术。

事实数据表中的聚合
聚合是通过详细记录计算汇总数据的过程。在创建事实数据表时,可将数据聚合为汇总记录以减小事实数据表的大小,这通常是很诱人的。但是,如果将数据汇总到事实数据表中,则分析者不再能直接使用详细信息。如果需要详细信息,则必须标识并定位已汇总的详细信息行,详细信息行可能在提供数据的源系统中。应在可能最细的粒度级别上维护事实数据表数据。应在考虑了这些结果之后,再将数据聚合到事实数据表中。

将聚合数据和详细数据混合在事实数据表中,可能导致在使用数据仓库时出现问题和并发因素。例如,销售订单通常包含多个产品项,而且可能包含折扣、税款或运输成本,这些都算在订单总计中而不是个别的产品项中,而销售数量和产品项标识则记录在产品项级上。在这种情况下,汇总查询变得更复杂,Analysis Services 这类工具通常需要创建特殊的筛选器以处理粒度混合。

有两种方法可以处理这种情况。一种方法是根据销售额、销售数量或发货量给产品项分配订单级的值。另一种方法是创建两个事实数据表,一个包含产品项级的数据,另一个包含订单级信息。详细信息事实数据表中应包含订单标识键,以便这两个表可以建立关系。于是,订单表可以作为维度表用于详细信息表,并将订单级的值视为维度层次结构中订单级的特性。
doudouniwan 2003-04-12
  • 打赏
  • 举报
回复
事实表在我理解是:一些用于管理信息而登记的纪录以及明细表。
什么是数据仓库呢?数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力,企业可从数据中获得宝贵的信息进而改进决策。同时,随着时间的推移,数据仓库中积累的大量历史数据对于数据科学家和业务分析师也是十分宝贵的。 数据仓库建模的意义是什么呢?如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置;如果把数据看作城市的建筑,我们希望城市规划布局合理;如果把数据看作电脑文件和文件夹,我们希望按照自己的习惯有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找一个文件而不知所措。数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后,数据才能得到高性能、低成本、高效率、高质量的使用。 数据仓库建模的最终目的是什么呢?高性能:良好的数据模型能够帮助我们快速查询所需要的数据。低成本:良好的数据模型能减少重复计算,实现计算结果的复用,降低计算成本。高效率:良好的数据模型能极大的改善用户使用数据的体验,提高使用数据的效率。高质量:良好的数据模型能改善数据统计口径的混乱,减少计算错误的可能性。 本课程将基于理论和实践讲解数据仓库,包含基础知识:数据仓库建模方法论、数据仓库分层模型、数据仓库构建流程、事实表、维度表、指标体系、拉链表、维度模型等 ,基于真实电商业务作为实战,讲解电商数仓的整个构建过程,让大家在实战中理解和掌握数仓的理论知识。

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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