MSSQL的维度表与事实表 一对一 一对多 多对多问题
在用mssql建立cube时,到底将什么设置为维度表和事实表?
它们之间有什么规则?
个人认为
维度表 就是一个实体表 如:客户表、产品表
事实表 就是一个多对多的联系表(是不是也称为“桥接表”) 如:客户产品销售状况表表(客户与产品之间存在多的多的联系,在数据库中已存在这个多对多联系表)
我上面的想法有什么错误?
在网上我看到有人将两个实体表 作为 一个维度表、一个事实表 如:作者与书籍 请问这种事实维度有什么分析作用?
还有:
倘若一个表有4、5个外键字段,另外一个数据字段,是不是可以将那4、5个字段所在表作为维度表,将该表作为度量表??如果这样理解cube 会比较容易。是不是这个cube就是一个主题?
------最佳解决方案--------------------LZ
其实这个概念说的一般都比较抽象。
其实 实体表可以想象成一个箱子,箱子里面有很多大小不一的球,或者是颜色不一样的球,等等,不同属性的球。而维度表,就像一个筛子,用来筛选这个箱子里面的球,比如红色的球,直径多少的球。
LZ可以参考下图想一想
确实很抽象,个人理解,LZ参考!!
------其他解决方案--------------------谢谢楼上的图,
就算是箱子,数据也有一个装入的过程啊……在创建cube时,到底是将什么作为这个维度的刻度?主键?还是还是某个自己选择的字段?不可能是整张表把??
------其他解决方案--------------------维度表,事实表没有严格意义上的区分,事实维度表就是很好的说明,事实表可以创建维度。
------其他解决方案--------------------学习!