- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle8 对象关系数据库;高端数据库-提高DBMS管理上限
Oracle8对象关系数据库
扩充的类型系统
对象关系数据库
;一、高端数据库-提高DBMS管理上限;支持上万个并发用户
多线程服务器(用少量的服务器端进程管理大量的客户端用户。
Net8(SQL*net)
连接管理器—连接池(TNS资源)、多路传输、应用请求集中化
更有效地使用网络资源
避免操作系统对服务器网络连接数的限制
客户端(服务器) 服务器;二、扩充的类型系统 -对象关系数据库;数据库新的应用领域;应用需要新的数据类型;传统关系数据库的数据类型;传统关系数据库的数据类型;关系数据库的数据模型;数据模型演变;关系模型的特点;Oracle8— 扩充的类型系统;面向对象的基本概念;面向对象的基本概念 ;对象的属性与方法;对象与类;面向对象的数据模型;面向对象数据库;数据模型;对象模型与关系模型;对象模型与关系模型;Oracle的扩充类型;扩充类型的不同应用;利用对象类型定义复合数据类型;用户自定义数据类型;对象类型数据的操作;对象类型数据的操作;对象类型数据的查询;对象类型数据的查询;对象类型数据的操作;用户自定义数据类型;自定义数据类型上的索引;使用对象表 —面向对象数据库设计;建立对象表的类;对象属性类型;对象方法;;建立对象表;建立对象类型例;创建对象表;建立对象类型体;对方法的限制;对方法的限制;对方法的限制;对象类型--构造子方法;对象表操作;获取行对象—value函数;对象表方法调用;在PL/SQL程序中,取得的对象实例必须被相同类型的对象变量接收。
例:
declare
emp employee_type;
begin
select value(e) into emp
from employees e
where empno=1;
emp.raise_salary(500);
end;
/;PL/SQL中对象方法的调用;附:PL/SQL输出与环境设置;对象方法小结;对象表的特性;获取对象引用—ref 函数;对象引用例;对象引用例;对象引用例;对象引用例;对象引用例;CREATE TABLE orders OF order_type
( FOREIGN KEY (gno) REFERENCES goods(gno) ) ;;对象表—对象引用;INSERT INTO orders
SELECT 1, ref(c), ‘7-1月-2000’,165, 101
FROM cust c
WHERE custid=1;
UPDATE orders
SET customer = ( SELECT REF( c )
FROM cust c
WHERE custid = 2 )
WHERE orderid = 1 ;
;引用类型数据的操作;对象引用—简化了代码;deref函数;SQL语句中的排序和比较;对象类型的排序方法;MAP 方法例;在类型体中实现MAP方法:
CREATE TYPE BODY name_type AS
MAP MEMBER FUNCTION name_map RETURN varchar2
IS
BEGIN RETURN first_name || last_name ;
END;
END;
排序:
SELECT custid , c.address.city
FROM cust c
ORDER BY name desc ;
;ORDER 方法;ORDER 方法例1;在类型体中实现方法:
CREATE OR REPLACE TYPE BODY address_type
AS
ORDER MEMBER FUNCTION
address_order(other_address address_type)
RETURN INTEGER
IS
BEGIN
IF self.zip other_address.zip THEN
RETURN 1 ;
ELSIF self.zip other_address.zip THEN
RETURN -1;
ELSE RETURN 0;
END IF;
文档评论(0)