《数据仓库建模技术35757.pptx》由会员分享,可在线阅读,更多相关《数据仓库建模技术35757.pptx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据仓库建模技术数据仓库建模原则 满足不同的用户需求 兼顾效率与数据粒度的需要 支持需求的变化 避免对业务运营系统造成影响 考虑未来的可扩展性数据仓库建模特点 OLTP 系统是面向应用 数据仓库则一般按照主题(Subject)来建模 数据仓库建模的一般步骤 对用户需求进行归纳,需要综合考虑业务划分和用户组织两方面的问题;高层模型设计即概念模型设计确定数据仓库的主要主题和相互关系 中层模型设计明确各主题域的实体 底层模型设计明确各实体的属性数据仓库的建模方法 目前较常用的两种建模方法 是所谓的第三范式(3NF,即 Third Normal Form)和星型模式(Star-Schema),什么是第
2、三范式 范式是数据库逻辑模型设计的基本理论 一个符合第三范式的关系必须具有以下三个条件:每个属性的值唯一,不具有多义性;每个非主属性必须完全依赖于整个主键,而非主键的一部分;每个非主属性不能依赖于其他关系中的属性,因为这样的话,这种属性应该归到其他关系中去。两种属性类別 键属性(Key)非键属性(Non Key)Consultant IdConsultant Last NameConsultant First NameConsultant SpecializationConsultant Hourly RateCONSULTANT键属性非键属性数据规范 重复数据组 这个设计违反了第一范式,第一
3、范式是设计 外形的基本定义,即数据的行和列组成一个在任何单元中没有嵌套结构的二维表格,数据库中每一个数据值必须是原子的,没有列表、重复元素或内部结构。Emp-id emp-name emp-address childrens-namesE1 Tom Berkeley Jane E2 Don Berkeley Tom,Dick,DonnaE3 Bob Princeton-E4 John New York LisaE5 Carol Berkeley-数据规范 规范 数据规范 相同属性的多个用途 转换数据规范 相同事实的多个值如果事实由实体的部分健来决定,那么这个实体违犯了第二范式。如果事实通过实体
4、的一些非键属性来了解,那么就违犯了第三范式。第三范式小结 我 们 有 如 下 规 则 的 三 范 式 总 结,它 归 功于E.F.Codd 博士-关系模型之父。如 果 每 个 非-键 属 性 取 决 于 键(全 部 键),没 键 就 什 么 都 没 有,这 样 的 实 体 就 是 第三范式。规范化的目标的口号是:ONE FACT IN ONE PLACE!什么是星型模式 星型模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimens ion Table)组成。每个维表都有一个维作为主键,所有这些维则组合成事实表的主键,换言之,事实表主键的每个元素都是维表的外键。事
5、实表的非主属性称为事实(Fact),它们一般都是数值或其他可以进行计算的数据;而维大都是文字、时间等类型的数据。第三范式和星型模式在数据仓库中的应用 大多数人在设计中央数据仓库的逻辑模型时,都按照第三范式来设计;而在进行物理实施时,则由于数据库引擎的限制,不得不对逻辑模型进行不规范处理(De-Normalize),以提高系统的响应速度。根据数据仓库的测试标准 TPC-D 规范,在数据仓库系统中,对数据库引擎最大的挑战主要是这样几种操作:多表连接、表的累计、数据排序、大量数据的扫描。第三范式和星型模式在数据仓库中的应用 下面列出了一些 DBMS 在实际系统中针对这些困难所采用的折衷处理办法:1、
6、如何避免多表连接:在设计模型时对表进行合并,即所谓的预连接(Pre-Join)。当数据规模小时,也可以采用星型模式,这样能提高系统速度,但增加了数据冗余量。2、如何避免表的累计:在模型中增加有关小计数据(Summarized Data)的项。这样也增加了数据冗余,而且如果某项问题不在预建的累计项内,需临时调整。3、如何避免数据排序:对数据事先排序。但随着数据仓库系统的运行,不断有新的数据加入,数据库管理员的工作将大大增加。大量的时间将用于对系统的整理,系统的可用性随之降低。4、如何避免大表扫描:通过使用大量的索引,可以避免对大量数据进行扫描。但这也将增加系统的复杂程度,降低系统进行动态查询的能力。不规范处理的阶段 由于中央数据仓库的数据模型反映了整个企业的业务运行规律,在这里进行不规范处理容易影响整个系统,不利于今后的扩展。而且不规范处理产生的数据冗余将使整个系统的数据量迅速增加,这将增加 DBA 的工作量和系统投资。选择数据集市阶段进行不规范处理小节 在数据仓库的应用环境中,主要有两种负载:一种是回答重复性的问题;另一种是回答交互性的问题。对于以第一种负载为主的部门数据集市,当数据量不大、报表较固定时可以采用星型模式;对于中央数据仓库,考虑到系统的可扩展能力、投资成本和易于管理等多种因素,最好采用第三范式。