18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 面向对象数据库分析(数据库)

面向对象数据库分析(数据库)

时间:2022-11-02 02:30:01 | 来源:信息时代

时间:2022-11-02 02:30:01 来源:信息时代

    面向对象数据库分析 : 应用系统设计的基础和前提,它的主要目的是采用面向对象的分析方法(object oriented analysis,OOA),通过理解问题空间所涉及到的对象以及对象间的联系作用(即操作),建立相应的面向对象数据模型,并且力求该模型能真实地反映出所要解决的“实质问题”。
随着计算机应用领域的不断拓展,计算机辅助设计/制造(CAD/CAM)、计算机辅助软件工程(CASE)、图像处理、地理信息系统(GIS)等新的领域层出不穷,已具有广泛的实际应用背景。这些新型的应用领域对数据管理、数据库系统提出了全新的需求。而传统数据库系统由于数据结构简单,不能很好地支持新的数据类型和嵌套、递归的数据结构,因此很难满足新型应用的需要。正是在这种应用需求的驱使下,面向对象数据模型和面向对象数据库系统应运而生,它们是面向对象的程序设计技术与数据库技术相互结合的产物。
显然,面向对象数据库分析的最主要任务就是实现对象数据的建模,利用面向对象数据模型来描述和表达客观世界的种种事物。可见,面向对象数据模型是面向对象数据库应用分析的主要工具,它包括对象和类两个基本概念。
1.对象
在面向对象数据模型中,将客观世界中的实体抽象称为对象。对象可以定义为对一组信息及其操作的描述。对象间的相互操作均是通过发送消息和执行消息完成的,而消息是对象间的接口。严格地讲,在面向对象模型中,实体的任何属性都必须表示为相应对象中的一个变量和一对消息。其中,变量用于保存属性值,一个消息用来读取该属性值,另一个消息则用来更新该属性值。
此外,每一个对象都有一个类型(类),具体的单个对象成为类的一个实例。对象的操作也称为方法,对象都是封装的,即对象的物理表示和内部结构对于对象外部的世界是不可见的,外部的其他对象只能通过对象的消息来进行对象之间的交互。
2.类
具有相同特性的对象归为一类,对象的归并必须有意义,属于同一类的对象其特性必须相同。类描述了对象的行为。类的外部视图,或者说公共视图,描述了可能会发到实例的消息。每一个可能的消息定义为一个方法,用以响应消息。类的内部视图,或者说私有视图,则描述了包含实例信息的属性与私有方法。
数据库中通常有很多相似的对象。“相似”是指它们响应相同的消息,使用相同的方法,并有相同名称和类型的变量。对每个这样的对象单独进行定义是很浪费的,因此可以将相似的对象分组形成了一个类。一个类中的所有对象共享一个公共的定义,尽管它们对变量所赋予的值不同。面向对象数据模型中类的概念相当于E-R模型中实体集的概念。
通常,类与类之间存在三种基本的联系:
(1)继承: 是面向对象的一个基本特征,继承性允许不同类的对象共享它们公共部分的结构和特性。如果构造一个新类来继承另一个类,那么新类中不仅包含被继承类的属性和方法,还将有新的属性和方法,逻辑上被继承类称为超类,新类称为超类的子类,继承性可以用超类和子类的层次联系实现。一个子类可以继承某一个超类的结构和特性,称为“单继承性”;一个子类也可以继承多个超类的结构和特性,这称为“多继承性”。继承性是数据间的泛化/细化联系,是一种“is a”联系。
(2)包含: 不同类的对象之间可能存在着包含关系。包含其他对象的对象称为复合对象。包含关系可以有多层,形成类包含层次图。包含是一种“是一部分”(is part of)联系,因此包含与继承是两种不同的数据联系。目前,一种结合关系数据库和面向对象特点的数据库为那些希望使用具有面向对象特征的关系数据库用户提供了一条捷径。这种数据库系统称为“对象关系数据库”,它是在传统关系数据模型基础上,提供元组、数组、集合一类丰富的数据类型以及处理新的数据类型操作能力,并且有继承性和对象标识等面向对象特点。
(3)消息: 消息是根据应用需要而定义的一种类与类之间的协作机制。
在上述三种类间的基本联系中,由于继承与包含具有特定的语义信息,而消息本身并不具有某种特定的语义含义,因此在面向数据库应用系统设计过程中,只需考虑类与类之间的继承和包含关系,由它们构成一个类层次结构。类层次结构体现了对象数据的全局结构、操作及约束,如图1所示。


图1 类层次结构示例图


可以看出类层次结构图是一种结构化的形式,它可以根据需要随时改变结构,从而使面向对象数据库具有不断更新结构的能力。它既是一种概念模型又是一种逻辑模型,可将抽象模型与具体数据库有机地融为一体。表1表示关系模型与面向对象数据模型的对应关系。目前,对象联系图是面向对象数据模型最主要的描述与表达工具。它是基于类层次结构图的基本思想,通过对实体联系图进行扩充而得到的。对象联系图可以完整地揭示对象之间的联系。在面向对象数据模型中,对象与对象之间的联系主要包括对象的引用、对象的关联等联系。

表1 关系模型与面向对象数据模型的对应关系


关系数据库面向对象数据库
表(元组)类(对象)
主KEYOID
属性属性
关系上的操作(增、删、改、查询)方法、消息
完整性约束约束方法、消息
E-R模型类层次(OO模型)


两个对象C和D之间的联系可分为三种类型:
N:N: 在联系中,每个C都和D的集合有关,而在反向联系中,每个D都和C的集合有关。
N:1: 在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和C的集合有关。
1:1: 在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和唯一的C有关。
对象联系图中有下列基本成分: ①椭圆代表对象类型(相当于实体类型); ②小圆圈代表属性是基本数据类型(整形、实型、字符串型); ③椭圆之间的边表示对象之间的嵌套或引用; ④单箭头(→)表示属性值是单值(属性可以是基本数据类型,也可以是另一个对象类型,即元组类型); ⑤双箭头(→→)表示属性值是多值(属性可以是基本数据类型,也可以是另一个对象类型,即关系类型);⑥双线箭头(⇒)表示对象类型之间的超类与子类联系(从子类指向超类); ⑦双向箭头(←→)表示两个属性之间值的联系为逆联系。
对象定义语言(object definition language)是面向对象数据模型的主要描述和表达语言,它利用面向对象的程序设计观点、方法来描述数据库的概念结构,可方便地直接转换成OODBMS的描述。在对象定义语言中,数据类型系统由基本类型、复合类型和引用类型三部分组成。其中,基本类型指原子类型、接口类型等; 复合类型可由如下几种类型组合而成: 集合类型、包结构、列表结构、数组等;引用类型指嵌套的数据类型。
采用面向对象的分析方法(OOA)进行面向对象数据库分析,大致可以遵循以下几个步骤:
(1)确定对象和类: 在进行需求分析时首先确定对象,然后需要确定数据库的类。其中,对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。实际上分析人员常常会发现对类别需要进行大量的修订工作,这种修订工作主要体现在抽象和分解。抽象是一种过程,它可以确定两个类所具有的相同之处; 分解是将一个对象分离成多个对象以表示其复杂的内部结构。
(2) 定义类层次: 面向对象数据库中的类依据特殊性与一般性的自然关系组织形成类层次结构。在确定类层次结构时需要考虑如下几种因素: ①包含规则;②如何利用多态性;③何时使用多重继承;④避免多重继承的二义性;⑤重用已有的类。
(3)确定主题: 主题是指事物的总体概貌和总体分析模型。
(4)确定属性: 属性就是数据元素,可以用来描述对象或分类结构的实例,可以在图中给出,并在对象的存储中指定。
(5)确定方法: 方法是在收到消息后必须进行的一些操作。当定义方法时需要考虑的因素包括:①决定功能应该定义为方法还是应用程序的过程;②决定方法所应用的类; ③使用方法所应用的类;④多态性。
与传统的数据库应用分析技术相比较,面向对象的分析方法具有如下几个明显的优点:
(1) 强调从现实世界中客观存在的事物(对象)出发来认识真实世界的问题空间,大大减少了理解难度,从而使分析结果能更准确地反映真实世界的问题空间。
(2)运用人类日常的思维方法和原则进行系统分析,有益于发挥人类的思维能力,并有效地控制了系统分析的复杂性。
(3)对象概念的一致性,使参与系统分析的各类人员具有共同语言,有效地改善了人员之间的交流和协作。
(4)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。
(5)对象类之间的继承关系和对象的相对独立性,对数据复用提供了强有力的支持。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭