1、2023-1-17数学与信息科学学院1面向对象技术与数据库技术结合面向对象技术与数据库技术结合*制作2023-1-172008710201392本讲要点本讲要点n新的数据库应用n面向对象基本概念n面向对象技术与数据库技术相结合途径n对象关系数据库系统2023-1-1720087102013932023-1-172008710201394知识脉络知识脉络数据库数据库技术技术面向对象面向对象技术技术对象对象关系数据库关系数据库结合2023-1-172008710201395新的数据库应用新的数据库应用n计算机辅助设计(CAD)。CAD数据库存储了与一个工程设计相关的数据,包括所设计物品的各个组件、
2、这些组件之间的相互关系以及设计的各个先前版本。n计算机辅助软件工程(CASE)。CASE数据库存储了用于辅助软件开发的一些数据。n多媒体数据库。多媒体数据库包含图像、空间数据、音频数据、视频数据以及其他类似的数据。2023-1-172008710201396新的数据库应用新的数据库应用n办公信息系统(OIS)。办公自动化包括基于工作台的文档生成和检索工具、维护日程安排的工具,等等。n超文本数据库。超文本是经过增强的文本,它带有指向其他文档的链。2023-1-172008710201397面向对象基本概念面向对象基本概念n面向对象方法的基本思想是:从现实世界中客观存在的事物(对象)出发,以尽可能
3、接近人类思维的方式建立模型,对客观事物进行结构模拟和行为模拟。n面向对象的基本概念包括对象、属性、方法、消息、封装、类、继承、多继承等2023-1-172008710201398面向对象基本概念面向对象基本概念n对象结构与封装性一个对象由一组属性和对这组属性进行操作的一组方法构成。属性是用来描述对象静态特征的一个数据项。方法是用来描述对象动态特征的一个操作序列。n消息是用来描述对象执行某一操作或回答某些信息的要求。封装是一种信息隐蔽技术。对象本身就是一种封装,把一组属性和对这组属性进行的操作结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。2023-1-172008710201399面向对
4、象基本概念面向对象基本概念n对象类类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。在系统中通常有很多相似的对象,它们具有相同名称和类型的属性,响应相同的消息,使用相同的方法。n对每个这样的对象单独进行定义是很浪费的,因此,我们将相似的对象分组形成一个类,每个这样的对象被称为类的一个实例,一个类中的所有对象共享一个公共的定义,尽管它们对属性所赋予的值不同。2023-1-1720087102013910面向对象基本概念面向对象基本概念n继承类构成特殊化层次(ISA联系)。ISA联系中子类的对象拥有其超类的对象的全部属性和方法,称做子类对超类的继承。n一个类可以从
5、多个超类中继承属性和方法,这称做多继承。在多继承的情况下,类与子类的关系可以用一个有向无环图来表示,其中一个类可以有多于一个的超类。2023-1-1720087102013911面向对象基本概念面向对象基本概念n对象标识对象的标识是一种概念上的东西,实际的系统需要一种物理机制来惟一标识对象。面向对象系统提供了一种对象标识符的观念来标识对象。n对象标识符是惟一的,也就是说,每个对象具有单一的标识符,并且没有两个对象具有相同的标识符。对象标识符的形式不必一定是人所容易理解的。2023-1-1720087102013912面向对象基本概念面向对象基本概念n对象包含一个(或一些)对象是另一个对象的组成
6、成分(is-part-of 联系)称做对象包含。n包含其他对象的对象称为复杂对象或复合对象。2023-1-1720087102013913面向对象技术与数据库结合途径面向对象技术与数据库结合途径数据库数据库技术技术面向对象面向对象技术技术结结合合途径途径1 1途径途径2 22023-1-1720087102013914面向对象技术与数据库结合途径面向对象技术与数据库结合途径n以面向对象程序设计语言为基础进行扩展,研究持久的程序设计语言,使之具有数据库功能;n直接将数据库系统的特性与面向对象程序语言的特性结合起来,研制面向对象的数据库系统(OODB)n代表性的面向对象数据库产品有Gemstone
7、、Objectivity、ObjectStore、Ontos、O2、Versant等2023-1-1720087102013915结合商品化的原因结合商品化的原因n面向对象数据库系统的商品化现状远不如20世纪80年代中后期开始研究的面向对象技术与数据库技术相结合时人们预想的高,其原因是多方面的。n首先,OODB缺乏标准;其次,OODB产品在安全性、完整性、坚固性、可伸缩性、视图机制、模式演化等许多方面都不如RDB产品;另外,OODB系统的应用开发工具很少,对客户/服务器环境的支持也不够,以上多种原因使得许多预期的用户并没有很快地转向OODB系统。2023-1-1720087102013916面
8、向对象技术与数据库结合途径面向对象技术与数据库结合途径n以传统的关系数据库和SQL语言为基础,进行扩展的方法n这种方法早期的典型代表是加州大学Berkeley分校研制的扩展关系数据库系统POSTGRES2023-1-1720087102013917面向对象技术与数据库结合途径面向对象技术与数据库结合途径n它以关系数据库系统Ingres为基础,将它的类型系统开放,允许将新的,用户定义的抽象数据类型(ADT)加进来,用户定义新的ADT时需要实现这个类型,即定义它的表示法和编写它的函数。n特别地,它采用了一种“把过程作为数据类型的方法”,并采用了预先计算和查询改写的技术来减轻这种以过程为中心的方法所带来的开销。2023-1-1720087102013918对象对象关系数据库系统关系数据库系统n对象关系数据库系统通过支持面向对象的建模能力来管理复杂数据,通过支持SQL超集来有效地支持查询。2023-1-17200871020139192023-1-1720087102013920面向对象技术与数据库结合途径面向对象技术与数据库结合途径n对象关系数据库系统具有如下的基本特性:nSQL环境中对基本数据类型扩充的支持nSQL环境中对复杂对象的支持nSQL环境中对继承性的支持n对规则系统的支持2023-1-17数学与信息科学学院21