数据仓库与数据挖掘(DATAWAREHOUSINGANDDATAMINING)石家庄铁道大学DW&DM2020/2/12-2-内容第2章数据仓库的数据模型第3章数据仓库的数据组织第4章数据仓库设计DW&DM2020/2/12-3-第2章数据仓库的数据模型本章要点数据仓库的概念模型:信息包图数据仓库的逻辑模型:星型图、雪花模型数据仓库的物理模型DW&DM2020/2/12-4-数据仓库的数据模型-与数据库系统数据模型的区别数据仓库的数据模型中不包含纯操作型数据。数据仓库的数据模型扩充了键结构,增加了时间属性作为键的一部分。数据仓库的数据模型中增加了一些面向主题的导出数据。DW&DM2020/2/12-5-星型图模型物理数据模型概念模型逻辑模型物理模型面向用户的需求细化层次更详细的技术细节数据仓库的数据模型信息包图DW&DM2020/2/12-6-信息包图(概念模型)信息包图:是数据仓库的数据模型的第一层或最高层。由于大多数商务数据是多维的,但传统的数据模型表示三维以上的数据有一定困难。而信息包图简化了这一过程并且允许用户设计多维信息包并与开发者和其他用户建立联系。这种模型集中在用户对信息包的需要,信息包提供了分析人员思维模式的可视化表示。工作:确定系统边界:决策类型、需要的信息、原始信息确定主题域及其内容:主题域的公共键、联系、属性组确定维度:如时间维、销售位置维、产品维、组别维等确定类别:相应维的详细类别确定指标和事实:用于进行分析的数值化信息DW&DM2020/2/12-7-信息包:维度类别空白信息包图样式指标和事实DW&DM2020/2/12-8-解:首先根据销售分析的实际需求,确定信息包的维度、类别和指标与事实:(1)维度:包括日期维、销售地点维、销售产品维、年龄组别维、性别维等。(2)类别:确定各维的详细类别,如:日期维包括年(10)、季度(40)、月(120)等类别,括号中的数字分别指出各类别的数量;销售地点维包括国家(15)、区域(45)、城市(280)、区(880)、商店(2000)等类别,括号中的数字同样分别指出各类别的数量;类似地,可以确定销售产品、年龄组别维、性别维等的详细类别。(3)指标和事实:确定用于进行分析的数值化信息,包括预测销售量、实际销售量和预测偏差等。〖例〗试画出销售分析的信息包图DW&DM2020/2/12-9-销售分析的信息包图日期销售地点销售产品年龄组别性别年(10)国家(15)产品类(6)年龄组(8)性别组(2)季度(40)区域(45)产品组(48)月(120)城市(280)产品(240)区(880)商店(2000)指标和事实:预测销售量、实际销售量、预测偏差信息包:销售分析维度类别DW&DM2020/2/12-10-星型图模型(逻辑模型)星型图:数据仓库的数据模型的第二层是向最终的数据结构添加某些细节的星型图模型。与传统的关系模型相比,星型图模型简化了用户分析所需的关系,从支持决策的角度去定义数据实体,更适合大量复杂查询。星形图包括了三种逻辑实体:指标、维度、详细类别DW&DM2020/2/12-11-〖例〗销售分析的星型图模型。日期维产品维地区维代理商维其他维销售分析实际销售预测销售预测偏差在星型图中,通过维度实体获得指标实体数据。指标实体与维度实体间的联系通过每个维度中的最低层的详细类别实体连接。DW&DM2020/2/12-12-在很多情况下,维度实体还要向外延伸至详细类别实体,或者说,详细类别实体是维度实体的附加信息,是维度实体的扩展,说明了维度实体间的关系。这种在维度实体上扩展详细类别实体的星形图称为雪花图。DW&DM2020/2/12-13-雪花图模型(逻辑模型)雪花模型包括了三种逻辑实体:指标、维度、详细类别。雪花模型通常由一个很大的中心表(指标表)和一组较小的表(维表)组成。雪花模型的指标表与所有的维表都要进行连接。日期维产品维地区维代理商维其他维销售分析实际销售预测销售预测偏差年、月、日国家、地区、城市类别、型号、产品名称城市、区、名称DW&DM2020/2/12-14-物理模型物理数据模型:数据模型的第三层,它是星型图模型在数据仓库中的实现,如物理的存取方式、数据存储结构等。在物理设计时,常常要按数据的重要程度、使用频率以及对响应时间的要求进行分类,并将不同类的数据分别存储在不同的存储设备中。重要程度高、经常存取并对响应时间高的数据就存放在高速存储设备上,如硬盘;存取频率低或对存取响应时间要求低的数据则可以放在低速存储设备上。DW&DM2020/2/12-15-第3章数据仓库的数据组织本章要点数据仓库中的数据组织粒度与分割数据仓库的数据追加DW&DM2020/2/12-16-数据仓库中的数据存在着不同的综合级别早期细节级当前细节级轻度综合级高度综合级粒度:数据的不同综合级别粒度越大、表示细节程度越低、综合程度越高。级别的划分是根据粒度进行的数据仓库中的数据组织DW&DM2020/2/12-17-数据仓库的数据组织结构高度综合级轻度综合级当前细节级早期细节级DW&DM2020/2/12-18-数据仓库的数据组织结构高度综合级轻度综合级当前细节级早期细节级1996-2004年每月销售表1996-2004年每周销售表1996-2004年销售明细表1990-1995年销售明细表DW&DM2020/2/12-19-粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。在数据仓库环境中粒度之所以是主要的设计问题,是因为它深深地影响存放在数据仓库中的数据量的大小,同时影响数据仓库所能回答的查询类型。需要在数据仓库中的数据量大小与查询的详细程度之间要作出权衡。粒度1.粒度粒度的一个例子确定粒度级是数据仓库环境中最重要的设计问题DW&DM2020/2/12-21-该图的左边是一个低粒度级,每一次电话都被详细记录下来,每个顾客平均有200条记录,每个记录200个字节,因而总共需要40000个字节。该图的右边是一个高粒度级。数据代表一位顾客一个月的综合信息,每位顾客一个月只有一个记录,这样的记录大约只需200个字节。显然,用高粒度级表示数据将比用低粒度级表示数据的效率空间要高得多。高粒度级不仅只需要少得多的字节存放数据,而且只需要较少的索引项。DW&DM2020/2/12-22-但是,当提高粒度级时,会出现另一个问题。即当提高数据粒度级时,数据所能回答查询的能力就会随之降低。换句话说,在一个很低的粒度级上实际可以回答任何问题,但在高粒度级上,数据所能处理的问题的数量是有限的。在设计和构造数据仓库之初就必须仔细考虑这种权衡。DW&DM2020/2/12-23-1.粒度粒度级对能回答什么问题和回答问题所需什么资源有深刻的影响DW&DM2020/2/12-24-粒度的权衡是首要的,所以大多数组织的最佳解决办法是采用多重粒度级的形式1.粒度DW&DM2020/2/12-25-很多时候,十分需要提高存储与访问数据的效率,以及非常详细地分析数据的能力。当一个企业或组织的数据仓库中拥有大量数据时,在数据仓库的细节部分考虑双重(或多重)粒度级是很有意义的。一个电话公司的“双重”粒度级的设计,能满足大多数机构的需要。在操作层是大量的细节,其中大部分细节是为了满足结帐系统的需求。多达30多天的细节存放在这种操作层中。在这个例中的数据仓库包括两种类型的数据:轻度综合数据和“真实档案”细节数据。粒度的双重级别DW&DM2020/2/12-26-当数据从操作型环境(存储30天的数据)载入时,它就被综合成可能用于DSS分析的数据域。例如:Jones的记录显示她每月打电话的次数、每个电话的平均长度、长途电话的次数、接线员帮助呼叫的次数,等等。DW&DM2020/2/12-27-1.粒度DW&DM2020/2/12-28-样本数据库:另一种改变数据粒度的方法根据采样率的高低来划分粒度:以一定的采样率从细节数据或轻度综合数据中抽取的一个子集用处:代替源数据进行模拟分析抽样的方法:随机抽取优点:高效率源数据量很大的情况下,抽样数据可以大大下降分析结果误差极小有助于抓住主要因素和主要矛盾样本数据库DW&DM2020/2/12-29-在某些情况下(如人口统计分析),样本数据库是非常有用的。但是对使用样本数据库有一些苛刻的限制。除非设计者知道这些限制,否则就不应该创建这种数据库以作为数据仓库的一部分。样本数据库不是通用的数据库。假如想知道“Jones是不是顾客?”不要在样本数据库中找这条信息。完全可能Jones是一个顾客,但她不在样本数据库的记录中。样本数据库适用于作统计分析和观察发展趋势。DW&DM2020/2/12-30-当数据必须以整体观察时,样本数据库能提供非常理想的结果,但决不适用于处理单个的数据记录。样本记录的选取一般是随机的,必要时可采用一个“判断样本”(即记录必须达到一定标准才能被选中)。判断样本所带来的问题是会使样本数据具有某种偏差,随机抽取数据带来的问题是可能无法进行统计。无论如何,数据是选择作为样本的,所以在样本数据库中找不到任何给定的记录这一事实是说明不了任何问题的。DW&DM2020/2/12-31-分割是数据仓库中数据的第二个主要的设计问题(在粒度问题之后),数据分割是指把数据分散到各自的物理单元中去,它们能独立地处理。在数据仓库中,围绕分割问题的焦点不是该不该分割而是如何去分割的问题。对当前细节数据进行分割的总体目的是把数据划分成小的物理单元。数据分割为什么如此重要呢?因为小的物理单元能为操作者和设计者在管理数据时提供比对大的物理单元更大的灵活性。分割DW&DM2020/2/12-32-分割之后有以下优点:容易重构;自由索引;顺序扫描(若需要);容易重组;容易恢复;容易监控。DW&DM2020/2/12-33-简单地说,数据仓库的本质之一就是灵活地访问数据。如果是大块的数据,就达不到这一要求。因而,对所有当前细节的数据仓库数据都要进行分割。分割数据的准确含义是什么呢?当结构相同的数据被分成多个数据物理单元时,数据便被分割了。此外,任何给定的数据单元属于且仅属于一个分割。DW&DM2020/2/12-34-有多种数据分割的标准。例如,按:时间商业线地理位置组织单位所有上述标准数据分割的标准是严格地由开发人员来选择的。然而,在数据仓库环境中,按日期几乎总是分割标准中的一个必然组成部分。DW&DM2020/2/12-35-数据追加:数据仓库的数据初装完成后,再向数据仓库输入数据的过程追加内容:上次数据追加后在OLTP数据库中变化了的数据变化数据的捕捉途径:时标方法DELTA文件前后映象文件日志文件数据仓库的数据追加DW&DM2020/2/12-36-时标方法:为数据记录增加一个时间字段。对新插入或更新的数据记录加更新时的时标优点方法简单问题许多数据库中的数据并不含有时标,很难在得到实际应用DW&DM2020/2/12-37-DELTA文件方法:从应用程序感知数据变化的方法。由应用生成DELTA文件,记录应用所改变的所有内容优点避免了扫描整个数据库,效率比较高问题一般的应用程序不具有生成DELTA文件的功能更改应用代码,应用在生成新数据时可自动将其记录下来应用成千上万,且修改代码十分繁琐,很难实现DW&DM2020/2/12-38-前后映象文件的方法:抽取数据到数据仓库之后,本次将抽取数据之前,对数据库分别作一次快照,比较两幅快照的不同,确定追加的数据优点方法简单问题占用大量资源,影响系统性能,不实用DW&DM2020/2/12-39-日志文件法:通过分析数据库系统日志文件来获取数据变化的情况,得到追加内容。优点利用DB的固有机制,数据只限于日志文件,不用