正在加载图片...
D0I:10.13374/j.issm1001-一053x.1999.0M.021 第21卷第4期 北京科技大学学报 Vol.21 No.4 1999年8月 Journal of University of Science and Technology Beijing Aug.1999 JAVA语言实现对象关系数据库的方法 刘庆文杨扬 北京科技大学信息工程学院,北京100083 摘要JAVA语言的产生以及JAVA虚拟机的跨平台性为开发新的对象关系数据库提供了方 便,提出了一种按照Atkinson正交持久化理论持久化对象,按照Association Algebra中关联算子 计算关联集来访问持久对象集的对象关系数据库的原理与方法. 关键词对象关系数据库:JAVA:PERSISTENCE 分类号TP309 目前关系数据库的研究已基本趋近成熟, 持,因为只要支持JAVA虚拟机,就可以作到不 而对象关系数据库的研究成为重点.典型的对 仅使对象持久也可以使类型持久,同时实现正 象关系数据库系统有两类:一类是由关系数据 父三原则.对于对象关系数据库,只有对象持久 库系统增加对类的支持和对象机制而构成的, 化仅仅是实现了对象的无缝连接也就是阻抗匹 如Informix中datablade模块,这种系统保特了 配,仍然不能进行应用中需要的集合操作,因此 与关系数据库系统的兼容性,但却是阻抗失配 还需要有对象数据库理论的集合语言.目前,A$- 的,即两种语言的类型系统不一致.另一类是在 sociation Algebra是有影响的一种对象关系理论 面向对象语言中增加对象持久功能而构成的, .如果要在JAVA语言中直接支持集合范型语 如O2,ObjectStore!,这种系统是阻抗一致的,但 言则需要对JAVA语言的语法进行扩充.我们认 却缺少SQL这种集合范型的查询语言设施,另 为可以在JAVA语言的基础上实现对象的正交 外,由于ObjectStore附着在C++上,由于编译系 持久化,同时支持Association Algebra的客户机 统的支持,持久对象不能使用持久化模式中的 服务器的对象关系系统 方法.此外,Glasgow大学Atkinson教授一直倡 导正交持久化语言.正交持久化认为语言中所 1JAVA对象关系数据库的原理 有的对象潜在都有同样的生命期.正交持久化 JAVA对象关系数据库是基于Atkinson的 设计的三原则是:(1)正交持久.不论什么类型的 正交持久化和Su的关联代数理论.一个典型的 对象都可以持久化,也就是说不仅对象被持久 正交持久化程序叫如下: 化了,而且对象的类型也被持久化了:(2)持久传 public class SaveSpag{ 递,对象的生命期是由它们的可达性来决定的, public static void main(String[]args){ 如果一个对象在程序执行之后仍然存在,要么 Spaghtti spl=new Spaghetti(27); 它被标识为一个持久根,要么它可以被·些已 Spaghtti sp2=new Spaghetti(5); 持久的对象引用:(3)持久独立.要求程序代码不 spl.add("somethingl"); 管是对长期数据(产生于稳定存储并且生命期 sp2.add("something2"); 超过程序的执行)或者是暂态数据(在一个常规 try{ 程序执行过程中产生并且只存在于程序的常规 PjavaStore pjs PjavaStore.getStoreO; 执行过程中),传统的程序设计语言如果没有专 Pjs.newPRoot(r1,sp1); 用编译程序就不能实现对象正交持久化,特别 catch(PJSexception e)(.)}} 是不能支持方法.JAVA为对象持久化提供了支 newPRoot方法建立一个String和spl之间 的约束,并把它记录为一个持久根,在函数执行 1998-09-12收稿刘庆文男,27岁,硕士第 卷 第 期 年 月 北 京 科 技 大 学 学 报 心 语言实现对象关系数据库 的方法 刘庆文 杨 扬 北京科技大学 信息工程学院 , 北京 摘 要 语 言 的产 生 以及 虚拟机的跨平 台性为开发新 的对象关系数据库提供 了方 便 , 提 出 了一 种 按照 正 交持久 化理论持久化对 象 , 按照 中关联算子 计 算关联集 来访 问持久对象集的对象关系数据库的原理与方法 关键词 对 象关 系数据库 分 类号 目前 关 系数 据 库 的研 究 己 基 本 趋 近 成 熟 , 而 对 象关系数据 库 的研 究成 为重 点 典型 的 对 象 关 系数 据 库 系统 有 两 类 一 类 是 由关 系数 据 库 系统 增 加 对 类 的支持和 对 象机 制而 构 成 的 , 如 中 模块 , 这 种 系统 保 持 了 与 关系数据 库 系统 的兼容性 , 但 却 是 阻 抗 失配 的 , 即 两 种 语 言 的类 型 系统不 一 致 另一 类 是 在 面 向对 象 语 言中增 加 对 象 持久 功 能 而 构 成 的 , 如 , ‘” , 这 种 系统是 阻 抗 一 致 的 , 但 却 缺 少 这 种集合 范 型 的查 询 语 言设 施 , 另 外 , 由 于 附着在 上 , 由于 编 译 系 统 的支持 , 持久 对 象不 能使用 持久 化 模式 中的 方法 此外 , 大 学 教 授 一 直 倡 导 正 交 持 久 化 语 言 正 交持 久 化 认 为 语 言 中所 有 的对 象潜在 都 有 同样 的 生 命 期 正 交 持 久 化 设计 的三 原 则 是 正 交持 久 不 论什么 类型 的 对 象 都 可 以持 久 化 , 也 就 是 说 不 仅 对象被持久 化 了 , 而且对 象的类型 也被持久 化 了 持久传 递 对 象 的生命期 是 由它 们 的可 达 性来决 定 的 , 如 果 一个对 象在 程 序执 行之 后 仍 然存 在 , 要 么 它 被标识 为一 个持 久 根 , 要 么 它 可 以被 一 些 已 持久 的对象 引用 持久独 立 要求程序代码不 管 是 对 长 期 数 据 产生 于 稳 定 存储 并且 生 命 期 超 过 程序 的执行 或 者 是暂态 数据 在 一 个 常 规 程序执行 过程 中产 生 并且 只 存在于 程序 的常规 执 行 过 程 中 传 统 的程序设 计 语 言如果 没 有专 用 编译 程 序就 不 能 实现 对象正 交持久 化 , 特 别 是 不 能支 持 方法 为对象 持久 化提供 了支 持 , 因 为只 要 支持 虚拟 机 , 就 可 以作到 不 仅 使对 象持 久 也 可 以使类型持久 , 同时实现正 交三 原 则 对 于 对 象 关 系数据库 , 只 有对 象持久 化 仅仅是 实现 了对象 的无缝连接也 就是 阻抗 匹 配 , 仍然不 能进行应 用 中需要 的集合操作 , 因此 还 需 要 有对 象数据库 理 论 的集合语 言 目前 , 是有影 响 的一 种对象关系理 论 如 果 要 在 语 言 中直 接支 持 集 合范 型语 言则需要 对 语 言的 语 法进 行扩充 我们 认 为可 以在 语 言的基 础 上 实现对 象 的正 交 持 久 化 , 同 时支 持 的客户机 服 务器 的对 象关 系系统 对象关系数据库 的原理 对 象关 系数据 库 是 基 于 的 正 交持久 化 和 的关联 代数理 论 一个 典型 的 正 交持久 化 程 序川 如 下 〕 ” ” ” ,, 毛 巧 , 诬… 方法建立 一 个 和 之 间 的约束 , 一 一 并把它 记 录 为一 个持久 根 在 函数执行 收稿 刘庆 文 男 , 岁 , 硕 士 DOI :10.13374/j .issn1001-053x.1999.04.021
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有