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#? ...
随机推荐
- 关于iPhone多点触控
虽然这个问题很简单,但是对于我这接触两天的菜鸟来说也弄了很久,网上又找不到相关的解决方法,避免其他人和我一样,还是记录一下 一般网上找到的教程是这么教: -(void )touchesBegin:(N ...
- table.appand(行数据) datagrid分页
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- MVC5+EF6 入门完整教程12--灵活控制Action权限
大家久等了. 本篇专题主要讲述MVC中的权限方案. 权限控制是每个系统都必须解决的问题,也是园子里讨论最多的专题之一. 前面的系列文章中我们用到了 SysUser, SysRole, SysUserR ...
- 如何安装nodejs
1.进入官网https://nodejs.org/en/download/ 2.安装过程基本直接“NEXT”就可以了.(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的 ...
- [moka收藏]php正则表达式验证
手机号验证规则[['mobile'], 'match','pattern' =>"/^1[34578]\\d{9}$/"], [['sendmail_limit'],'mat ...
- java jdk environment variables
1. create system variable 2. edit the system path note: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3. cre ...
- 如何使用mybatis《二》
前边阐述了如何在java项目中使用mybatis,我们使用的是映射文件的方式,在获得具体的数据操作方法时需要传入映射文件中namespace+“.”方法名称,这种方式有时候会感觉很不爽,很麻烦.我们在 ...
- springmvc+mybatis+spring 整合 bootstrap
获取[下载地址] [免费支持更新]三大数据库 mysql oracle sqlsever 更专业.更强悍.适合不同用户群体[新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统] ...
- 编写简单的C/S聊天程序
找了点资料看了下,于是自己动手做了一个练习一下, 主要用到TServerSocket和TClientSocket这个控件. 客户端: var Form1: TForm1; NewTime:string ...
- android 永不关闭toast
Toast信息提示框之所以在显示一定时间后会自动关闭,是因为在系统中有一个Toast队列;那么有些时候需要这个Toast信息提示框长时间显示,直到需要关闭它时通过代码来控制,而不是让系统自动来关闭To ...