数据库仓库综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库仓库综述
摘要:自从计算机出现后,计算机对数据的管理经历了程序管理、文件管理和数据库管理三个阶段。数据库是数据管理的高级阶段,是数据管理最有效的手段,是现代计算机信息系统和计算机应用系统的基础和核心。本文介绍了数据库的定义、发展历史及各代数据库所采用的数据模型、各代数据库的优缺点。结合当今应用需求和新技术对数据库发展趋势、应用前景作了展望。关键词:数据模型;关系数据库;面向对象数据库
1引言
数据库技术是20世纪60年代初开始发展起来的一门数据管理自动化的综合性新技术,它是应数据管理任务的需要而产生的,是数据管理最有效的手段。数据库就是为了一定的目的,在计算机系统中与特定的结构组织、存储和应用相关联的数据集合。在数据库出现之前,计算机管理数据经过了程序管理和文件管理两个阶段。数据库是数据管理的高级阶段,它与传统的数据管理相比有许多明显的差别,其中主要的有两点:一是使数据独立于应用程序而集中管理,实现了数据共享,减少了数据冗余,提高了数据的效益;二是在数据间建立了联系,从而能反映出现实世界中信息的联系。
数据库的应用领域相当广泛,从一般事务处理到各种专门化数据的存
储与管理。它的出现极大地促进了计算机应用的发展,数据库技术已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心[1]。目前基于数据库技术的计算机应用已成为计算机应用的主流。
2 数据库发展的历史
数据模型是数据库系统的核心和基础。数据模型是数据库系统中关于数据和联系的逻辑组织的形式表示,通常由数据结构、数据操作和完整性约束三部分组成。数据结构是所研究的对象类型的集合,在数据库系统中通常按照数据结构的类型来命名数据模型。传统的数据模型有层次模型、网状模型和关系模型,现在随着面向对象技术的发展,数据库模型也有基于面向对象的数据模型。数据操作是指对数据库中各种对象的实例允许执行的操作的集合。数据库主要有检索和更新两大类操作。数据的约束条件是完整性规则的集合。保证数据的完整性是对数据库的一个很重要的要求。所谓完整性就是数据的正确性、有效性和相容性。每一个具体的数据库都是由一个相应的数据模型来定义的。按照数据模型的进展,数据库技术可以相应地分为三个发展阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统;第三代的以面向对象模型为主要特征的数据库系统。目前关系数据库系统已经逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。211 第一代数据库系统———层次和网状数据库系统第一代数据库系统的数据模型为层次模型和网状模型。层次模型是将数据组织成有向有序的树结构。层次模型由处于不同层次的各个结点
组成。除根结点外,其余各结点有且仅有一个上一层结点作为其“双亲”,而位于其下的较低一层的若干个结点作为其“子女”。结构中结点代表数据记录,连线描述位于不同结点数据间的从属关系(限定为一对多的关系)。层次模型反映了现实世界中实体间的层次关系,层次结构是众多空间对象的自然表达形式,并在一定程度上支持数据的重构。但它在应用时存在以下问题:1)由于层次结构的严格限制,使得对低层次对象的处理效率低、数据更新的插入和删除操作复杂,难以进行反向查询。2)层次命令具有过程式性质,它要求用户了解数据的物理结构,并在数据操纵命令中显式地给出存取途径。3)模拟多对多联系时导致物理存贮上的冗余。4)数据独立性较差。网状数据库是处理以记录类型为结点的网状数据模型的数据库。网络模型用连接指令或指针来确定数据间的显式连接关系,是具有多对多类型的数据组织方式,网络模型将数据组织成有向图结构。结构中结点代表数据记录,连线描述不同结点数据间的关系。它反映着现实世界中实体间更为复杂的联系,其基本特征是,结点数据间没有明确的从属关系,一个结点可与其它多个结点建立联系。有向图结构比层次结构具有更大的灵活性和更强的数据建模能力。网络模型的优点是可以描述现实生活中极为常见的多对多的关系,其数据存贮效率高于层次模型,
但其结构
的复杂性限制了它在空间数据库中的应用。它在应用时存在以下问题:1)网状结构的复杂性增加了用户查询和定位的困难。它要求用户熟悉数据的逻辑结构,知道自身所处的位置。2)网状数据操作命令具有过
程式性质。3)不直接支持对于层次结构的表达。第一代数据库系统的代表是1969年IBM公司研制的层次模型的数据库管理系统IMS、System2000,以及20世纪70年代美国数据库系统语言协作商(CODASYL)下属数据库任务组(DBTG)提议的网状模型下建立的网状数据库系统,如IDS,TOTAL,ADABAS,IDMS等。层次数据库的数据模型是有根的定向有序树,网状模型对应的是有向图。这两种数据库奠定了现代数据库发展的基础。这两种数据库具有如下共同点:1)支持三级模式(外模式、模式、内模式)。通过外模式与模式、模式与内模式之间的映象,保证了数据库系统具有数据与程序的物理独立性和一定的逻辑独立性。2)用存取路径来表示数据之间的联系。这是数据库系统和文件系统的主要区别之一。数据库不仅存储数据,而且存储数据之间的联系。数据之间的联系在层次和网状数据库系统中是用存取路径来表示和实现的。3)有独立的数据定义语言,用以描述数据库的外模式、模式、内模式以及相互映象。诸模式一经定义,就很难修改。修改模式必须首先把数据全部卸出,然后重新定义诸模式,重新生成诸模式,最后编写实用程序,以把卸出的数据按新模式的定义装入新数据库中。因此在许多实际运行的层次、网状数据库系统中,模式是不轻易重构的。这就要求数据库设计人员在建立数据库应用系统时,不仅充分考虑用户的当前需求,还要充分了解需求可能的变化和发展。对数据库设计的要求比较高。4)导航式的数据操纵语言。层次和网状数据库的数据查询和数据操纵语言是一次一个记录的导航式的过程化语言。这类语言通常嵌入某一种高级语言如COBOL,FORTRAN,PL/1中。层次和网状
数据库由于缺乏数据的独立性及对数据库的存取采用冗长的导航(navigation)方式等缺点,导致关系数据库技术的出现。212 第二代数据库系统———关系数据库系统支持关系数据模型的关系数据库系统是第二代数据库系统,它由E.F.Codd于1970年提出。关系型数据库建立在集合论坚固的数学基础之上,是集合论在数据组织领域中的应用,它与层次数据库和网状数据库相比,具有数据模型简单灵活、数据独立性较高、能提供良好性能的语言接口等优点,是目前最为流行的数据库系统。概括地讲,关系模型由三部分组成:1)数据结构。数据结构包括域、域上定义的关系等。关系模型中,实体、实体与实体之间的联系都通过关系这种单一的结构类型来表示。2)关系操作。关系操作的能力可用关系代数(或等价的关系演算)中并、交、差、广义笛卡尔积、选择、投影、连接、除等操作来表示。关系操作的特点是集合操作。无论是操作的对象还是操作的结果都是集合。这种操作方式被称为一次一集合(set-at-a-time)的方式,与非关系型的一次一记录(record-at-a-time)的方式相对应。3)数据完整性。数据完整性包括实体完整性、参照完整性以及与应用有关的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应由关系数据库系统自动支持;与应用有关的完整性由用户定义,它是针对某一具体数据库的约束条件,由应用环境决定,关系数据库系统应提供定义和检验这类完整性的机制。关系模型具有以下主要特点:1)关系模型的概念单一,实体以及实体之间的联系都用关系来表示;2)以关系代数为基础,形式化基础好;3)数据独立性强,数据的物理存储和存取路径对用户隐蔽;4)关系数