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#? ...
随机推荐
- PHP的加密解密字符串函数
程序中经常使用的PHP加密解密字符串函数 代码如下: /********************************************************************* 函数 ...
- Java NIO中的读和写
一.概述 读和写是I/O的基本过程.从一个通道中读取只需创建一个缓冲区,然后让通道将数据读到这个缓冲区.写入的过程是创建一个缓冲区,用数据填充它,然后让通道用这些数据来执行写入操作. 二.从文件中读取 ...
- How to manage the certificates in the PC
1.open Run command. 2.enter 'mmc' . 3.Click File, and Add or Remove Snap-in. 4.Select Certificates, ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- 基于吉日嘎底层架构的Web端权限管理操作演示-用户管理
相信博客园的朋友对吉日嘎拉都不陌生,相信很多人也买了他的源码,应用于自己的项目. 但是你有没有过一个困惑? 那就是:没有一个基于网页的权限管理界面. 今天,这一切都不再是问题,我花了3年时间研究学习并 ...
- webservice 原理
webservice 原理1.soap协议,其实就是用http协议来传输xml格式的数据,可以post,get.一般有post.2.服务端有:本地程序代码(也不是dll)和xml格式的文件用来描述dl ...
- 以Web Host的方式来寄宿Web API
一.新建一个Common的类库项目并新建一个测试用的Contact实体类 namespace Common { public class Contact { public string Id { ge ...
- [C#]多线程下载
发现电脑里以前编写的下载程序... 做个记录,那时做的挺匆忙的,没用委托,通过公开出窗体来修改下载进度,做的比较乱... ==!! 程序具体功能(流程): 1.检测系统托盘图标内的进程名是否符合要求 ...
- ABAP 表格控制(Table Control)和步循环
表格控制(Table Control)和步循环 1.两个标准Demo: SAPMTZ60,SAPMTZ61 2.简介 3.建立Table Control程序的基本流程 4.使用步循环 5.表格 ...
- SharePoint 网站登录不上,3次输入用户名/密码白页
新搭建的SharePoint 2013环境,第一次干的这么憋屈的慌,先是接了一个Ghost的服务器,装好的服务器.Sql.SharePoint.VS等一系列,却发现怎么都登陆不上去,输入账号3次以后白 ...