新一代对象关系数据库――AMOS II

时间:2022-08-23 02:48:01

新一代对象关系数据库――AMOS II

摘要:对象关系数据库能结合单一的关系数据库系统和单一的面向对象数据库系统本身具有的优势,并且克服各自的局限性,成为新的研究和讨论方向。AMOS II是最新的一代对象关系数据库,具有强大的面向对象的功能。它提供了众多的下一代数据库技术所应具有的特征和功能。通过对AMOS II应用案例程序的介绍,充分体现了对象-关系数据库的优势。

关键词:对象关系数据库;面向对象;AMOS II

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)34-2016-02

A New Generation of Object-Relational Database: AMOSII

LIU Yan-hong1,2

(1.Nanjing Institute of Industry Technology Information Engineering, Nanjing 210046, China; 2.Nanjing University of Aeronautics and AstronauticsCollege of Information Science and Technology,Nanjing210016,China)

Abstract: Object-relational database can be combined with a single relational database system and a single object-oriented database system. It overcomes their limitations and is a new direction for research and discussion. AMOS II is the latest generation of object-relational database and has powerful object-oriented features. It provides the features and functions that a large number of next-generation database should have. The case of AMOS II fully reflects the advanced nature of the relational database.

Key words: object-relational database; object oriented; AMOS II

1 引言

随着数据库技术的发展,原有的数据库系统很难适应新的应用领域中的复杂对象和这些对象的复杂行为的需求。新的应用需求推动了数据库技术的研究, 其中最重要的研究方向之一就是使用一种与人们认识客观事物的过程一致的方法, 这就是面向对象的方法。这种方法大大提高软件开发的效率。对象关系数据库是面向对象技术与数据库技术相结合的产物。

2 对象-关系数据库

对象关系数据库兼有关系数据库和面向对象的数据库两方面的特征。即它除了具有原来关系数据库的种种特点外,还应该提供以下特点:

1) 允许用户扩充基本数据类型。即允许用户根据应用需求自己定义数据类型、函数和操作符,而且一经定义,这些新的数据类型、函数和操作符将存放在数据库管理系统核心中,可供所有用户公用。

2) 能够在SQL中支持复杂对象。由多种基本类型或用户定义的类型构成的对象。能够支持子类对超类的各种特性的继承,支持数据继承和函数继承,支持多重继承,支持函数重载。能够提供功能强大的通用规则系统,而且规则系统与其他的对象-关系能力是集成为一体的。

3 新一代对象关系数据库的优势

3.1 传统的关系数据库的缺陷

传统的关系数据库局限性为:

1) 面向机器的语法数据结构,数据模型单一,数据类型简单、固定。

2) 不能依据某一类型的数据类型来扩展数据类型。

3) 结构与行为完全分离。

4) 存储管理的对象有限,事物处理能力较差。

3.2 新一代对象关系数据库的特征和功能

1) 数据库应支持复杂的数据类型,并能存储和处理复杂对象。还要具备支持用户自定类型和可扩展能力。

2) 数据库必须对其它系统开放。

3) 系统必须具有可移植性,可连接性,可扩展性和可互操作性。实现程序设计语言和数据库语言的无缝的集成。

4 amos ii应用案例分析

AMOS II是最新一代的对象关系数据库,它充分体现了对象关系数据库的强大功能。

4.1 学生课程成绩查询案例

有若干学生,学生信息包括学号,姓名,班级。有若干选修课程,课程信息包括课程号,课程名,成绩。实现功能:1、通过查询语句,可以查看所有的学生信息和课程信息。2、输入学生信息如姓名,可以查看到他所选课程的相关内容。3、输入课程名称可以查看到选这门课的学生姓名。4、输入学生姓名,可以统计出该生选的所有课程名称和课程数。

4.2 案例设计与分析

1) AMOS II具有面向对象数据库的特点。

在OODB中, 用类来描述对象的结构特征和行为特征。它有下面的定义形式:

class < 类名> [ (参数表) ]properties

{类的特征}

在本案例中课程和学生类设计如下:

create type kecheng properties(

sid charstring,//课程号//

sname charstring,//课程名//

scoreinteger //期末成绩//

);

create type student properties(

tidcharstring,//学生号//

tname charstring,//学生姓名//

banjicharstring //班级//

);

创建kecheng的对象并且赋值用以下命令:

create kecheng(sid, sname,score) instances

:s1("01","Chinese",91),:s2("02","English",90),

…;

创建student的对象并且赋值用以下命令:

create student (tid, tname, banji) instances

:t1("08001","zhangsan","3ban"),

:t2("08002","lisi", "4ban"),

…;

函数设计举例如下:

create function o_derect(student nonkey)-> as stored;

//输入参数student类,返回该学生所选课程的元组//

create function sname(kecheng nonkey)->charstring as stored;

create function tname(student nonkey)->charstring as stored;

create function tid(student nonkey)->charstring as stored;

…;

以上定义的源代码保存在文件lyh.amosql中。AMOSQL类似于SQL语言。例如用下面命令对学生信息进行查询:

select tin (x), tname(x), from student (x);

在AMOS II中运行并得出结果,如图1。

这些类、对象、属性和函数的设计,充分体现了面向对象技术的特点。

2) AMOS II具有强大的可扩充功能。

AMOS II提供的Java函数的接口。在AMOS II中可以调用用户自定义的Java函数。

本案例用Java语言定义函数tongji()并保存在名为lyh.java的文件中。该函数的功能是接受输入参数为学生名,输出该学生所选择的课程名并统计出课程个数。

为了能在AMOS II调用该函数,需要在javademo.osql文件中添加下面的语句:

create function tongji(charstring)->charstring as foreign "JAVA:lyh/tongji";

运行后如图2所示。

这充分体现了AMOS II允许用户根据应用需求自己定义数据类型、函数,具有强大的可扩展功能。

5 总结和展望

综上,对象―关系数据库是面向对象技术与数据库技术相结合的产物。AMOS II是最新的一代对象关系数据库,具有强大的面向对象的功能。从学生课程成绩查询案例,可以看到AMOS II具有面向对象数据库的特点,允许用户根据应用需求自己定义数据类型、函数和操作符,具有强大的可扩展功能,体现了对象关系数据库的先进性。本文用具体案例介绍了在AMOS II中如何定义类,对象和函数,和如何调用Java自定义函数,实现统计函数的功能。

对象―关系数据库技术还处于研究发展阶段,在很多方面它还面临很多的挑战,例如对象―关系数据库还可以从面向对象数据库那里吸收养分和研究成果,如路径索引、对象聚集等。相信对象―关系数据库有着美好的发展前景。

参考文献:

[1] 赵志升,许素文,杨小姝.对象――关系数据库管理系统及其特性与实现[J].电脑开发与应用,2002,15(8):47-48.

[2] 王治.对象―关系数据库技术及其发展[J].九江师专学报:自然科学版,2003,22(5):86-88.

[3] 郭小荟.对象关系数据库系统实现方法的研究[J].2001,1(2):29-32.

[4] 张敏,尹俊文.对象关系数据库系统模型及其应用[J].邵阳学院学报:自然科学版,2005,2(1):45-47.

上一篇:设计院工程设计项目档案数字化实施办法 下一篇:基于工作流的通用备件管理系统设计