[论文关键词】数据库 面向对象 数据库系统
[论文摘要]面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。讨论和设计了面向对象数据库的理论概念和含义,设计和构建了一个面向对象的数据库系统的理论体系。
随着应用的扩展,特别是诸如人工智能等复杂应用的需要,关系型数据库已经显得力不从心了,人们迫切希望产生一种新的数据库解决方案来适应这些复杂需求。今后,面向对象的数据库极有可能是数据库发展的方向。
1面向对象数据库模型
1.1核心概念
1.i .1对象与对象标识
对象,是现实世界中实体的抽象,是数据和操作的集合,是持久化到数据库中的最小的存储单位。
这里的对象其实与一般的面向对象程序设计语言中的对象并没有很大不同。但是,这里的对象是持久性的。数据库中的对象是数据记录的最小单位,也就是说,数据库中至少存在一个对象才有意义。当然,对象中还可以有对象的属性,方法等,但一个对象必须是完整的。
对象标识,指的是唯一标定一个对象的标志,一个对象对应一个标识符。在现实世界中,对象可能会随着时间的推移而发生改变,但对象标识不应该改变,因此,对象标识自对象生成后就不应该再改变,否则无法使用对象标识唯一确定一个对象了。即使两个对象的属性和方法以及状态完全一致,只要其对象标识不同,则两者是不同的对象。
对象标识一般有以下三种实现方式川(e}‘一r}sz}:
(1)值标识,使用对象的某一属性作为其对象标识,不推荐此方式。
(2)名标识,使用一个名字来表示标识。推荐此种方式。
(3)内标识,以上两种方式是由用户建立的,而这种方式是由系统内部建立的,不具有任何实际含义,且只有系统才可以“观察”此类对象标识。
另外,在对象数据库中,标识是永久不变的,即具有永久持久性,这和面向对象程序中的对象标识不一样,面向对象程序中的对象标识只具有对象内持久性。
1. 1.2封装
抽象是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息来实现[2)(e3o6-r}s6>。在对象数据库中,表现为对象的私有和保护成员只能通过其方法来查询得到,而公有成员可以直接查询。这种方式的优点是对象被封装成了自含的单元,对象只接受已定义好的操作,其他对象不能直接访问对象的非公有成员。缺点是丧失了传统关系数据库中进行即席的、按内容的查询,这就不够方便灵活了,因此,需要做一些改进和妥协。