对事实表和维表的一点疑惑

Auto_And_Elec 2002-12-10 09:10:50
首先说一下对事实表和维表的理解:
事实表存储的是对象的数据,数量,而维表存储的是事实表中对象的数据的属性。

我抄了一个例子,对事实表和维表的理解:

以超市举例:某家超市销售出一袋洗粉,那么伴随这次销售过程就会有如下数据产生:洗衣粉的价格,销售时间···
价格可认为是事实数据,而产品(洗衣粉)被看作产品维度、销售时间作为时间维度、超市所在地作位地域维度(
这样当各地的超市的数据汇总过来的时候我们就需要对它进行分析!



我的疑惑是: 既然事实表中的一条纪录在维表中也会对应一条纪录(因为一个数据总会有几样属性要保存到维表中),那么,维表中和事实表中的数据量岂不是一样大了吗?
...全文
496 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flywind97 2003-01-14
  • 打赏
  • 举报
回复
有些情况维表比部分事实表还大。比如客户信息维表。必须对每个用户设置一条记录,可能在某些极端的情况下,客户维表会比事实表记录多。不奇怪。
其实主要的区别我想是:
事实表是记录你要分析的东西
维表是你要用来度量你要分析指标的东西
就是说一个是对象,一个是尺度。
jiangnanrain 2002-12-30
  • 打赏
  • 举报
回复
事实表:洗衣粉的价格,销售时间···
维表:
超市
品牌
类别
价格
事实表:
——————超市、销售时间、品牌、价格、销售量、销售金额。。。。。
主键为:超市、销售时间、品牌
measure:销售量、销售金额
hongshun 2002-12-24
  • 打赏
  • 举报
回复
我的疑惑是: 既然事实表中的一条纪录在维表中也会对应一条纪录(因为一个数据总会有几样属性要保存到维表中),那么,维表中和事实表中的数据量岂不是一样大了吗?


对, 没个事实都有属性要保存, 但是 这些属性可以重复。 所以我们把重复的过滤 , 因此

纬度表比事实表,小的多

例如超市, 一天可以有 150 次卖出洗衣粉。 每次卖出的洗衣粉都有自己的牌子。 但整个超市只有 5 种牌子。 所以 事实表有150 条记录 而品牌的纬度表之后 5 条。
多对一方式 对应
pae 2002-12-24
  • 打赏
  • 举报
回复
我觉得实际工作中的数据,很难被如此理想的划分纬度和量度。

scy_cd 2002-12-15
  • 打赏
  • 举报
回复
维表:
品牌,类别。。。。,
主键为品牌

事实表:
超市、销售时间、品牌、价格、销售量、销售金额。。。。。
主键为:超市、销售时间、品牌

记录数怎么可能一样的呢?
Auto_And_Elec 2002-12-13
  • 打赏
  • 举报
回复
大家的回答没到点上,问的是纪录(Record)的数目,可没有讲字段(Field)。

其实问这个问题的前提就错了, 事实表和维表的纪录是经过ETL进入的。考虑的并不是具体销售某一包洗衣粉的时候要产生的纪录。
dope 2002-12-11
  • 打赏
  • 举报
回复
多对一的关系。
比如事实表每条记录对应一次洗衣粉销售行为,其中一个字段为洗衣粉品牌代码;
而维表中保存唯一的品牌和品牌代码,两表通过代码关联;
这样就可以从品牌的角度对洗衣粉销售进行分析。
gaokaili 2002-12-10
  • 打赏
  • 举报
回复
事实表中的记录对应的是维表中的主健,数据表中可以只记录几个需要的事实数据字段,如数量,价格等。事实表由各维表的主健和事实数据字段组成,
参见 星型结构的多维表.

我也是学数据仓库不久
由时间多联系
QQ:34486581
fxbsmile 2002-12-10
  • 打赏
  • 举报
回复
m:1 的关系

7,391

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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