- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1 引言 ORSQL模型:对象 - 关系SQL模型 支持用户对象定义; 对象:一组可以存储在一个表中的某类型的数值; ORACLE:对象类型 INFORMIX:行类型 DB2 UDB:用户定义类型 UDT:SQL-99标准 表:包含用户定义类型的多个行; 列:包含一个用户定义类型的值。 4.1 引言 COLLECTION TYPE:汇集类型 对象-关系模型允许一个行包括一个行值汇集; 单个列允许包含多个值或结构化数据值; 违反了第一范式的规则。 4.1 引言 方法和UDF 在纯面向对象的环境中,所有数据都是私有的,一个对象类的方法的汇集刻画了该类的行为; 例如某银行账户对象: get_balance(), make_deposit() 在ORDBMS中,所有对象被看作是公共的而非私有的。 UDF:用户定义函数 4.2 对象和表 ORACLE中的对象类型(C中的结构类型):一个对象类型有多个类型属性。 create type name_t as object ( lname varchar(30), fname varchar(30), mi char(1) ); create table teachers ( tid int, tname name_t, room int ); insert into teachers values (1234,name_t(‘Einstein’, ‘Albert’, ‘E’),120); 4.2 对象和表 对象类型的访问: 必须用表的别名限定select语句中的所有列; 对顶层属性可不加限定; 顶层以下的属性严格限定; 用“点号”的形式来访问表中的对象列。 select t.tid, t.tname.fname, t.tname.lname from teachers t where t.room=123; select tid, tname.fname, tname.lname from teachers where room=123; Χ 4.2 对象和表 一个对象类型可用另一个对象类型的属性来定义。 例4.2.3 构造一个分别包含人的社会保障号、姓名和年龄的对象类型person_t。 create type person_t as object ( ssno int, pname name_t, age int); 删除对象类型name_t 之前,必须先删除对象类型person_t 。 4.2 对象和表 对象表:一个表中的行包含对象类型 每一行由该类型的一个对象组成 例4.2.4 构造一个包含person_t对象(行)的名为people的对象表,社会保障号为主键。 create table people of person_t(primary key(ssno)); 4.2 对象和表 无名顶层列:可用value(p)的形式引用整个people的全行对象。 select value(p) from people p where age25; 4.2 对象和表 例4.2.5 显示Jose F.Sanchez的所有信息。 select value(p) from people p where p.pname=name_t(‘Sanchez’, ‘Jose’, ‘F’) 例4.2.6 显示姓氏以‘Pat’开头、年龄大于50的所有人的姓名和年龄。 select p.pname,p.age from people p where p.pname.fname like ‘Pat%’ and p.age50; 4.2 对象和表 Insert和Update语句:使用对象构造器为新行指定值 insert into people values(123441998,name_t(‘Einstein’, ‘Albert’,‘E’),100); insert into scientists select p.pname from people p; 例4.2.7 建立一个包含行对象类型为name_t的scientists表,并将‘Albert E Einstein’插入表中。 create table scientists of name_t; insert into scientists values(‘Einstein’, ‘Albert’,‘E’); insert into scientists name_t(‘Einstein’,‘Albert’,‘E’);× 例4.2.8 将ssno为321341223,pname和age为空值的行插到people中。 insert into people values(321341223,null,nul
您可能关注的文档
- 第八章 客户端客户端客户端客户端.pdf
- c++试题与答案解析.doc
- 第2.1讲 Linux启动过程分析.ppt
- 软件工程导论第五版 第七篇.doc
- Java第三讲面向对象技术的复习回顾.ppt
- 第6篇_时序逻辑电路 课后答案.doc
- 杭州地铁1号线浅覆土盾构区间设计施工难点与处理_陈怀伟.pdf
- 用开源软件有多大风险资料.pdf
- 第十三章 呼叫中心系统技术介绍以及建设投资分析.doc
- 第3讲 结构化查询语言SQL.ppt
- 贵州贵州省建设投资集团有限公司招聘考试真题附答案详解(研优卷).docx
- 河南南阳师范学院2021年招聘25名硕士研究生冲刺卷一(附答案与详解)及答案详解(名校卷).docx
- 陕西延长石油 (集团) 有限责任公司 所属单位招聘笔试题库及答案详解(必刷).docx
- 贵州民航产业集团有限公司招聘笔试题库含答案详解(基础题).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库含答案详解(考试直接用).docx
- 邢台市水务发展集团有限公司招聘真题附答案详解(实用).docx
- 新华保险总部人力资源部(党委组织部)招聘笔试题库含答案详解(预热题).docx
- 贵州苔茶产业发展集团有限公司招聘笔试题库含答案详解(b卷).docx
- 广汉市2025年公开招聘社区专职工作者(125人)考试备考题库附答案详解(综合题).docx
- 贵州城乡产业发展集团有限公司招聘笔试题库附答案详解(实用).docx
最近下载
- 机关干部保密培训课件.pptx VIP
- (高清版)B/T 42583-2023 信息安全技术 政务网络安全监测平台技术规范.pdf VIP
- 棕色中国风项羽刘邦PPT模板.pptx VIP
- 浦发银行公司网银安装使用说明.docx VIP
- 高中物理竞赛知识点总结.pdf VIP
- 2025山西运城夏县招聘司法协理员27人(一)备考试题及答案解析.docx VIP
- 十二年国民基本教育课程纲要国民中学暨普通型高级中等学校.PDF
- 《阿甘正传》电影赏析.pptx VIP
- 《二次函数与一元二次方程、不等式大单元》教学设计【高中数学人教A版必修第一册教案】.docx VIP
- 第九届全国青年数学教师优秀课课件 四川—魏静—课件—函数的极值与导数.pptx VIP
文档评论(0)