oracle的面向对象与面向集合

这一篇算是对近期自己学习的一个心得总结

一、oracle的面向对象

SQL是面向集合的这个大家都知道,但是不可否认现在的oracle中有很多地方都体现着面向对象的思维。(这也算是各大语言殊途同归的一个征兆吧)

为什么说oracle中有很多的面向对象的思维呢?举一个例子来说明一下,我觉得最能体现出来这一点要算是游标了,当然还有包(package)

begin
  declare
     cursor students
     is
        select sid,name,age,hobby from my_test;
     student students%rowtype;
  begin
    for student in students loop
      dbms_output.put_line(‘学号:‘||student.sid||‘学生姓名:‘||student.name||‘;‘);
    end loop;
  end;
end;  

--运行结果
学号:76学生姓名:joy;
学号:77学生姓名:joy;
学号:78学生姓名:joy;
学号:79学生姓名:joy;
学号:80学生姓名:joy;
学号:81学生姓名:joy;
学号:82学生姓名:joy;
学号:83学生姓名:joy;
学号:84学生姓名:joy;
学号:85学生姓名:joy;
学号:86学生姓名:joy;
学号:87学生姓名:joy;
学号:88学生姓名:joy;
学号:89学生姓名:joy;
……

其中的for循环有没有很有C#中foreach的赶脚呢?

student.sid没有有对象的赶脚呢?

另外包(package)也是一个具有很强的面向对象的家伙儿,比如最常使用的dbms_output.put_line()等等一些内置的函数,很有面向对象中类和方法的赶脚,只是oracle不这么叫罢了。面向对象是一种思维模式,也许oracle在不断的更新过程中也借鉴了一些这方面的内容,方便开发者更加快速更加舒服的使用也说不定。

接下来在谈谈oracle的面向集合

二、oracle的面向集合

SQL是面向集合的,在oracle集合这篇博客中自己也写了一些东西,此处着重写一些自己在这方面的一些见解。

关系型数据库是按照一定的关系把业务数据按照一定的相同性整合在一起,SQL语句是为了更好的处理这些数据而存在的,所以想要提升SQL的效率,很多时候就需要知道oracle到底是怎么工作的,他在运行一段SQL语句时,是按照什么样的顺序来实现自己对于数据的处理的,这就牵扯到了解释计划和执行计划。

oracle10g以后采用的是基于开销的优化器(CBO),通过统计出来的一些数据来运行众多执行计划中的一种,当然这一种并不一定是最高效和稳定的。

用集合的思想来进行编程,为的就是尽可能的减少对数据块的读取,因为一般情况下在I/O方面花费的效率还是很可观的,另外使用面向集合的方法也可以使SQL看起来更加的简洁明了,优雅动人。不过这些需要一个过程

最后借用别人的一句话,做一个虎头虎脑的结尾:谁都能写出计算机认识的代码,但是只有有思想的程序员才能写出人人都能看懂的程序代码

时间: 2024-08-24 22:30:27

oracle的面向对象与面向集合的相关文章

说说oracle中的面向对象与面向集合

这一篇算是对近期自己学习的一个心得总结 一.oracle的面向对象 SQL是面向集合的这个大家都知道,但是不可否认现在的oracle中有很多地方都体现着面向对象的思维.(这也算是各大语言殊途同归的一个征兆吧) 为什么说oracle中有很多的面向对象的思维呢?举一个例子来说明一下,我觉得最能体现出来这一点要算是游标了,当然还有包(package) begin declare cursor students is select sid,name,age,hobby from my_test; stu

Day5-1 面向对象和面向过程

摘要: 类的定义 类的增删改查 面向对象和面向过程的区别: 1.面向过程就像是工厂的流水线,按部就班的有序的工作. 优点:把复杂的问题简单化 缺点:可扩展性差.一个步骤改动,其他的步骤几乎都要跟着改动. 适用:功能一旦实现之后就很少需要改变的场景. 2.面向对象: 2-1 什么是对象? 对象的具有一些特征和方法的集合.比如孙悟空是一个对象,他的特征是 毛脸雷公嘴,金箍棒,金箍圈.他的方法(技能)七十二变,火眼金睛. 优点:可扩展性强 缺点:编程复杂度高. 适用:互联网应用,企业应用,游戏. 类:

面向对象与面向过程

一.面向对象与面向过程的区别: 二者都是一种思想,面向对象是相对于面向过程而言的.面向过程,强调的是功能行为.面向对象,将功能封装进对象,强调具备了功能的对象.面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则. 二.面向对象的三大特征: ①封装(Encapsulation)②继承(Inheritance)③多态(Polymorphism) 面向对象简称OOP( Object Oriented Programming) 面向过程(procedure oriented programm

面向对象和面向接口编程

面向对象和面向过程的区别 面向过程一种以事件为中心的编程思想,以功能(行为)为导向,按模块化的设计,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 面向对象一种以事物为中心的编程思想,以数据(属性)为导向,将具有相同一个或者多个属性的物体抽象为"类",将他们包装起来:而有了这些数据(属性)之后,我们再考虑他们的行为(对这些属性进行什么样的操作),是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事

面向对象和面向过程的区别

面向对象和面向过程 1.面向过程程序设计方法的实质上是从计算机处理问题的观点来进行程序设计工作:输入——运算——输出.面向过程程序设计者需要变更习惯的思维方法以贴近 计算机的内部工作机理.面向过程程序设计所具有的流的工作性质,试图通过信息流及其转换来认识系统,不仅加大了程序设计的难度,同时亦使得程序的可理解性 比较差. 面向对象程序设计方法中,一种普遍采用的优化方法是使用结构化的程序设计方法. 面向过程程序设计方法一般适宜采用自上而下的设计方法. 面向过程程序设计方法需要在一开始就全面的,自上而

面向对象编程(一)——面向对象和面向过程

面向对象(Object Oriented),通过对象来封装我们的数据.(组织代码,封装数据) 面向对象和面向过程: 面向过程:procedure oriented programming,POP 面向对象:object oriented programming,OOP 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中

编程思想:面向对象和面向过程

感觉写的不够深入,不过基本可行,转载自:http://www.cnblogs.com/BeiGuo-FengGuang/p/5935763.html 何谓面向对象?何谓面向过程?对于这编程界的两大思想,一直贯穿在我们学习和工作当中.我们知道面向过程和面向对象,但要让我们讲出来个所以然,又感觉是不知从何说起,最后可能也只会说出一句就是那样啦,你知道啦.而这种茫然,其实就是对这两大编程思想的迷糊之处.本文通过学生到校报道注册的实例,阐述了面向过程和面向对象两大思想.希望能对你的学习和工作有所帮助.

JavaSE——面向对象与面向过程、类与对象、(属性、方法、构造器)等

一:面向对象与面向过程 二者都是一种思想,面向对象是相对于面向过程而言的. 面向过程: 1.面向过程思想强调的是过程(动作). 2.在面向过程的开发中,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然而由这些功能方法相互调用,完成需求. 3.面向过程的典型代表语言是:C语言. 面向对象: 1.把步骤和方法封装起来,根据不同的功能,进行不同的封装,用的时候,找到对应的类就可以了. 2.将功能封装进对象,强调具备了功能的对象.这就是面向对象的思想.典型的语言是:C++,Java. 3

面向对象和面向过程的编程方式的理解

面向对象和面向过程的区别? 如果说面向对象和面向过程的具体区别,最深入的地方应该是去看设计模式,推荐大话设计模式那本书,讲的比较好.本人只不过简单叙述下,重点是如何进行面向对象和面向过程的编程,只有会编程了,才能真正懂得面向对象和面向过程的区别.否则都是纸上谈兵. 面向过程:是以计算机线性思维的方式进行编程.一步一个脚印的执行.本身也没有问题,但是如果遇到需求多变的情况,或者功能的添加和删除,将极其影响原来的程序代码,必须要重写或者修改,或者重新组织原来的代码. 面向对象:在对需求多变的时候,不