面向对象数据库教学方法的探讨

2022-07-06 23:49王晓东
客联 2022年4期
关键词:面向对象数据库教学

王晓东

摘 要:按照面向对象数据模型定义数据对象的行为和联系,并以此构成的数据库称为面向对象数据库。面向对象数据库是面向对象程序设计方法和数据库技术相结合的产物,本文探讨了面向对象数据库的教学方法,引导学生理解面向对象数据库的基本概念和特征。

关键词:面向对象;数据库;教学

一、引言

数据模型是对现实世界中实体本身及其约束的抽象描述和实体间相互联系的逻辑刻画。以面向对象方法为指导对数据模型做语义解释,就可构建面向对象数据模型(OODM)。它吸收了面向对象程序设计方法中的核心概念和基本方法,其要点是采用面向对象的观点来描述现实世界中实体的逻辑结构和对象之间的联系与限制。讲解面向对象数据库时一定要先介绍OODM,面向对象数据库(OODB)就是按照OODM定义相应的数据对象生成的。进一步可以向学生讲述,对OODB进行有效管理的数据库管理系统称为面向对象数据库管理系统(OODBMS),以OODBMS为核心构造的数据库系统则称为面向对象数据库系统(OODBS)。

二、面向对象概念

通常在学习面向对象数据库之前,学生已经学习了传统数据库的基本理论。此时的教学重点应该是讲解面向对象的概念,以及如何与数据库理论有机地结合,构建面向对象数据库。面向对象(OO)中的对象可以解释为客观世界中的客体,面向对象方法则可以理解为以客观世界中的客体为观察目标的方法。面向对象方法的突出特点是通过可构造手段表现客观要求,以及使用有限构造手段与步骤建立客观世界模型。由于计算机本身可构造的特点,从本质上来说,面向对象方法所构造的模型可在计算机上有效实现。

面向对象概念主要包括对象、类、消息、继承和多态性,这些概念很抽象吗,讲课时要尽量向编程方向引导。对象是面向对象方法中的基本单位,也是客观世界中的一种抽象与泛化。在程序中对象是由一组属性(数据结构)以及相关的一组方法(代码)封装起来的基本单位,它具有封装性、隐蔽性和稳定性等重要特性。封装是使对象的外部界面与内部实现之间实行清晰隔离的一种技术,是面向对象模型的主要特征之一。它使得用户只能看到对象外在的界面信息,例如规格说明;而看不到对象内部的信息,例如方法实现的细节。对象的界面实际上就是若干个外部接口,它对外部开放并为外部所见,而对象封装则屏蔽了外界对其内部细节的了解,这称为隐藏。对象隐藏使得复杂处理简单化,简化了对象的认识与操作。对象内部的行为建立在属性之上,这就在对象内部建立起以属性为核心并以行为作为附属的稳定实体特性,称为稳定性。

类是对具有共同属性和方法的对象全体的概括描述,它相当于数据库关系模型中的关系模式。类给出了属于其全部对象属性与行为的抽象定义,类中对象仅是类定义中的一个实体。类简化了人们对客观世界的认识,众多的复杂对象因为有了类而变得简单清晰。类之间的基本关系有三种,分别是继承关系、组合关系和通信关系。消息是对象与对象之间的联系信息。由于对象的封装性和隐蔽性,对象的消息仅仅作用于对象界面,然后再通过界面进一步作用于对象内部。消息用于请求对象为其服务,它由接收者、操作要求和操作参数组成。每个对象都可以发送和接收若干消息,程序执行依赖于对象之间的传递消息。

继承使得一个派生类能够自动获得基类所具有的属性和方法,这是OODM中避免重复定义的一个重要机制。派生类除了能继承基类中的属性和方法之外,还可以用增加和取代的途径,定义派生类所具有的新的属性和方法。在类的继承过程中,基类属性与方法在派生类中允许有不同的实现形式、方法与语义,这称为多态性。在面向对象的系统中,利用多态性可以为系统需求分析和设计带来好处。

三、面向对象数据模型

面向对象数据模型是依据面向对象方法所建立的数据模型,其中包含数据模式以及相关的数据操作和数据约束。数据模式是由对象结构以及类间继承和组合关系建立起来的数据间的组织结构关系,其语义表达能力远强于常用的ER方法。由对象与类中方法建构的数据操作,其语义也强于传统数据模型。数据约束是一种逻辑表示式,可以用类的方法表示模式约束。面向对象数据一般使用方法或者消息表示完整性约束条件,称为完整性约束方法与完整性约束消息。任何一个对象及属性都有一种类型,面向对象数据模型的类型系统由一组自身定义的基本类型和一些用来递归地构造复杂类型的构成器组成。

在讲解面向对象数据模型时,要适时引导学生与传统数据模型做比较。面向对象数据模型是一种层次式的结构模型,以类为基本单元,以继承和组合作为结构方式,从而组成图结构形式,具有丰富语义,能够表达客观世界复杂的结构形式。它是将数据与操作封装于一体的结构方式,使得类具有独立运作能力,弥补了传统数据模型中实体集仅仅是单一数据集的不足。面向对象数据模型具有构造多种复杂抽象数据类型的能力,使得数据类型得到大大扩充。面向对象数据模型中的类层次结构是一种结构化形式,它可以根据需要随时改变结构,从而拥有模式演化能力,不断更新结构。

四、面向对象数据库系统

面向对象数据库的主要用户是专业程序员,而不是普通终端用户。它的一个优势在于可以与面向对象程序设计语言一体化,使用者不需要学习新的数据库语言。在教学过程中需要强调,面向对象数据库系统作为一种数据库系统,自然要满足普通数据库系统的组成要求,但更需注意其自身的特征和要求。数据库系统的最小需求是有一个具有优化能力的高级查询语言,支持持久性和自动的事务并发控制和恢復,支持复杂数据类型快速和有效的查询、索引和存取。数据库管理系统是任何一个数据库的中枢,面向对象数据库管理系统由类管理、对象管理和对象控制三个部分组成,支持面向对象数据模型,提供面向对象的数据库语言,提供面向对象数据库管理机制,同时具有传统数据库的管理能力。

五、结语

面向对象数据库系统首先是一个面向对象的系统,其出发点是针对面向对象程序设计语言的持久性对象存储管理,其核心是充分支持完整地面向对象概念和机制,例如用户自定义数据类型、自定义函数和对象封装等必不可少的面向对象方法特征,与当前流行的面向对象程序设计语言取得一致。其次面向对象数据库系统还是一个数据库系统,借助扩充传统数据库语义,使之与核心面向对象数据模型协调,以支持传统数据库系统中的所有数据库特征和功能,例如持久性、辅存管理、数据共享、事务管理和一致性控制及恢复等等。在教学过程中应充分把握以上要点,使得学生能够理解面向对象数据库的概念和特征,更好地学习相关理论以及操作技术。

参考文献:

[1] 汤庸. 高级数据库技术与应用[M].北京:高等教育出版社, 2008.

猜你喜欢
面向对象数据库教学
GEE平台下利用物候特征进行面向对象的水稻种植分布提取
基于深度学习与融合地形特征的黄土陷穴面向对象提取方法
“自我诊断表”在高中数学教学中的应用
数据库
基于Web的科研项目管理系统的设计与实现
在遗憾的教学中前行
数据库
计算教学要做到“五个重视”
数据库
数据库