面向对象数据库基本技术_计算机科学概论(第3版)_[共2页]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象数据库系统(Object Oriented Data Base System,OODBS)是数据库技术与面向对象程序
设计方法相结合的产物,是为了满足新的数据库应用需要而产生的新一代数据库系统。
首先,它
是数据库系统,其次,它也是面向对象系统。
因此面向对象数据库简写为:面向对象系统+ 数据
库能力。
9.3.2 面向对象数据库语言
当前人们使用的面向对象数据库语言是OSL/OQL,这是由ODMG于1997年指定的对象描
述语言(object specification language,OSL)和对象查询语言(object query language,OQL)的简
称。
OSL/OQL以面向对象程序设计语言OOP为基础,通过实现持久性扩充而形成的面向对象数
据库语言。
OSL/OQL在形式上类似于SQL,同时具有面向对象特征,与OOP共同构成面向对象
统一环境。
其特点在于由过程性语言OOP处理临时性对象,而由非过程性语言OQL处理持久性
对象。
1.OSL
OSL又可分为对象定义语言(object definition language,ODL)和对象交互格式(object
interchange format,OIF)两个组成部分。
作为对象建模语言,ODL 中的基本元素是对象,
基本数据单元是类型。
而类型由属性与操作组成,并且通过继承与联系实现类型间的相互关联。
类型中的属性取值可以是基本类型,也可以是复合类型,此外,类型也可以定义方法。
类型是ODMG系统中实现可移植性的重要概念,因为在多个数据库平台上,如果使用相同ODL定义各
自数据对象,就可以实现不同系统之间数据的相互移植,而且ODL语法结构和一般面向对象语
言中相应定义基本相似,从而为语言绑定提供了方便和可能。
作为对象描述语言,OIF基本功能
是为ODL创建的对象类型快速创建相应的对象实例,同时还可以对实例赋予初值。
这种赋予初
值语法可以看做是对C++中相关方法的借用。
通过OIF,在不同的DBMS中,用户可以利用文件
形式无需修改和重新输入当前系统中定义的对象类型而直接将其导入另一系统,这也是ODMG
中可移植技术的具体实现途径。
2.OQL
OQL实际上是ODMG和SQL标准共同协商的结果,它与SQL语法基本相同,具有较明显
的SQL风格,同时增加了对象基本内容,输出的查询结果都是对象的属性和方法。
OQL可以独
立使用,也可以嵌入C++等高级语言中使用。
作为数据库系统与用户之间的主要接口,OQL没有
SQL中的数据更新语句。
由于数据更新可以看作方法,在OODB中,这些功能都由ODMG语言
绑定实现,从而实现了ODMG对象查询语言的简洁性和完整性。
3.对象语言绑定
语言绑定思想在SQL中已经出现,但在ODMG予以极大增强并且不可或缺,其意义在于实现
面向对象语言中缺少的包括数据更新在内的数据操作语言OML。
多语言绑定是ODMG的一项关键
性技术,它可以方便地加入面向对象功能,使得用户能够灵活定义和实现对象的数据操作,又可以
扩大数据库系统在已经掌握面向对象程序设计语言用户中的使用范围。
当然,语言绑定对于一般数
据库用户还是具有一定的困难。
当前,ODMG3.0支持对C++、Smalltalk和Java的语言绑定。
9.3.3 面向对象数据库基本技术
1.数据库转换技术
异构数据库系统中各数据库模式和操作之间转换是一个关键研究课题。
由于关系数据系统主
241。