首页 > 编程知识 正文

数据仓库事实表和维度表,事实表与维度表

时间:2023-05-05 18:04:15 阅读:253270 作者:3722

维度表示你要对数据进行分析时所用的一个量,比如你要分析产品销售情况,你可以选择按类别来进行分析,或按区域来分析,这样的按照什么分析就构成一个维度。前面的实例就可以有两个维度:类型和区域。另外每个维度还可以有子维度(称为属性),例如类别可以有子类型,产品名等属性。下面是两个常见的维度表结构:

产品维度表:Prod_id, Product_Name, Category, Color, Size, Price 时间维度表:TimeKey, Season, Year, Month, Date

而事实表是数据聚合后依据某个维度生成的结果表。它的结构实例如下: 销售事实表:Prod_id(引用产品维度表),TimeKey(引用时间维度表),SalesAmount(销售总量,以货币计),Unit(销售量)。

一般来说,一个事实数据表都要和一个或多个维度表相关联,用户在利用事实数据表创建多维数据集时,可以使用一个或多个维度表。

上面的这些表就是存在于数据仓库中的。从这里可以看出它有几个特点: 1.维度表的冗余很大。主要是因为维度一般不大(相对于事实表来说的),而维度表的冗余可以使事实表节省很多空间。

2.事实表一般都很大,如果以普通方式查询的话,得到结果一般花的时间都不是我们可以接受的。所以它一般要进行一些特殊处理。如SQL Server 2005就会对事实表进行如预生成处理等。

3.维度表的主键一般都取整型值的标志列类型,这样也是为了节省事实表的存储空间。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。