目前, 数据库已在世界上个国家得到广泛采用。同样她在我国也得 到了日益重视和积极采用,例如从围外引进后经过汉化的 休化医院 信息系统,由于它是基于 数据斥数据库平台的,因而它不仅在临床信息 管理上成功集成了电子病历、检验科室信息处理、和 系统的功能,并且 在性能上在系统的稳定可靠运行、节约数据库存储空间、和易丁进行数据库的 管理维护等方面体现出了众多优越性,因此已开始在北京和哈尔滨等地推广到 多家医院使用。更为可喜的是国内一些重要软件开发厂商经过一段时间对 后关系型数据库技术进行了测试、熟悉、和试用之后,已绛开始正式采 用 数据库自主开发应川系统。近几年来 公司在各地,如 在北京、上海、广州、深圳、江苏、浙江、辽宁和四川等省市为我国川户相继 举办过的 技术培训班也从另一个侧亩反映出 已日益得到中国用 户的关注和喜爱。 现在,我们高兴地看到 公司最近已多方面加大了对它在中国市场 推进的支持力度,其屮包括在上海和北京都已建立了办事处、和建立了屮文网 站。而为帮助屮国用户和读者编写的这本 数据库用户手册又是一个非常 重要的举措。 这是一本以前难得一见的专门关于 数据库及其应用的中文工具书籍。为 了便于了解和掌握后关系型数据库及其应用,本书撰稿者们在这本相当全面而 深入浅出的手册中,不仅对 后关系型数据库的各个组成部份及其优点和 特点作了综合的阐述,而且具体介绍了 数据库的安装和运行方法,着重 在于册中重点介绍了 数据库服务器端开发 对象脚 本语言、等关键组成部分及其技术特点和使用方法。并详细具体地提供了 如何用 开发基于 的应用、用 开发 应用、又或是从 客户端访问 数据库服务等应用示例。使读者能很快了解和掌握如 何使用 提供的自带开发环境与便利、以及利用 与流行的应用开 发工具问的无缝链接,通过创建 对象类及其实例等步骤,来快速有效地 开发和部署各种应用系统。同时在手册中还专门列出了数据迁移这部分内容, 对如何将数据库应用从关系数据库迁移到 后关系型数据库,或者利用 实现不同类型的数据库之间的集成整合都作了详细的 介绍。无疑,手册中的上述这些内容、以及提供的一些参考资料附件,都将可 以在很大程度上帮助读者迅速入门。 总之,这本手册不仅可以用作了解和掌握 后关系型数据库及采用它进行 应用开发的培训教材,而且也可以作为 的一本参考性于册使用,供程序 员查阅和其他读者自学之用。 王继中 中国医药信息学会技术专业委员会主任委员 月于北京 目录 第一章 基本概念 第二章初尝 面向对象开发 第三章 语言及其语法 第四章以 开发应用程序 第五章以开发 应用程序 第六章以 开发 应用程序 第七章以开发应用程序 第八章平行数据迁移和 附录 参考资料 第 基本概念 第一章 基本概念 引 年之前出现了关系型数据库理念和在年出现了第一个商品化的关系 数据库产品之后,关系型数据库在它的技术演变和应用规模上有了很大的发 展,曾被誉为数据斥领域的重大的创新之一。关系型数据库用统一的数据结构 取代了以前单一的、结构不一的数据库,将数据以表格形式进行存储;任何懂 此 查询语言的人,都可以访问数据,它在这些方面取得了成功,然而, 在实践中人们发现关系型数据库系统虽然技术已相当成熟,但其局限性也是显 而易见的:它能很奷地处理所谓的“表格犁数据”,却对技术界出现的越来越 多的复杂类型的数据无能为力。作为一种旧技术,关系型技术有很多的局限 性,使得它在岦今世界的适应性大大降低,主要表现在它的效率性能、可扩展 性、和使用的简洁性较差,以及难于适应和现代快速应用开发技术相匹配的新 需求。 计算机应用程序的广泛使用、复杂性的快速升级和当今系统不断增长的处理需 求已经超过了关系型技术的能力。许多要求高性能和高扩展能力的关键应用有 许多是从来没有在系数据库实现或迁移到关系型数据库上的,现在即使很简 单的应用也开始触及到传统关系型技术的性能极限。 关系型数据库和当今开发技术的“阻抗不匹配”现象已经成为了一个严重的问 题,它使得开发过程更加复杂,失败机率大为增高。尽管表格结构的简洁可以 支持了强大的询语言的使用,但现实世界的复杂数据是很难分解为这种 简单的行列结构的。其结果就是是数据库应用中产生了大量的表,表和表之间 第 基本概念 的关系就变得很难记忆和表达。行列结构是简单,但是留给程序完成的外连 接、存储过程、触发器就不是这么简单了 现代的应用程序通常都是使用面向对象的技术编写的,这种技术更加简单、直 观、可靠和有效,并且可以大大缅短开发周期和提高健壮可用性。所以,我们 需要一种可以解决这个问题的数据库产品,这就是融合了对象技术和关系两大 技术长处的 它既克服了以往关系型数据库和不成熟的“纯粹的对象数 据库”存在的缺陷,乂不会出现在所谓的“对象一关系数据库”中存在的难以 实现高性能的弱点。在 数据库中具有与众不同的独特的多维数据结构, 并且同时具备高速性能、高可伸缩性、面向对象和面向应用的特色;它不 仅不会出现关系型数据厍那种固有的局限性,而且保持了可以继续使用 杳 询语言的便利。 第 基本概念 后关系型数据库 是新一代高性能数据库技术,被誉为创新的“后关系型”数据库( )。作为后关系型教据厍,它整合了对象数据库访问、高 性能的访问、强大的多维数据访问——这三种方法能够天衣无缝地同时访 问相同的数据。数据只要在单一的整合数据字典中描述一次,就可被这三种方 法访问。 提供了比关系型技术更加高效的性能,更大的扩展性,更快速 的编程能力和更加便捷的使用性能。 提供不仅是一种单纯的数据库技术。在 屮包括一个应用服务器, 这个服务器提供高级对象编程,并且可以很容易地与很多技术集成。 提供高性能的运行环境,这一运行环境采用了独特的分布式数据缓存协议技 术 还在另一方面远远胜过了传统的数据库技术。 为开发复杂的、基 于网页应用程序提供了丰富的集成开发环境。 ()技 术可以进行快速开发,动态产生。上千个用户甚至在在比较差的使件条件下也 可以同时访问数据上的应用程序 对于那些不基于浏览器的应用,用户接口可以用任何一个流行的程序设计语言 来编写,例如可以任意选用程序员自己熟悉的, 或者 米编程。剩下的工作都交给 运行,这样可以得到最好的结果(最快的编 程效率,最高的性能,最低的维扩成木)。另一方面, 也提供了与其他 技术的交互,支持大多数通用的开发工具,所以开发方法的选择范围很大 第 基本概念 的数据存取模式 架构 后关系型数据库 的特点是高效率、很好的延展性、应用程序的快速开发 能力、和低成木。这些特点可以从基木架构得到反映。 使用的是一种高效的多维数组形式存储数据,即使在使用比其他数据库 系统配置更低的硬件条件下高负荷运行也能保证高效率。此外, 能运用 各种技术存取数据,开发者可以选择使用自己熟悉的和易于得到的开发工具, 这就大大提高了开放性和应用程序廾发的能力。 多维数据引擎 与关系型数据库不同 以多维数组存储数据,而关系数据库以两维表存 储数据。 除了使现实数据建模成为可能,还因为减少了表连接等处理过 程(这在关系型数据库中是非常频繁的),所以运用多维数组能更快地存取数 据。 从它的独特的数据机构中获得了许多强人功能,关键之处在于 的数据库引擎为我们提供了一套完整的服务:包括数据存储、并发管 理、事务处理、和过程管理,这就为我们提供了强人的可用于建立复杂管理系 统的功能和工具。 的另一个提高性能的特征就是 具有独特的分布式缓存协议, 大大减少了分布式系统中的网络通信吞吐量。在有的客广所进行的数据库应用 程序性能的比较测试中, 数据库的响应性能要比关系型数据库快 倍。 第 基本概念 虽然在 屮数据是以多维数据结构形式存储的,但 允许开发者用 任何他们选择的方式进行数据建模:对象,表格,或者多维数组 拥有 个非常易用的图形界面开发环境米建立和丌发 对象。 还可以 接受从 对象建模工具或以文件(数据库定义语言)形式的 导入。 统一的数据架构使所有数据都能以对象和表格形式被访问。既不需要为 从一种数据形式到另一种数据形式进行映射,也不需要为不同数据形式的转换 进行处理。统一的数掂架构提高了编程效率和应用程序性能。 提供了可以用多和技术编写数据库和业务逻辑的能力 的 支持所有数据存取方法:对象, ,多维和嵌入式 非常相似,只是做了很少的调整扩展,以便利用 独特的性能 存取 公司的核心价值一致, 提供了与连接和其应用程 序开发平台,这些都进一步提高了效率和延展性。在 独特的网络架构 中 服务器页面( )在数据服务器上运行,与他 们要存取的数据放在一处。这样不但提高了效率而且通过降低网络服务器的负 荷而大大提高了延展性,从而能处理更多的浏览器请求 运用对象技术的快速开发能力来开发 服务器页面。每一个 服务器页向本身就是一个对象,它能从 提供的系统对象中 继承会话管理方法和各层安全策略。这就使应川程序开发者不需要再开发大量