数据仓库的数据模型设计和数据库系统的数据模型设计有什么不同?
数据模型是指现实世界数据特征的抽象,是客观事物及其联系的数据描述。
数据仓库和数据库系统的数据模型设计都包括概念模型设计、逻辑模型设计和物理模型设计。
数据仓库的数据模型设计和数据库系统的数据模型设计的区别:
一、模型设计阶段的不同
1) 数据仓库的概念模型设计以用户理解的方式表达数据仓库的结构,确定数据仓库要访问的信息,主要是以信息包图的方法用二维表格反映数据多维性,从整体上表示用户对信息的需求,指明用户希望从数据仓库中分析的各种指标,它包括三个重要对象:指标、维度和类别。与数据库的概念模型设计类似,也采用“实体——关系”(E-R)方法来建模,但不同的是需要用分析主题代替传统E-R方法中的实体。数据库系统的数据模型包括概念模型——按用户的观点对数据建模。主要用于数据库设计,采用“实体——关系”(E-R)方法来建模;逻辑模型——按计算机系统的观点对数据建模,是具体的DBMS所支持的数据模型;物理模型——对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法。
2) 数据仓库的逻辑模型设计:数据仓库是多维数据库。数据仓库的逻辑模型是对主题域进行细化,每个主题域包含若干个数据表,并为表增加时间字段,进行表的分割,合理化表的划分。它扩展了关系数据库模型,以星型架构为主要结构方式的,并在它的基础上,扩展雪花型架构、星型架构等方式。
3) 数据仓库的物理数据模型就是逻辑数据模型在数据仓库中的实现,如:物理存取方式、数据存储结构、数据存放位置以及存储分配等。物理数据模型设计实现时,所考虑的主要因素有:I/O存取时间、空间利用率和维护代价。数据库系统的物理数据设计是在已确定的逻辑数据库结构设计的基础上,兼顾数据库的物理环境、操作约束、数据库性能和数据安全性等问题,设计出在特定环境下,具有高效率、可实现性的物理数据库的过程。
二、数据模型类别、结构不同
数据仓库常用的数据模型有星型、雪花型、星型三种。星型结构图中间是事实表,其周围围角上是一组维表,每个维表都有主键,与事实表上的外键相关联。雪花模型对星形模型的维度表进一步标准化,对星形模型中的维度表进行了规范化处理。雪花模型的维度表中存储了正规化的数据,这种结构通过把多个较小的标准化表(而不是星形模型中的大的非标准化表)
联合在一起来改善查询性能。由于采取了标准化及维的低粒度,雪花模型提高了数据仓库应用的灵活性。星型结构的数据模型设计是多个主表(事实表)共享附表(维度表)。它们的区别只是在于外围维度表相互之间的关系不同而已(但不管是哪一种架构,维度表、事实表、和事实表中的量度都是必不可少的组成要素。)
关系型数据库系统有哪些数据库系统的数据模型主要是以关系二维表组织数据模型。数据库系统的数据模型主要分为:层次模型、网状模型、关系数据模型。数据库系统的数据模型。层次模型 用树形结构来表示实体及实体之间联系的模型称为层次模型。这种数据模型具有层次清楚,容易理解等优点,所以在早期数据库系统中采用这种模型。在层次模型中每一个结点表示实体集,指向结点的指针表示两个实体集之间的联系,在层次模型中秒年个个结点间的关系只能是1-m关系,通常把表示1的实体集放在上方,称为父结点,而表示m的实体集放在下方,称为子结点。树的最高位置上只有一个结点,称为根结点。每个结点由若干个记录值表示。网状模型 如果实体及实体之间的联系组成的结构为一有向图,则称为网状模型。网状模型的特点为:可以有一个以上的结点无父结点,至少有一个结点有多于一个父结点。所以网状模型可以表示为m-n关系。关系模型 用表格形式表示实体以及实体之间的联系,称为关系模型,它是以关系数学理论为基础的。关系模型简洁明了,便于使用,具有很大的发展前景,而且它们简
单易学,用户使用的环境不断改进,已成为目前世界上最畅销的大众数据库系统。
三、数据模型的结构特点不同
数据仓库的数据模型是以维度表、事实表及事实表之间连接的关系构成。维是人们观察数据的角度。维表(dimension table),表示维的各种表。事实表(fact table),存放基本数据,相关主题的数据主体(BCNF)。量(measure),事实表中的数据属性。数据仓库的数据模型是多维模型,包括事实表和维表,维表用来描述事实表的某个重要方面。不同的数据模型架构就有不同的特点。
星型模型:星型模型通过使用一个包含主题的事实表和多个包含事实的非正规化描述的维度表来支持各种决策查询。
优点:1.可以提高查询的效率。这种结构使用户能够很容易地从维度表中的数据分析开始,获得维度关键字,以便连接到中心的事实表,进行查询。2.对于非计算机专业的用户而言,星型模式比较直观,通过分析星形模式,很容易组合出各种查询。
缺点:星型模型是非规范化的,星型模型以增加存储空间为代价来提高多维数据的查询速度,
造成很大的数据冗余;非规范化的、含有大量冗余的维度表,会使数据切片变得更加复杂;由于星型模型中各维度表逐渐的组合构成事实表的主键,当星型模型的维不能满足要求时,维的变化是非常复杂、耗时的。维度属性的复杂性成的大维度问题;;当维的属性复杂时,处理维的层次关系比较困难;对“多对多”关系,星型模型无能为力。
雪花模型优点: 直接可被一些工具使用、 更加灵活地适应需求缺点:可能使数据仓库变得越来越大,而无法管理、 可能降低系统性能
星模型星型是介于星型和雪花型之间,它与主关系数据分开,具备星型和雪花型的优点。数据库系统的数据模型主要由一系列相互关联的二维表的集合。关系模型通过关系或者表来表示各个对象之间的联系。
层次模型;优点:1.比较简单,只需要很少几条命令就能操纵数据库,比较容易使用。
2.结构清晰。3.结点间联系简单,只要知道每个结点的双亲结点,就可知道整个模型结构。它提供了良好的数据完整性支持。
缺点:1.不能直接表示两个以上的实体型间的复杂的联系和实体型间的多对多的联系。2.对
数据的插入和删除的操作限制太多。3.查询子女结点必须通过双亲结点。
网状模型优点:1.能更为直接的描述客观世界,可表示实体间的多种复杂联系。2.具有良好的性能和存储效率。
缺点1.结构复杂,其DDL语言极其复杂。2.数据独立性差。
关系模型优点:灵活,数据库系统的关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。缺点:存取路径对用户透明导致查询效率往往不如非关系数据模型
为了提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度。
2、什么是星型模型?什么是雪花模型?比较两个模型的优缺点,它们各适用于什么场合?
(1)星型模型的相关概念:
星型模型是最常用的实现模式,星型模式是一种多维的数据关系。它的架构的数据模型设计中的方式显示为星型,星型数据模型包括一个中央表(事实表)和一系列的附表(维度表),
附表环绕中央表,并产生联系,但不关联。
星型模型的维度表主要包含了存储在事实表中数据的特征数据。每一个维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行,实现与事实表的关联,这就要求事实表中的外键不能为空,这与一般数据库中外键允许为空是不同的。
星型模型的事实表主要包含了描述特定商业事件的数据,即某些特定商业事件的度量值。一般情况下,事实表中的数据不允许修改,新的数据只是简单地添加进事实表中。
(2)星型模型的优点:星型模型使数据仓库形成了一个集成系统,为最终用户提供报表服务,为用户提供分析服务对象;星型模式通过使用一个包含主题的事实表和多个包含事实的非正规化描述的维度表来支持各种决策查询;星型模型可以采用关系型数据库结构,模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。维度表中的对象通过事实表与另一维度表中的对象相关联,这样就能建立各个维度表对象之间的联系。每一个维度表通过一个主键与事实表进行连接;这种结构使用户能够很容易地从维度表中的数据分析开始,获得维度关键字,以便连接到中心的事实表,进行查询;
星型模式:一、可以提高查询的效率。这种结构使用户能够很容易地从维度表中的数据分析开始,获得维度关键字,以便连接到中心的事实表,进行查询。 二、对于非计算机专业的用户而言,星形模式比较直观,通过分析星形模式,很容易组合出各种查询。
星型模型的缺点:星型模型是非规范化的,星型模型以增加存储空间为代价来提高多维数据的查询速度,造成很大的数据冗余;非规范化的、含有大量冗余的维度表,会使数据切片变得更加复杂;由于星型模型中各维度表逐渐的组合构成事实表的主键,当星型模型的维不能满足要求时,维的变化是非常复杂、耗时的。;维度属性的复杂性成的大维度问题;当维的属性复杂时,处理维的层次关系比较困难;对“多对多”关系,星型模型无能为力。
适用场合:星型模型比较适合与预先定义好的问题加需要产生大量报表的场合;而不适合于动态查询多、系统可扩展能力要求高或者数据量很大的场合。因此,星型模式在一些要求大量报表的部门数据集市中有较多的应用。
(1)雪花模型的相关概念
雪花模型对星形模型的维度表进一步标准化,对星形模型中的维度表进行了规范化处理。雪
花模型的维度表中存储了正规化的数据,这种结构通过把多个较小的标准化表(而不是星形模型中的大的非标准化表)联合在一起来改善查询性能。由于采取了标准化及维的低粒度,雪花模型提高了数据仓库应用的灵活性。
优点(1)直接可被一些工具使用(2)更加灵活地适应需求
缺点(1)可能使数据仓库变得越来越大,而无法管理(2)可能降低系统性能
适用场合:雪花模型通过对维度表的属性按层次和类别进行分解,将非分析数据进行分离,使大维度表得到有效的规范化处理,较好的消除数据的冗余。所以,星型模型比较适合于复杂大维度表,需要统计做连接的分析的数据分析。
Agent,它是代表用户或其他程序,以主动服务的方式完成一组操作的机动计算实体。
所谓“主动服务”是指1. 主动适应,即在完成操作的过程中,它可以获得、表示并在以后的操作中利用关于操作对象的知识以及关于用户意图和偏好的知识;2.主动带来,即对一些任务无形用户发出具体指令,只要当前状态符合某种条件,就可代表用户或其他程序完成相应的操作
所谓“机动”是指在所处的计算环境中灵活的访问和迁移机制,以及同其他智能Agent通信和协作的机制。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论