当前位置:文档之家› 第15章 数据库及其接口设计

第15章 数据库及其接口设计


具面向对象语 言行为定义的 数据库
具高层声明数 据模式语法的 数据库
图15-1
15.3
技术整合
• 在整合面向对象和数据库的技术时,首先要考 虑的问题是:对象在什么时候该被保存起来, 未来将如何取用这些对象。
• 解决了保存对象的问题之后,接下来要处理的 是对象共享时所产生的管理问题。在一般的数 据文件中,并无法做到对象保密及安全性的控 制,数据文件中的对象可随意让人使用。
• 面向对象数据库和面向对象数据库管理系统 (1)采用面向对象数据模型的数据库称做面向 对象数据库(OODB);相应的数据库管理系统 称做面向对象数据库管理系统(OODBMS),有 时称做对象数据库管理系统(ODBMS)。
(2)面向对象数据管理系统应具备两方面的特 征:一方面它是面向对象的,另一方面它又具 有数据库管理系统应有的特点和功能。
• 数据管理系统,包括文件系统和数据库管理系 统两大类。采用关系模型的数据库称做关系数 据库(relational database)。与层次和网 状的DBMS相比,RDBMS所采用的数据模型以二 维表的形式而不是人为地设置指针(或导航链) 来实现实体数据之间的联系,从而使用户可以 直接从数据库中获取表示事物之间联系的信息, 而不必借助软件专家的帮助。
• 面向对象分析与设计。面向对象分析是利用系 统结构及操作概念,以对象来反映系统连续的 处理过程,其主要特点归纳如下: (1)面向对象模型与真实世界的差距很小。 (2)以对象为基础,可做局部的修改。 (3)有助于理解问题空间。
(4)改进分析人员与用户间的交互方式。 (5)增加分析结果内部的一致性。 (6)共同性质明显表示。
(2)层次式数据库管理系统。由于“单一双亲 法则”的特性,使得该数据模型会产生重复且 过量的数据和结构。因此,浪费保存空间是其 最大的缺点。但在薪资系统上仍适合使用。
(3)网络式数据库管理系统。虽然网状式数据 库结构可将相邻或共同的要素加以结合,以节 省保存空间,但因其采用“环式指示码结构” 来表示复杂现象的拓扑结构,所以当有数据需 编辑或更新时,则必须改变原有相连的数据结 构,此为其最大缺点。
• 基于以上的因素,一个要求具备下列条件的数 据库便应运而生: (1)能提供丰富的数据类型。 (2)能直接处理复杂对象而没有数据格式转换 的问题。 (3)能提供与传统数据库相同的管理及服务。 (4)能兼顾系统的弹性。
15.4
数据接口
• 数据接口部分是OOD模型中负责与具体的数据 管理系统衔接的外围组成部分,它为系统中需 要长久存储的对象提供了在选定的数据管理系 统中进行数据存储与恢复的功能。
(8)表达更佳的查询语言。 (9)对合作的工作有较好的支持。
15.2.4
面向对象数据库的最佳化
• 面向对象数据库管理系统将保证大部分的最佳 化责任,允许用户规范高层以外的陈述,指引 什么样的最佳化需被执行。面向对象数据库的 演进,如图15-1所示。
增加数据库功能及增加使用的简单性
具简单永存的 面向对象语言
15.2.3
应用程序设计程序
• 越来越强调流程的整合是迫使采用面向对象数 据库的原由。面向对象数据库的应用领域非常 广泛,而它的特质就是具有非常复杂而有效的 信息,面向对象能以更自然及更易了解的方法 来呈现问题的解决。
• 面向对象数据库引入面向对象的新概念于数据 库中,同样使用面向对象的方法仿真传统数据 库的功能。因此,其优点为比传统数据库多了 “面向对象”的功能。面向对象的功能是在对 象与对象之间拥有多样化的关系。
• 通过数据库管理系统的使用,程序设计者可以 将应用程序产生的数据放到数据库里,而不需 要操心如何将这些数据存放在存储器中。当需 要任何数据时,只要跟数据库系统说明,系统 便能快速地把你所需要的数据取出来。
• 面向对象数据库管理系统,最大的特点之一就 是:能直接记录复杂的数据结构,而不需将之 拆成一个个的片段。使用面向对象数据库系统, 可以让应用程序直接、紧密地与数据库结合, 使得应用程序无需花太多额外的力气在数据库 系统的沟通及数据转换的工作上。
(4)关系型数据库管理系统。关系型数据模型 在某方面有其使用限制,这是为了使数据模型 简单化所加的限制。虽然如此,但与其前身比 较,该数据模型则具备了一些非常重要的特点。 例如,数据独立、声明式处理、去除重复、简 单及以表单作为表达形式,以上优点不仅使程 序开发更为快速,也使得程序的维护更加容易。
15.2.2
面向对象数据库的应用
• 面向对象技术被视为能够带来更可靠和较高品 质的软件,因为它能够借助使用定义好的接口 与隐藏实现细节,建立更模块化的软件。
• 对象数据库技术在其他工业部门也变得很受欢 迎,对象数据库技术已明显地移向非工业方面 的应用。
• 由于面向对象技术在观察、分析问题时更接近 人类的思维方式,所以模型中的对象与真实世 界的实体或概念有自然的对应,并可随环境的 变动,修正系统中的对象属性或方法,以适应 复杂多变的产品开发类型。
• 数据库管理系统 数据库的建立、使用和维护必须有DBMS的支 持,DBMS提供的功能包括:
(1)模式翻译
(2)应用程序的编译
(3)交互式查询
(4)数据的组织与存取
(5)事物运行管理 (6)数据库的维护
数据库管理系统克服了文件系统的许多局限性, 它使数据库中的数据具有如下特点: (1)数据是集成的,数据库不但保存各种数据, 也保存它们之间的关系,并由DBMS提供方便、 高效的检索功能。
(7)分析结果可重复使用。
• 面向对象设计是将分析模型所得转换成解答模 型的过程,其主要特性有: (1)模块化 (2)信息隐藏 (3)弱耦合力
(4)强内聚力 (5)抽象 (6)可扩充性
(7)整合性
• 面向对象分析与设计的主要目标如下; (1)确定企业运作过程中的各项重要角色,然 后确定各角色的责任。 (2)定义软件对象来表达各项角色。 (3)进行面向对象分解,即将对象分类或分解 更小的对象。
(5)面向对象数据库管理系统。面向对象数据 库将数据与操作方法集合成为对象的概念,并 且也支持复合对象及一般化关系的直接表示, 这是传统数据库所不能达到的。面向对象数据 库在传统数据库中加入了抽象,扩充类型定义、 用户定义操作与数据类型、继承机制、数据定 义语言与数据操作语言的集成,以及支持版本 与模型演变等概念与功能,消除了传统数据对 数据定义的一致性限制。
• 通常面向对象数据库下列的优点胜过关系型数 据库: (1)一个更真实,更有力的数据模型。 (2)处理更复杂的对象。 (3)在实体之间的继承关联。
(4)在模式层之内结合对象的行为与对象的定 义。 (5)在集合继承之间的内隐连接以对象识别码 为基础。 (6)版本的机制。
(7)较好的交易与并行管理。
(2)数据冗余度较小,并由DBMS保证数据的完 整性。 (3)程序与数据相互独立。
(4)易于按用户视图表示数据。
• 关系数据库和关系数据库管理系统 (1)采用关系模型的数据库称做关系数据库。 关系模型用二维表来表示各类数据,二维表中 有行,有列。
(2)基于关系模型的数据库管理系统叫做关系 数据库管理系统。RDBMS所采用的数据模型以 二维表的形式而不是人为地设置指针(或曰导 航链)来实现实体数据之间的联系,从而使用 户可以直接从数据库中获取表示事物之间联系 的信息,而不必借助软件专家的帮助。
• OOD模型中的数据接口部分就是这样一个组成 部分:它负责将应用系统中的对象在选定的数 据管理系统中进行存储,并将存储结果恢复到 应用系统。它所要解决的问题,可以通过以下 的讨论而明确范围。
(1)对象在内存空间的存储是由编程语言自动 解决的,不需要设计者做什么事。 (2)只需考虑对象属性值的存储。 (3)并非所有的对象都需要长期保存。 (4)如果使用的面向对象编程语言能够支持永 久对象的表示和存储管理,不需要设计者做更 多的工作。
15.1
数据管理系统及其选择
• 有效地实现数据在永久性存储空间的存储与管 理需要特定的软件系统支持。这些实现数据存 储、检索、管理、维护的系统称做数据管理系 统,包括文件系统和数据库管理系统两大类。
• 文件系统 文件系统(file system)通常被作为操作系 统的一部分。它采用统一、标准的方法对辅助 存储器上的用户文件和系统文件的数据进行管 理,提供存储、检索、更新、共享和保护等功 能。它有如下的局限性:
• 数据库与数据库管理系统之间的区别是两种对 数据库系统的观点与方式: (1)由用户的观点
(2)由开发者的观点
• 对概观数据库的一般性描述,有四个主要的领 域: (1)数据模型 (2)数据库语言 (3)交易与并行控制 (4)数据结构
• 以下针对各数据库理系统 的程序结构在处理导向的模型上,并依分类顺 序或是以逻辑上的关键值来作索引。文件管理 系统的缺点主要包括有数据重复、矛盾、缺乏 弹性、不易分享、没有标准、程序产量低,以 及需要大量的程序维护工作等。
15.2
数据库系统
• 数据库管理在应用上扮演了集中的角色。它使 大量持续性集合的数据被组织和维持,并且由 以计算机为基础的数据系统来支持,数据库应 用在许多不同的领域,已经被开发 。
• 数据库系统包括软件、数据库管理系统和一个 或多个数据库。数据库管理系统是在计算机主 存储器中执行,并且由个别的操作所控制的程 序系统。数据库是一群数据的集合,它是有关 真实世界应用的代表信息。
15.2.1
面向对象技术
• 面向对象技术的特点: (1)面向对象的思考方式比结构化分析及设计 的技术,对人类更自然。 (2)系统通常由已存在的对象所构成。 (3)对象的复杂度可以一直成长,因为对象是 由别的对象所组成,以此类推。
(4)计算机辅助软件工程(CASE)保存库应该 包含有持续成长的对象类别链接库,某些是购 买的,某些是建立的。 (5)用面向对象技术来生成功能良好的系统比 较容易,原因是由于类又包含着类。 (6)面向对象技术与CASE工具很自然地结合。
相关主题