DW Basic Knowledge2
DW的元数据是指除去数据本身之外的所有信息。
围绕DBMS方面的元数据可以描述为表定义,分区设置,索引视图定义,以及DBMS级安全方面的特权
与授权等内容。
在任何场合下,ODS要么是一个处在OLTP和DW之间的第三方物理系统,要么是DW的一个专门管理
的热区(用于支持实时交互操作,数据查询具有固定的结构形式)?
事实表的一行对应一个度量值,一个度量值就是事实表的一行,事实表的所有度量值必须具有相同的
粒度。
可加性事实:销售额
半可加性事实:库存 余额(除时间之外的维度可以用于聚合)
非可加性事实:比率
度量事实理论上讲可以是文本形式的,但这种情况很少出现,设计者应该尽可能地把
文本度量值转成维度,原因在于维度能够于其他文本维度属性更有效地关联起来,并且消耗
少得多的空间。
不能将冗余的文本信息存储在事实表内,除非文本对于事实表的每行都是唯一的。
所有事实表粒度都归属于三类之一:事务、周期快照与累积快照。
事实表本身通常也有由外关键字子集组成自己的主关键字,这个关键字通常称作复合或
者连接关键字。换句话说,在维度模型中每个表示多对多关系的表都是事实表,而所有其他的表
都是维度表。
通常情况下,只需要事实表复合关键字组成部分的一个字集,就可以确保行具有唯一。
所以,在事实表中引入一个唯一的rowid关键字作为主键关键字并无什么优点可言,这样只会
让事实表更大,当然,特别情况下的业务需求有需要时除外,(需要加载相同中记录到这样的表,
譬如把Fact表做成TYPE2时)
维度属性是查询约束条件、成组与报表标签生成的基本来源。
最好的属性是文本的和离散的,属性应该是真正的文字而不应是一些编码简写符号。
有时候,从数据生产源分析一个数字型的字段应该是作为事实还是维度属性来看,通常可以这样做
出决定 ,即看字段是否包含许多的取值并参与运算,(当成事实看待)还是一个变化不多并参与约束
条件的离散取值的描述(当维度属性看待)。
例如,一个产品的标准成本看起来是不变的属性,但由于经常改变,每一次交易都可能是不同的值,因而
最终应该当作度量值来处理。
维度表通常描述业务中的层次关系,譬如产品包含商标和分类,员工有所属的部门信息等。存放层次描述信息显得
很冗余,但是这样容易使用。
对于维度模型来说,是开放的设计,可以加入新的维度,只要其值对于现有的事实行存 在唯一性的定义就行,同样的,
可以向事实表中加入新的事实,只要其粒度和现有的事实表相一致即可。
DW Basic Knowledge2的更多相关文章
- DW Basic Knowledge1
以下内容,常读常新,每次都有新的感悟和认识. 数据仓库必须使组织机构的信息变得容易存取. 数据仓库的内容需要是容易理解的,数据对业务人员也必定是直观的,明显的. 数据仓库重新组织了原来OLTP数据库的 ...
- Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结
Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...
- Basic Tutorials of Redis(9) -First Edition RedisHelper
After learning the basic opreation of Redis,we should take some time to summarize the usage. And I w ...
- Basic Tutorials of Redis(8) -Transaction
Data play an important part in our project,how can we ensure correctness of the data and prevent the ...
- Basic Tutorials of Redis(7) -Publish and Subscribe
This post is mainly about the publishment and subscription in Redis.I think you may subscribe some o ...
- Basic Tutorials of Redis(6) - List
Redis's List is different from C#'s List,but similar with C#'s LinkedList.Sometimes I confuse with t ...
- Basic Tutorials of Redis(5) - Sorted Set
The last post is mainly about the unsorted set,in this post I will show you the sorted set playing a ...
- Basic Tutorials of Redis(4) -Set
This post will introduce you to some usages of Set in Redis.The Set is a unordered set,it means that ...
- Basic Tutorials of Redis(3) -Hash
When you first saw the name of Hash,what do you think?HashSet,HashTable or other data structs of C#? ...
随机推荐
- 老毛桃安装Win8(哪里不会点哪里,so easy)
先来一张美女图,是不是很漂亮呢!继续往下看! 英雄不问出路,美女不看岁数!求推荐啊! 每次碰到妹子找我装系统的时候我都毫不犹豫的答应了,心里暗暗想到:好好表现啊!此刻的心情比见家长还要激动和紧张! 有 ...
- EntityFramework left join
var result = from u in db.Order join n in db.Equipment on u.OrderId ...
- PhpWind 8.7中禁止后台管理员随意修改会员用户名功能
有人反映PHPWind 8.7中后台可以直接修改用户名的功能太过随意,干脆禁掉. OK,研究一下他的代码,admin/usermange.php tempalate/admin/usermange. ...
- JDK动态代理的实现及原理
Proxy.newProxyInstance(classloader,Class,invocationHandler) 调用getProxyClass0(loader, interfaces)生成代理 ...
- oracle sql 语句优化
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理 ...
- 【Asphyre引擎】发布了新版本V101
引擎简称还是PXL,但是这个P是Platform而不是Pascal. 修复了一些bug,增加了轻量级的随机数发生器,进一步完善了XML的解析. 不是很明白,为何把Pascal扩展库改成Platform ...
- Java中native的用法
原文来自:http://blog.csdn.net/funneies/article/details/8949660 native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件, ...
- Eclipse下Android开发的问题:Installation error: INSTALL_FAILED_NO_MATCHING_ABIS 解决办法
在Android模拟器上安装apk的时候出现 INSTALL_FAILED_NO_MATCHING_ABIS 这个错误提示的解决办法. 是由于使用了native libraries .该nativ ...
- SAP 金额在表中的存储及货币转换因子
场景:一个接口出问题了,SAP通过RFC将SO数据传输到Java系统,错误的将100日元传为1.00日元. 其实查看SAP透明表发现,表中存储的的确是1.00,是前台真实数据的1/100,开发接口时没 ...
- 极光推送和百度lbs android sdk一起使用使用proguard 混淆的问题
主要是http得类被混淆后,导致apk定位失败.经过确认,保留apache 的http类就好了 # To enable ProGuard in your project, edit project.p ...