文档详情

数据库基础入门精通篇.ppt

发布:2016-12-16约5.05万字共508页下载文档
文本预览下载声明
* OQL编程——变量赋值 OQL与OOP宿主语言体系是匹配的 直接可以使用OQL的结果对象 oldMovies = Select Distinct m From Movies m Where m.year 1920 SetMovie oldMovies * 从聚集中提取元素 OQL的结果集(即使只有一个对象) 集合 包 ELEMENT运算符 获得仅有单个对象的结果集中的成员 gwtw = ELEMENT(Select m From Movies m Where m.title = “Gone With the Wind”); * 获取聚集的每个成员 类似于SQL中的Cursor,但比Cursor便捷 OQL结果集(集合或包)→列表 OQL中的Order By使结果集成为列表 利用宿主语言的循环语句,逐个获取列表中的元素 * 获取聚集的每个成员 movieList = Select m //ListMovie From Movies m Order By m.title,m.year; numberOfMovie = COUNT(Movies); for(i=0;inumberOfMovies;i++){ movie = movieList[i]; …… } * 建立新对象 产生新的对象 Select-from-where 类型构造符、常量、表达式 * 建立新对象 构造 x = Struct(a : 1,b : 2); y = Bag(x,x,Struct(a : 3,b : 4)); * 建立新对象 查询(Select - From - Where) Select Distinct StarPairs(star1:s1,star2:s2) From Stars s1,Stars s2 Where s1.addr = s2.addr And 构造对象类型StarPairs:Struct{star1:Star,star2:Star} * 建立新对象 建立一个Movie对象 gwtw = Movie(title : “Gone With the Wind”, year : 1939, length : 239, ownedBy : mgm); * SQL3中的元组对象 OODBMS中OQL描述对象为结构的集合(或者包),关系是次要的 ORDBMS中关系是重要的,关系是核心 Row Object (Row Type) 本质上就是元组(tuple) Abstract Data Type (ADT) 作为元组分量的对象 * SQL3——行类型 定义元组类型 类似于ODL中的Class Create Row Type T(分量说明) * SQL3——行类型 Create Row Type AddressType( street Char(50), city Char(30) ); Create Row Type StarType( name Char(30), address AddressType ); * SQL3——具有行类型的关系 OF TYPE 行类型名 Create Table MovieStar OF TYPE StarType; * SQL3——访问行类型的分量 行类型是关系的分量,行类型本身包含分量 以“..”表示分量的分量(层次) Select MovieS, MovieStar.address..street From MovieStar Where MovieStar.address..city = ‘SFO’ * SQL3——行类型的引用 行类型可以被引用作为另一行类型的分量 通过具有引用类型的属性,直接引用对象(元组) REF(T) * SQL3——行类型的引用 Create Row Type MovieType( title Char(30), year Integer, inColor Bit(1) ); Create Table Movie OF TYPE MovieType; Create Row Type StarType( name Char(30), address AddressType, bestMovie REF(MovieType) ); * SQL3——行类型的引用 通过REF引用对象(元组),实现关系的联系 多对多的引用 * SQL3——行类型的引用 Create Row Type MovieType( title Char(30), year Integer, inColor Bit(1)); Create
显示全部
相似文档