DW Basic Knowledge2

DW的元数据是指除去数据本身之外的所有信息。

围绕DBMS方面的元数据可以描述为表定义,分区设置,索引视图定义,以及DBMS级安全方面的特权

与授权等内容。

在任何场合下,ODS要么是一个处在OLTP和DW之间的第三方物理系统,要么是DW的一个专门管理

的热区(用于支持实时交互操作,数据查询具有固定的结构形式)?

事实表的一行对应一个度量值,一个度量值就是事实表的一行,事实表的所有度量值必须具有相同的

粒度。

可加性事实:销售额

半可加性事实:库存 余额(除时间之外的维度可以用于聚合)

非可加性事实:比率

度量事实理论上讲可以是文本形式的,但这种情况很少出现,设计者应该尽可能地把

文本度量值转成维度,原因在于维度能够于其他文本维度属性更有效地关联起来,并且消耗

少得多的空间。

不能将冗余的文本信息存储在事实表内,除非文本对于事实表的每行都是唯一的。

所有事实表粒度都归属于三类之一:事务、周期快照与累积快照。

事实表本身通常也有由外关键字子集组成自己的主关键字,这个关键字通常称作复合或

者连接关键字。换句话说,在维度模型中每个表示多对多关系的表都是事实表,而所有其他的表

都是维度表。

通常情况下,只需要事实表复合关键字组成部分的一个字集,就可以确保行具有唯一。

所以,在事实表中引入一个唯一的rowid关键字作为主键关键字并无什么优点可言,这样只会

让事实表更大,当然,特别情况下的业务需求有需要时除外,(需要加载相同中记录到这样的表,

譬如把Fact表做成TYPE2时)

维度属性是查询约束条件、成组与报表标签生成的基本来源。

最好的属性是文本的和离散的,属性应该是真正的文字而不应是一些编码简写符号。

有时候,从数据生产源分析一个数字型的字段应该是作为事实还是维度属性来看,通常可以这样做

出决定 ,即看字段是否包含许多的取值并参与运算,(当成事实看待)还是一个变化不多并参与约束

条件的离散取值的描述(当维度属性看待)。

例如,一个产品的标准成本看起来是不变的属性,但由于经常改变,每一次交易都可能是不同的值,因而

最终应该当作度量值来处理。

维度表通常描述业务中的层次关系,譬如产品包含商标和分类,员工有所属的部门信息等。存放层次描述信息显得

很冗余,但是这样容易使用。

对于维度模型来说,是开放的设计,可以加入新的维度,只要其值对于现有的事实行存 在唯一性的定义就行,同样的,

可以向事实表中加入新的事实,只要其粒度和现有的事实表相一致即可。

时间: 2024-12-30 22:11:39

DW Basic Knowledge2的相关文章

DW Basic Knowledge1

以下内容,常读常新,每次都有新的感悟和认识. 数据仓库必须使组织机构的信息变得容易存取. 数据仓库的内容需要是容易理解的,数据对业务人员也必定是直观的,明显的. 数据仓库重新组织了原来OLTP数据库的结构,根据业务需求,但又结合数据建模的一些特性. 数据仓库必须一致地展示组织机构的信息. 数据仓库中的数据必须是可信的,这就需要ETL能够保证数据是准确的. 数据仓库必须具有的适应性和便于修改. 其实任何软件的架构都应该考虑扩展性,所以有自己的一套设计模式.在数据仓库的设计中, 不应该根据具体的报表

[C++] Variables and Basic Types

Getting Started compile C++ program source $ g++ -o prog grog1.cc run C++ program $ ./prog The library, iostream, define four IO object: cin, cout, cerr, clog. std::cout << "hello world" << std::endl; The result of the output operato

Click Models for Web Search(1) - Basic Click Models

这篇文章主要是介绍一些基本的click model,这些不同的click model对用户与搜索结果页的交互行为进行不同的假设. 为了定义一个model,我们需要描述出observed variables,hidden variables,以及它们之间的关联,以及它们对model parameters的依赖关系.当我们获取了model parameters之后,我们便可以进行CTR 预估,或者计算数据的最大似然估计. 1. RANDOM CLICK MODEL (RCM) 这是最简单的一个mod

LeetCode OJ:Basic Calculator(基础计算器)

Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ), the plus + or minus sign -, non-negative integers and empty spaces . You may assume that the given expression is

Introduction and Basic concepts

1 Network Edge The device such as computers and mobiles connect to the Internet. So they are referred as end systems(who run the application programs) sitting at the edge of the Internet. And we use host and end system interchangeably, that is host=e

Visual Basic快捷教程——流程控制

美籍匈牙利数学家冯·诺依曼于1946年提出"程序存储,顺序执行"的观念,为现代计算机奠定了重要基础.这一观点认为:应该把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存.电子计算机的数制宜采用二进制:计算机应该按照程序顺序执行.所以现在开发人员在编写的程序代码时,其实都隐含地认为计算机将来会一行一行按顺序来执行这些指令.但是在顺序执行的过程中,有时我们希望计算机根据条件判断来选择性地执行(或者不执行)一些代码--这时就需要用到选择结构(或称分支结构).另外一些时候,我们希

Nginx下配置Http Basic Auth保护目录

nginx basic auth指令 语法:     auth_basic string | off;默认值:     auth_basic off;配置段:     http, server, location, limit_except 默认表示不开启认证,后面如果跟上字符,这些字符会在弹窗中显示. 语法:     auth_basic_user_file file;默认值:     -配置段:     http, server, location, limit_except 1. 下载这个

NHibernate官方文档中文版--基础ORM(Basic O/R Mapping)

映射声明 对象/关系映射在XML文件中配置.mapping文件这样设计是为了使它可读性强并且可修改.mapping语言是以对象为中心,意味着mapping是围绕着持久化类声明来建立的,而不是围绕数据表. 要注意的是,尽管很多NHibernate使用者选择手动定义XML文件,但是仍然有很多工具可以用来生成mapping文件,包括NHibernate.Mapping.Attributes 库和各种各样基于模板的代码生成工具(CodeSmith, MyGeneration). 让我们用一个mappin

QML学习【一】Basic Types

  QML入门教程(1) QML是什么? QML是一种描述性的脚本语言,文件格式以.qml结尾.语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制.它结合了QtDesigner UI和QtScript的优点.QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C++代码的交互.QtScript可以和Qt原生代码进行交互,但是有一个缺点,如果要在脚本中创建一个继承于QObject的图形对象非常不方便,只能在Qt代码中创建图形对象,然后从 QtScrip