文档详情

数据库新技术概述.ppt

发布:2025-04-04约9.04千字共10页下载文档
文本预览下载声明

面向对象数据库建模(Cont.)ODL中方法的说明*类的另一个特性是方法,方法是与类相关的函数。01类中的每一个对象都能引用方法,同一方法可用于多个类,这是面向对象语言的特点。02方法说明中主要有方法名、方法的输入/输出类型说明等。而方法的实际代码是用宿主语言写的,代码本身不是ODL的一部分。03调用方法时,可能会引起异常,即出现异常或非希望的情况,这种情况一般应由某个函数来处理(相当于出错处理)。在ODL的方法说明中,提供关键字raises(引发),在括号里列出异常处理列表。04面向对象数据库建模(Cont.)*例子:类student的扩充定义,增加了方法的说明:interfacestudent(keyname){attributestringsno;attributestringname;attributeintegerage;attributeenumsextype{male,female}sex;relationshipcollegestudyininversecollege::owns;relationshipsetitemjoinsinverseitem::joinby;StringDepartname()raises(nodepartFound);Otheritem(initem,outsetstudent)raise(noitemin);};第一个方法是Departname,该函数将产生一字符串型的返回值。第二个方法是Otheritem,该函数没有任何返回值,其输入参数类型为item,输出参数为student的对象集合。面向对象数据库建模(Cont.)*E-R模型向面向对象数据模型的转换当建立了现实世界的E-R模型以后,可将其转换为O―O模型。转换时,可按照以下的步骤进行:将E-R模型中的每个实体集生成一个类,实体集的属性转换为类的属性。将E-R模型中具有ISA联系的实体集生成的类之间建立类/子类关系。在转换得到的类中加入联系的说明。转换中联系的说明对原E-R模型中有一对一联系的实体集,在其生成的类中,都加入联系说明,说明其和另一个类中的一个对象有关。对原E-R模型中有一对多联系的实体集,在一方生成的类中,加入联系说明,说明其和另一个类中的对象集合有关;在多方生成的类中,加入联系说明,说明其和另一个类中的一个对象有关。对原E-R模型中有多对多联系的实体集,在其生成的类中,都加入联系说明,说明其和另一个类中的对象集合有关。对象-关系数据库*按照1990年高级DBMS功能委员会发表的“第三代数据库系统宣言”,一个对象—关系数据库系统必须满足两个条件:一是支持一核心的面向对象数据模型;二是支持传统数据库系统所有的数据库特征。对象-关系数据库(Cont.)*对象-关系数据库系统除了具有原来关系数据库的各种特点外,还应该提供以下特点:扩充数据类型:允许用户自己定义数据类型、函数和操作符,而且这些新的数据类型、函数和操作符一经定义将存放在数据库管理系统核心中,如同基本数据类型一样可供所有用户共享。支持复杂对象:能够在SQL中支持复杂对象。复杂对象是指由多种基本数据类型或用户自定义的数据类型构成的对象。支持继承的概念:能够支持子类、超类的概念,支持继承与派生的概念,支持单继承与多重继承,支持重载。提供通用的规则系统:能够提供强大而通用的规则系统,如规则中的事件和动作可以是任意的SQL语句,可以使用用户自定义的函数、规则能够被继承等。对象-关系数据库(Cont.)*实现对象-关系数据库系统,可以采用方法:从头开发对象-关系数据库系统。这种方法费时费力,一般不采用。在现有的关系型数据库系统基础上进行扩展。五种扩展方法对关系型数据库系统核心进行扩充,逐渐增加对象特性。不修改现有的关系型数据库系统核心,而是在现有关系型数据库系统外面加上一个包装层,由包装层提供对象-关系型应用编程接口。将现有的关系型数据库系统与其他厂商的对象-关系型数据库系统连接在一起,使现有的关系型数据库系统直接而迅速地具有了对象-关系特征。将现有的面向对象型数据库系统与其他厂商的对象-关系型数据库系统连接,使现有的面向对象型数据库系统直接而迅速地具有了对象-关系特征。扩充现有的面向对象的数据库系统,使之成为对象-关系型数据库系统。思

显示全部
相似文档