- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.2Oracle中的对象.doc
Oracle数据库设计与实现 理 论 部 分
第五章 Oracle中的OOP概念
PAGE 136
PAGE 137
理 论 部 分
第五章 Oracle中的OOP概念
本章目标:
完成本章内容以后,您将能够:
解释ORDBMS与RDBMS之间的区别
解释Oracle中的对象
简介
在上一章中,我们讨论了Oracle中可用的各种数据库对象。本章将讲解RDBMS与ORDBMS之间的区别。然后讨论面向对象编程(OOP)的概念及其优点。最后将详细讨论各种对象类型。
5.1 ORDBMS与RDBMS的区别
数据库管理系统的发展经历了层次模型、网络模型和关系模型。目前最广泛接受的数据库模型是关系模型。传统的Oracle系统是关系数据库管理系统(RDBMS)。Oracle将关系模型扩展为对象–关系模型,从而可以在关系数据库中存储复杂的业务模型。对象–关系模型允许定义对象类型。该模型指定了数据的结构、对数据的操作方法以及如何在关系模型中使用这些数据类???。
在ORDBMS中开发应用程序要比在传统的系统中开发应用程序快得多。在传统的系统中,每当需要在应用程序的不同模块中使用相同的功能时,都必须编写并编译代码。在使用ORDBMS的情况下,每当需要使用相同的功能时,都可以创建并重用对象。RDBMS 本身就比ORDBMS慢,因为修改和实现需要一定的时间。
在ORDBMS中,以下几个方面变得非常简单:
理解表、行以及列
理解两个表之间的关系
分析各种元素之间的关系
5.1.1 面向对象编程的概念
面向对象编程是在程序中组织数据和代码的一种方法。要理解面向对象编程,首先需要了解类、对象、属性以及方法。
对象
对象是可重用的程序组件,开发人员只需知道它,而无需了解它的工作原理。对象是系统中的基本实体。这些对象可以表示人、地点、银行帐户或由程序处理的任何项目。每个对象都包含一种属性,以及一个或多个方法。属性可以是对象的任何特性。
类
类是指对象的定义。类可以用来将整组的数据和代码放入一个用户定义的数据类型中。一旦定义了类,就可以创建许多属于该类的对象。
属性
每个对象都由若干方法和属性构成。属性用于标识对象,例如姓名、电话号码、部门编号等。这些属性是在对象的类定义中以变量声明的形式实现的。
方法
方法是用于执行与对象有关的操作的函数和过程。任何与对象有关的操作都是作为方法来实现的。比较两个对象就是方法的一个示例。
5.1.2 面向对象编程的特性
面向对象编程具有以下三个主要特性:
封装
继承
多态
封装
将数据和函数包装到一个单元中的过程称为“封装”。不能从外部访问数据,只有包装在类中的那些函数才能访问数据。这些函数在数据与程序之间提供了接口。封装数据以使程序无法直接访问的行为称为“数据隐藏”。
继承
图5.1:类型层次
A
所有子类型的父类型
D
A的子类型
B
A的子类型
C的父类型
C
B的子类型
继承允许在设计新对象时,继承已经创建的对象的功能。它是一个类的对象获取另一个类的对象的属性的过程。继承体现了重用的思想,可以向现有类中添加额外的功能,而无需修改此类。这一特性的优点是,可以将对软件对象定义的修改传播给同一类型的所有对象、以及继承这些对象的所有对象,等等。
SQL类型的继承
通过创建添加了某些不同特性(如其他的属性或方法)的子类型,可以将对象类型专门化。子类型由父对象类型派生而来,父对象类型也称为派生子类型的“父类型”。子类型与父类型是通过继承相关的:子类型由父类型专门化而来,它拥有父类型的所有属性和方法,并拥有该子类型自身定义的任何专门化特性。子类型还可以添加自己的新属性和新方法,通过继承将其子类型和父类型连接起来,形成类型层次。图5.1显示了父类型与子类型的层次关系。
子类型既可以从父类型直接派生而来,也可以通过中间层次上的其他子类型间接派生而来。通过定义父类型的一个专门化的变体,即可从父类型派生出子类型。例如,从对象类型Students可以派生出两个专门化的类型:School _student和College_student。这两个子类型的每一个实际上仍然是Student,但却是一种特殊的Student。在子类型中,通过对其从父类型获得的属性或方法进行某些修改,可以使子类型专门化,并且与其父类型有所不同。
对象类型的属性和方法形成了该类型的特点。这些属性和方法是类型本质的、起到定义作用的特性。如果Student类型具有Student_id、name和address三种属性以及方法get_id(),那么所有从Student派生的对象类型都将拥有这三个属性以及方法get_id()。子类型是其父类型的一个特例。
方法的继承
子
您可能关注的文档
最近下载
- 【专项练习】四年级上册数学试题--第二单元专项—《填写单位》 人教版 (含答案).doc VIP
- 药学英语(上册)(第5版)史志祥课后习题答案解析.pdf
- 高中入团思想汇报范文(6篇).docx VIP
- 公路大中修工程交通组织方案设计与研究-来源:现代企业文化·下旬刊(第2021007期)-中国工人出版社.pdf VIP
- 稻盛和夫《心》读后感集合5篇.docx VIP
- 个人现实表现(现实表现).pdf VIP
- 货物运输投标文件(技术部分).pdf
- GB_T 15560-1995《流体输送用塑料管材液压瞬时爆破和耐压试验方法》.pdf
- 食材配送项目投标文件.doc
- (统编2024版)一年级道德与法治上册 第8课 课余生活真丰富 教学设计.docx
文档评论(0)