第10章 面对象数据库.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 面对象数据库

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 例10-6 查询广州地区大学中教师开设课程的课程名: SELECT DISTINCT C.cname FROM universities U,U.staff F,F.teach C WHERE U.city = ‘guangzhou’; 说明 关键字DISTINCT消除了结果中重复部分,此时查询结果为集合set,否则为包bag。 10.3 ODMG数据操作 10.3.1 数据创建 * 例10-7 上述查询也可以用子查询表示,但查询出现在FROM中: SELECT DISTINCT C.cname FROM (SELECT U FROM universities U WHERE U.city = ‘guangzhou’)D1 (SELECT F FROM D1.staff F)D2 D2.teach C; 10.3 ODMG数据操作 10.3.1 数据创建 * 说明 这个语句并不比前一个语句简洁,实际上更差,但说明了OQL中建立出查询的新的形式。在其中FROM子句中,具有三个嵌套的循环。在第一个循环中,变量D1覆盖了广州地区所有大学,这是FROM子句中的第一个查询的结果。对于嵌套在第一个循环外的第二个循环,变量D2覆盖了大学D1的所有教师。对于第三个循环,变量C覆盖了该教师的所有任课。在此语句中不需要WHERE子句。 10.3 ODMG数据操作 10.3.1 数据创建 * 例10-8 这个语句也可用在WHERE子句中嵌有子查询的形式: SELECT DISTINCT C.cname FROM coursetexts C WHERE C.teacher IN (SELECT F FROM faculties F WHERE F.works_for IN (SELECT U FROM universities U WHERE U.city = ‘guangzhou’)); 10.3 ODMG数据操作 10.3.1 数据创建 * 例10-9 查询中山大学教师,要求按年龄降序排列,若年龄相同按工资降序排列。该查询语句是: SELECT F FROM universities U,U.staff F WHERE U.uname=‘zhongshan university’ ORDER BY F.age DESC,F,salary; 10.3 ODMG数据操作 10.3.1 数据创建 * 说明 通常SELECT语句中查询结果为集合(set)或包(bag),但加上ORDER BY后,输出结构就为列表(List)。在集合或包中,行序是无所谓的,但在列表中,行序就是重要的了。 10.3 ODMG数据操作 10.3.1 数据创建 * 例2-10 如下查询返回式列表而不是集合或包: (SELECT F.fno,F.name FROM faulties F ORDER BY F.age DESC)[0:4]; 说明 表达式[0:4]表示抽取年龄最大的5名教师。 10.3 ODMG数据操作 10.3.1 数据创建 * 例10-11 查询广州地区各大学中教师开课的课程名称,要求显示校名、教师名和课程名: SELECT Struct(U.uname,set(F.uname,set(C.cname))) FROM universities U,U.staff F,F.teach C WHERE U.city=‘guangzhuo’; 10.3 ODMG数据操作 10.3.1 数据创建 * 说明 SELECT子句中表达式不必是简单的变量,也可以是任何表达式,包括类型构造符构成的表达式。本查询就用了struct类型构造符合set类型构造符。SELECT中的struct是一种显式定义结构类型的方式,在实际使用中可以省略。 WHERE Sno ≌‘S5381’; 10.3 ODMG数据操作 10.3.1 数据创建 * * * * * * * * * * * * * * * * * * * * * * * * ③ 数据约束 数据约束也是一种方法,即是一种逻辑表示式,可以用类中方法表示模式约束。面向对象数据一般使用方法或消息表示完整性约束条件,称为完整性约束方法与完整性约束消息,并在其之前标有特殊标识。 10.2 数据模型 10.2.1 基本概念 * 面向对象数据模型直观描述就是面向对象方法中的类层次结构图。面向对象数据模型中的对象由一组变量、一组方法和一组消息组成,其中描述对象自身特性的“属性”和描述对象间相互关联的“联系”也常常统称为“状态”(

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档