数据仓库数据库设计方法---关系模型和多维模型比较分析

  数据仓库中广泛采用的数据库设计模型有两种:关系型和多维型。普遍认为在数据仓库的设计方法中关系模型是“Inmon”方法而多维模型是“Kimball”方法。

先来看下关系模型,关系型数据以一种称为“标准化”的形式存在。数据标准化是指数据库设计会使数据分解成非常低的粒度级,标准化数据以一种孤立模式 存在,这种情况下对数据表里的数据关系要求很严格。一般遵循3NF范式。采用关系型设计的数据库一般具有较强的灵活性和多功能性(可以支持数据的多种视 图)。

再来看下多维模型,多维模型一般有星型模式、雪花模式、混杂模式(又叫星系模式)。多维模型设计的最大优点在于访问的高效性。

两种模型的区别

作为数据仓库设计的基础,星形连接和关系型结构两者之间存在很多不同。最重要的区别是在灵活性和性能方面。关系模型具有高灵活性,但是对用户来说在性能方面却不是很理想的。多维模型在满足用户需求方面是非常高效的,但是灵活性不好。

另一重要区别在于设计的范围不同。必然地,多维设计只能在有限的范围内进行,也就是说,数据库设计只能在一组请求过程下得到最优化。如果所有不同组请求全部加入到设计当中,最优化变得毫无意义。

当使用关系模型时,在性能方面没有特别的优化方法。既然关系模型要求数据以最低粒度级存储,那么就可以无限制地添加新数据。很显然,添加数据到关系 模型永远也不会停止。正因为这样,关系模式适合大范围数据(如一个企业模型),而多维模型适用于小范围数据(如一个部门或甚至一个子部门)。

区别的起源

关系环境是通过起源数据模型设计出来的。多维模型是根据最终用户的请求塑造的。换句话说,关系模型通过纯数据模型和其他模式设计,而多维模型通过处理请求塑造。

在适用性方面:由于关系模型通过抽象数据形成,所以模型自身非常灵活。但这种灵活性,对于直接数据访问的执行却不是最优化的。如果想得到一个高性能的关系模型,最佳方法是从模型中抽取出数据,并重新构造一种适合于快速访问的模式。

多维模型在直接访问数据方面是快速而高效的。从体系结构观点来看,在数据仓库设计基础方面关系模型是更好地支持数据仓库的模式,其原因是,数据仓库需要根 据不同的议程和多种观察数据的方式来支持许多不同的用户组。也就是说,数据仓库对于访问已给定的用户并不是最佳的。相反,数据仓库可以以多种方式支持多个 不同的用户。

关系模式,数据以最低粒度级和标准化形式存储;关系表间的关系已经定义好并且包含一个含有外键的关键字表;新表可以对关系表中的基本数据集定义新的 汇总和筛选标准;也就是说可以很简单以一种形式创建关系表,再以另一种形式重新塑造这些表,这样做对于数据仓库环境来说是非常理想的。

此外,关系模式支持将来未知的需求、支持适度变化的需求方面具有多维模型无法比拟的优势。

因此根据上面讨论过的原因可以看出:关系模型对数据仓库是理想的基础,而星形连接对于数据集市是最佳的。 

 

独立集市和从属集市的区别

独立集市是指直接通过历史应用创建的数据集市。建立独立数据集市不需要有“全局思想”考虑。

与独立数据集市相对应的是从属数据集市。从属数据集市是利用来自数据仓库的数据建立的。它的数据源不依赖与历史数据或操作型数据,只依赖于数据仓库。总之,从属数据集市要求有预先的计划、长期的观察、全局的分析和企业各不同部门对需求分析的合作与协调。

建立多个独立数据集市后,很快用户就会发现数据集市之间的信息不统一,也不同步,而且每增加一个数据集市就会出现不断增长的细节数据冗余的问题,需要大量的资源来建立接口程序,维护这些程序也变成了负担。因此独立数据集市不适合与解决企业中的信息问题。

当然,如果企业采用了从属数据集市,并在建立任何数据集市之前先创建了一个数据仓库,那么,独立数据集市固有的哪些体系结构方面的问题就不会出现了。

换句话说,独立数据集市表示的是不需要顾及全局及全景的一个短期的、有限范围的解决方法。另一方面,从属数据集市则要求一个长期和全局的展望。但是独立数据集市不能为企业信息提供一个坚实的基础,而从属数据集市确能为信息决策提供了一个真正的长期基础。

总结:数据仓库中数据库设计推荐采用关系模式设计方法,而数据集市推荐采用多维模型设计方法,其中数据集市推荐采用从属型的数据集市构建方法。

时间: 2024-10-12 12:40:20

数据仓库数据库设计方法---关系模型和多维模型比较分析的相关文章

数据库设计方法

一.数据库设计方法 1.根据需求抽出项目中的实体 2.总结每个实体的属性 3.确定实体之间的关系 二.数据库设计的三个范式 1.原子性及数据库的每一列是最小单位,根据需求不可拆分 2.每个表只描述一个实体,确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言) 3.每个表不应该包含冗余信息,如果a表里包含b表的主键,则a表就不需要包含b表的其他信息 例如下表错误示范: 工程号  工程名称  职工号  姓名  职务 小时工资率 工时  工作地点 河南开封杞县 其中

数据仓库主题设计及元数据设计

明确仓库的对象:主题和元数据 大多数商务数据都是多维的,所以采集和表示三维以上的数据不能完全借用业务数据库设计中的方法,必须有一种新的方法来表达多维数据.现阶段流行的有2种方 法,一是面向对象方法,即把商务数据抽象为对象,再使用Rational Rose等对象建模工具来表达这些对象:另一种方法就是使用信息包图,这是一种简便且高效的方法,在项目中使用的普及率很高. 信息包图实际上是自上而下数据建模方法的一个很好的工具.自上而下的建模技术从用户的观点开始设计.用户的观点是通过与用户交流得到的,可以进

数据库设计又一个新思路

==========================================聊天记录很有价值,以下是全部聊天记录========================================= 码妖][广州]老衲(424469013) 10:09:28服务器上定义好 数据库的各个表 主键 约束 外键 视图等[码妖][广州]老衲(424469013) 10:10:07客户端 依照服务器上的样板 自动 增加 或 删除 ,各个表字段 主键 外键 视图等[码妖][广州]老衲(424469013

数据库系统原理(第三章数据库设计 )

一.数据库设计概述 数据库的生命周期  数据库设计的目标: 满足应用功能需求(存.取.删.改), 良好的数 据库性能(数据的高效率存取和空间的节省 共享性.完整性.一致性.安全保密性) 数据库设计的内容  数据库设计的方法 直观设计法( 最原始的数据库设计方法) 规范设计法:(新奥尔良设计方法:需求分析.概念结构设计.逻辑结构设计.物理结构设计 : 基于E-R模型的数据库设计方法 :基于第三范式的设计方法,是一类结构化设计方法) 计算机辅助设计法( 辅助软件工程工具) 数据库设计的过程 二.数据

SQLServer数据库基础--E-R图、三大范式、数据库设计步骤

本书目标: 了解数据库的基本概念和范式 熟练使用SMSS.T-SQL实现建库.建表.加约束 掌握T-SQL编程,实现功能强大的查询 掌握创建索引.视图,快速访问数据库 熟悉掌握创建存储过程,实现复杂的业务规则 理解触发器的原理,掌握高级的约束 了解SQLServler安全管理 了解数据库的备份与恢复 本章目标: 了解数据库的基本概念 了解数据库设计的步骤 掌握绘制数据库E-R图 理解数据库三大范式 什么是数据库系统? 数据库系统(DBS)是一个以数据库为核心的完整的运行实体, 数据库的组成: 系

测试用例的几种常见设计方法

测试用例常见的设计方法有:等价类划分法.边界值分析法.错误推测法.判定表法.正交实验法. 一.等价类划分法 顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例. 例如,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符. 我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字. 然后从每个子集选出若干个有代表性的值: 空用户名:""       (无效等价类实例,指对于软件规

数据库设计中一对一、多对一、多对多关系依据外键的实现条件及方法

作者:二歪求知iSk2y链接:https://www.jianshu.com/p/2b27c7ba0653来源:简书 下面以departments和staff_info表为例(为staff_info添加指向departments的外键) 一个表的字段作为外键的条件: 列值必须非空且唯一 测试例子如下: mysql> create table departments (dep_id int(4),dep_name varchar(11)); Query OK, 0 rows affected (0

数据库设计之E-R模型转换成关系模型

个人重构版机房收费系统中需要自己重新设计数据库,那么如何设计数据库呢?这也是咱们自考中一门重要的课程<数据库原理>,对于考过这科的同学想必已经从中受益,直接就可以学以致用.我是今年10月份考这本书,所以就先实践一把. 原先看过的耿建玲老师的视频,里面重点讲解的是数据库内部的具体操作,没有怎么涉及到数据库设计中不可或缺的一个步骤即从概念模型到逻辑模型的转换.进入正题: 背景:数据系统生存期 我们把数据库应用系统从开始规划.设计.实现.维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生

数据库设计与 ER 模型 - 数据库系统原理

数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最后被新的系统取代而停止使用的整个周期,称为 数据库系统生存期. 数据库系统生存期一般可划分成下面七个阶段: (1)规划:是数据库系统生存周期的第一步.在规划阶段需要做的工作是:通过了解用户的实际需求,明确该系统需要实现的目标和任务,确定数据库系统的总目标. 规划阶段需要做的工作有: a. 系统的调查