当前位置:首页 > 技能培训 > 正文

oracle基础知识入门,如何快速的学习oracle

技能培训 · Nov 30, 2023

本文目录一览:

Oracle认证基本知识介绍

一、 oracle,仅次于微软的世界第二大软件公司
oracle虽然规模很大,但名声不像微软、ibm那样显赫,很多非计算机专业的在校学生不知道oracle是何物。但是如果你是一位想在毕业后进入it行业的学生,那么,你必须知道什么是oracle。
首先,oracle是一家软件公司。这家1977成立于加利福尼亚的软件公司是世界上第一个推出关系型数据管理系统(rdbms)的公司。现在,他们的rdbms被广泛应用于各种操作环境:windows nt、基于unix系统的小型机、ibm大型机以及一些专用硬件操作系统平台。事实上,oracle已经成为世界上最大的rdbms供应商,并且是世界上最主要的信息处理软件供应商。现在,oracle是仅次于微软公司的世界第二大软件公司,2000年的销售额为101亿美元。现在oracle在世界范围内大约聘用了4万3千多名专业技术人员,在美国本土有2万1千名。有趣的是,即使在美国本土,oracle的技术人员(主要是程序员)中有40%是印度人,中国人是第二多的,其次才是美国人。
然后,oracle是一个庞大的品牌系统。如前所述,oracle不仅在全球最先推出了rdbms,并且事实上掌握着这个市场的大部分份额,由于oracle 公司的rdbms都以oracle为名,所以,在某种程度上oracle己经成为了rdbms的代名词。而近几年来,oracle不断积极地扩展自己的业务,成功地开发了许多横向和纵向的产品,譬如oracle自己设计生产的oracle服务器,面对商业客户的商业交易系统(oracle exchange),oracle数据中心等等。同时,oracle还成功开发出了很多面对程序员的开发工具,譬如著名的designer/2000计算机辅助系统工程(case)工具和developer/2000开发包,这些工具作为“设计器”和“开发器”,有力地帮助了程序员的开发工作,也有力地提高了oracle的声誉。此外,oracle还开发了一系列面对不同对象的应用软件,它们被统称为oracle应用软件。这些软件使得oracle被广泛应用到各个领域,同时也为oracle带来滚滚财源。比较常见的oracle软件产品包括:
·oracle财务软件(oracle financial) ·oracle制造业软件(oracle manufacturing) ·oracle人力资源软件(oracle human resources) ·oracle自动控制软件(oracle automotive) ·oracle 商业交易系统(oracle exchange)
以及其他的应用软件。这些软件连同oraclerdbms使得oracle成为一个庞大的品牌系统,深入到了人们生产和生活的各个领域。
由于oracle拥有多年在各种行业下的多种解决方案,拥有基于不同客户环境的oracle rdmbs服务器工具及规模巨大的应用软件系统,而且,这个庞大的系统正在不同程度、不同层次地为各行各业所广泛应用。因此,能够熟练掌握这个系统的某些方面及适应这个系统的不断更新的专业工程师必然是各界急需的人才,有着良好的就业前景。事实上,oracle公司也认识到了这一点,这就是oracle认证专家——ocp(oracle certified professional)的由来。 二、oracle认证种类介绍
oracle认证专家——ocp,是由oracle公司授权国际考试认证中心对考生进行的资格认证。考生按考试标准要求参加几门课程的考试(一般为3—5门),在通过全部考试后,便可获得ocp的专家认证。
目前ocp认证考试分为:
database administrator:数据库管理员考试认证,简称dba。数据库管理员负责对数据库进行日常的管理、备份及数据库崩溃后的恢复问题。
database operator:数据库操作员认证考试,简称dbo。数据库操作员主要是基于windows nt的oracle 8数据库管理,能够熟练应用oem等工具完成对数据库的操作及日常的管理工作。
database developer:数据库开发员认证考试,简称dev。数据库开发员应能熟练掌握用developer/2000的工具建立各种forms应用程序,建立各种标准的以及自定义的报表。
java developer:java开发人员考试。
application consultant: oracle产品应用咨询顾问。
其中,oracle dba是最吃香,但也是最难考的一个认证。在oracle的官方网站上,对dba有以下说明:
oracle dba专家可以跟上如今日趋复杂的系统环境要求。最好的dba们都在幕后工作,他们小心地维护着系统,使得系统可以每天都平稳地运转,并且防止意外灾难的发生,譬如数据库崩溃或者成小时地宕机。这项艰巨的任务需要对oracle数据库的结构和运行方式有着广泛泛深入的了解,并且有丰富的实战经验。最好的dba可以在取得最佳运行状态及防止他们公司停止运行的突发事件中找到平衡。oracle dba认证考试就是提供一个证明该人可以胜任oracle dba这一职务的认证。本认证考试设计了5门独立的考试,使你可以利用良好的知识获得一个专家认证。
三、如何参加考试?
ocp认证的所有考试也是通过prometric公司组织的,具体的考试事宜请访问它的官方网站:
目前ocp每门考试的费用为125美元。 四、如何准备考试?
1、oracle公司推荐的官方准备途径
一般来讲,oracle的考试内容比较多,并且考题也很细,对动手能力要求很强。因此,为了有足够的把握,一定要提前充分准备,而且一定要注重动手实践。在oracle官方网站上推荐的通过认证的途径如下,可以进行参考。
oracle大学:oracle大学提供的教师引导及基于技术的训练(instructor-led training and technology- based training)是准备ocp认证的最好方式,这些课程将为你打下需要通过ocp认证的知识基础。你可以查阅一下课程表来选择理想的准备方式,你当地的oracle大学可以在这方面给你一些最好的建议。你可以访问oracle的网站,获得更多的信息。
自己准备:实战经验是加深你对oracle考试内容理解的最好方式。oracle建议你将理论学习拓展,在实际工作或是练习中使用新学到的技巧和知识来自学。
考试内容检查表:使用考试内容检查表(test content checklist)来确定你必须准备的所有题目。oracle会不断地更新考试内容检查表,所以请访问oracle网站 ,下载最新的考试指南。
其它考试工具:模拟考试题及自我测试软件可以帮助你更好地准备ocp认证考试。oracle和自我测试软件公司(self test software)联合出品了一些高质量的考试软件以帮助考生更好地准备ocp认证考试,这些软件可以通过 oracle 网站 定购。
事实上,绝大部分的大陆同学都是通过参加培训班来准备考试的,它们不仅辅导通过考试的知识,而且其他信息包括如何报名,考场上如何应考,都可以得到辅导。以上oracle官方的介绍只是一般地对你进行一下有关备考的初级教育,事实上,正像我们前面说过的,作为一个庞大的数据库系统,要想掌握好oracle(更不要说完全掌握了——我甚至怀疑是否有人真正完全掌握过oracle),从任何角度而言都不是一件易事。除非你有足够的决心和耐心,准备将oracle当作你的职业之路并致力于数据库技术的研究,你才有可能真正了解这个庞杂系统的精髓。以下的一些论述将有助于你对oracle有一个初步的了解。 2、oracle数据库技术基本知识
(1)oracle数据库涵盖了数据库技术的方方面面。
尽管关系型数据库从原理上来讲并不是很难,有一些数据库知识的人掌握这些原理并不会花很大的气力,而且,一般的关系型数据库软件,譬如 sql server,用起来并不复杂,但oracle绝对与众不同。作为有史以来最成功的关系型数据库软件,oracle的实现方式和管理维护手段非常丰富,它涉及到很多方面的细节技术。单从任何一个侧面来理解它,是难观其全貌的。要想真的精通它,没有两三年功夫是不行的。单是oracle的技术文档,就足够淹没你的! 具体说来,oracle技术包括以下几个主要方面:oracle系统结构和原理、oracle数据库的安装和配置、oracle数据库的管理、oracle的数据备份与恢复技术、oracle的性能调整、oracle的新产品特性(java支持、应用服务器、时间空间系列、文本服务等)、oracle的并行服务器技术、oracle的数据仓库技术、oracle的对象类型和对象一关系模型等技术……
毫不夸张地说,以上任何一个部分单独拿出来都是很大的题目!
(2)oracle技术发展快,技术的关联性大。
尽管oracle只是一个数据库系统,但在实际应用中,你不可能只面对数据库本身。譬如,你在做oracle数据库的网络管理,你将不可避免地遇到如何与网络通讯、防火墙的技术兼容的问题。同理,你在做其它方面的工作,也肯定有方方面面的技术关联问题需要解决。而且更要命的是,这些技术(包括oracle本身)发展速度都非常快,这就使得跟上它们的发展成为一件十分费劲的事情。
不过幸运的是,我们并不需要同时了解oracle的所有方面,oracle提供了很多应用方向,我们可以按照偏好,选择其中的一个方向,集中时间和精力,努力在这个方向做到有所成就还不是一件很难的事情。由于oracle目前已是世界上最主要的数据库供应商和第二大软件公司,oracle的数据库技术已经被广泛应用于各个领域,因而市场上对oracle人才的需求量是相当之大,获得ocp认证不愁找不到工作。而以后我们可以在工作中学以致用,再努力地钻研oracle数据库及相关技术。
3、入门者如何起步?
说了这么多,想必您可能已经有些心动,那么,面对oracle这样一个庞然大物,你也许会觉得无从下手。为此,我们有一些建议:
(1)找一本有关数据库原理的书,掌握关系数据库的基本原理——如果你没有学过这样的课程的话。
(2)阅读参考书并结合上机操作,掌握sql的一般原理及基本用法。
(3)至少买一本oracle入门级的参考书,并找到一台安装了oracle的某个版本(oracle7.3以上,最好是 oracle 8)计算机,建立起上机学习环境。
其中第三点尤其重要,因为没有实践经验,想通过oracle认证只是痴人说梦。或者如果你的预算比较充分,你可以选择参加培训。在选择培训班的时候一定要选择oracle授权的培训班,这样培训的质量才有保证,同时,在报名考试的时候还可以享受一定的折扣。
与其他很多考试不同,ocp并没有真正意义上的参考书,你要做的就是在上机中不断熟悉oracle的各种应用,书只是用来查阅和参考的。因为从根本上来讲,oracle数据库是一门实践性很强的技术,而oracle认证主要考的是动手能力。因此,没有实践经验,而只靠背学习资料是根本无法通过oracle认证考试的。以下是市面上常见的一些书,在此列出,希望能对大家有一些帮助。
初级的:《轻松掌握sql结构化查询语言》,《轻松掌握oracle数据库开发》,《oracle开发指南》,《oracle初学者指南》,《oracle8 pl/sql程序设计》。
高级的;《oracle服务器技术精粹》,《oracle8/8i开发使用手册》,《oracle8份与恢复手册》,《oracle8性能优化与管理手册》。 五、获得ocp认证的好处
在oracle的官方同站上,oracle公司详细列举了获得ocp认证的种种好处,虽然有自卖自夸之嫌,但总的来说还是很有道理的。大家不妨跟我们一起看看。
总的来说,it业对专家的要求很高,职业竞争压力很大。无论是新进入这个行业的人,还是此行业中的老手,都需要知道他们的那些技术背景能真正吸引到雇主的眼光。同时,雇主们也需要一个标准帮助他们挑选出那些技术上真正过硬的雇员。ocp认证就能够帮助it业界建立起面向特定职位的选择标准。ocp认证是一个有价值的、业界承认的标准,这个标准可以证明持证者的知识和能力水平。
oracle认证对技术专家的好处:ocp认证可以给你一个鲜明的优势。ocp认证可以表明你对某一职位及相关的oracle产品有着深刻的理解。成为一个ocp认证专家可以帮助你被更多的雇主注意到,并且增加你获得it业最具挑战性机遇的机会。ocp认证专家们证实了ocp认证的价值:97%的 ocp认为他们获益于ocp认证;89%的ocp认为获得认证后,他们在oracle专家的职位上更具信心;96%的ocp认为他们会建议职业学校(professional college,普遍存在于美国的一种职业教育方式)开相应的课程。
oracle认证对it雇主的好处:ocp认证同时可以帮助it业的人事经理在应聘者中挑选出符合挑战性职位的员工。对于那些每年把员工送去培训的公司,认证可以保证他们在培训上的钱没有白花--他们的员工获得了对于深入理解和必要的知识。公司也可以把认证和员工的职业发展联合起来,这样可以增强员工的忠诚度及他们在职业岗位上的表现。同时,雇用获得认证的专家可以直接提高公司的实力,国际数据公司(international data corporation)的一项研究显示了这一点。这项研究指出获得认证的专家比那些没有通过认证的平均每人每天多处理40%的支持电话;雇用认证专家的公司比那些没有雇用的公司宕机的时间少49%;对大多数公司的调查显示,在不到9个月内,认证专家为他们节约的费用就超过了他们送专家去培训并获得认证的费用。

OraclePLSQL基础知识及其相关概念

  结构化查询语言(Structured Query Language 简称SQL)是用来访问关系型数据库一种通用语言 属于第四代语言( GL) 其执行特点是非过程化 即不用指明执行的具体方法和途径 而是简单地调用相应语句来直接取得结果即可 显然 这种不关注任何实现细节的语言对于开发者来说有着极大的便利 然而 有些复杂的业务流程要求相应的程序来描述 这种情况下 GL就有些无能为力了 Oracle L/SQL的出现正是为了解决这一问题 Oracle PL/SQL是一种过程化语言 属于第三代语言 它与C C++ Java等语言一样关注于处理细节 可以用来实现比较复杂的业务逻辑
   一 编程基础知识
   程序结构
  Oracle PL/SQL程序都是以块(block)为基本单位 整个Oracle PL/SQL块分三部分 声明部分(用declare开头) 执行部分(以 begin开头)和异常处理部分(以exception开头) 其中执行部分是必须的 其他两个部分可选 无论Oracle PL/SQL程序段的代码量有多大 其基本结构就是由这三部分组成
   控制结构

  Oracle PL/SQL程序段中有三种程序结构 条件结构 循环结构和顺序结构
   ) 条件结构
  与其它语言完全类似 语法结构如下
  if condition then
  statement
  else
  statement
  end if ;
   )循环结构
  这一结构与其他语言不太一样 在PL/SQL程序中有三种循环结构
  a loop … end loop;
  b while condition loop … end loop;
  c for variable in low_bound upper_bound loop … end loop;
  其中的 … 代表循环体
   )顺序结构
  实际就是goto的运用 不过从程序控制的角度来看 尽量少用goto可以使得程序结构更加的清晰
   变量声明与赋值
  Oracle PL/SQL主要用于数据库编程 所以其所有的数据类型跟Oracle数据库里的字段类型是一一对应的 大体分为数字型 布尔型 字符型和日期型 这里简单介绍两种常用数据类型 number varchar
   )number 用来存储整数和浮点数 范围为1e ~ e 其使用语法为 number[(precision scale)]
  其中(precision scale)是可选的 precision表示所有数字的个数 scale表示小数点右边数字的个数
   )varchar 用来存储变长的字符串 其使用语法为 varchar [(size)]
  其中size为可选 表示该字符串所能存储的最大长度
  在Oracle PL/SQL中声明变量与其他语言不太一样 它采用从右往左的方式声明 比如声明一个number类型的变量v_id 那其形式应为 v_id nunmer;
  如果给上面的v_id变量赋值 不能用 = 应该用 := 即形式为:v_id := ;
   SQL基本命令
  PL/SQL使用的数据库操作语言还是基于SQL的 所以熟悉SQL是进行Oracle PL/SQL编程的基础 SQL语言的分类情况大致如下
   ) 数据定义语言(DDL) Create Drop Grant Revoke …
   ) 数据操纵语言(DML) Update Insert Delete …
   ) 数据控制语言(DCL) Commit Rollback Savapoint …
   ) 其他 Alter System Connect Allocate …
  具体的语法结构可以参阅其他关于SQL语言的资料 这里不再赘述
   二 过程与函数
  Oracle PL/SQL中的过程和函数与其他语言的过程和函数一样 都是为了执行一定的任务而组合在一起的语句 过程无返回值 函数有返回值
  其语法结构为
  过程 Create or replace procedure procname(参数列表) as PL/SQL语句块
  函数 Create or replace function funcname(参数列表) return 返回值 as PL/SQL语句块
   三 游标
  游标的定义为 用游标来指代一个DML SQL操作返回的结果集 即当一个对数据库的查询操作返回一组结果集时 用游标来标注这组结果集 以后通过对游标的操作来获取结果集中的数据信息 这里特别提出游标的概念 是因为它在PL/SQL的编程中非常的重要 定义游标的语法结构如下 cursor cursor_name is SQL语句;
   四 其他概念
  Oracle PL/SQL中包的概念很重要 主要是对一组功能相近的过程和函数进行封装 类似于面向对象中的名字空间的概念
lishixinzhi/Article/program/Oracle/201311/18883

Oracle数据库基础知识:SELECT语句

Oracle数据库基础知识:SELECT语句
  SELECT语句是指用来查询、添加、 和删除数据库中数据的语句, 和删除数据库中数据的语句 , 它们 是 SELECT 、 INSERT 、 UPDATE 、 DELETE等. 下面是Oracle数据库基础知识——SELECT语句,希望对大家有所帮助!

  普通用户连接conn scott/tiger
  超级管理员连接 conn “sys/sys as sysdba”
  Disconnect 断开连接
  把SQL存到文件 save c:\1.txt
  Ed c:\1.txt编辑SQL语句
  @c:\1.txt运行SQL语句
  Desc emp描述EMP结构
  Select * from tab 查看该用户下大所有对象
  Show user显示当前用户
  书写SQL语句的原则
  大小写不敏感,但单引和双引内的大小写是敏感的。切记!
  关键字不能缩写
  可以分行书写,但关键字不能被跨行书写,单引内也不要跨行书写。
  一般每个子句是一行
  可以排版来增加可读性
  字符串用单引
  列的别名用双引
  SELECT语句
  1、 简单的Select语句
  Select * from table 不指定查询的字段
  Select attr1,attr2 from table指定查询某些字段
  Select attr1,attr2 from table where attr1=xxx查询符合条件的指定字段
  2、 使用算术表达式 + - / *
  表达式的运算是有优先级的,和程序中的一样,先乘除后加减,括号强制优先级.
  + - * /
  先乘除,后加减,括号强制优先级
  Select ename,12*sal+300 from emp;
  Select ename,12*(sal+300) from emp;
  3、 连接运算符 ||
  4、 使用字段别名 as
  别名的'使用原则
  1。区分同名列的名称
  2。非法的表达式合法化
  3。按照你的意愿显示列的名称
  4。特殊的别名要双引
  5。直接写列的后面
  6。使用as增加可读性
  5、 空值 is null
  Null值不等于0,也不等于空格。
  Null值是未赋值的值,不入索引。
  NULL是双刃剑,使用好了提高性能,你对它不了解,往往是错误的根源,切记!
  查询NULL值
  因为null不等于null,所以没有行被选出。未知不等于未知,无穷不等于无穷.
  6、去除重复行 distinct
  SELECT 语句显示重复的行。用DISTINCT语法来去掉重复的行。
  如果我们想去掉重复的行,我们需要distinct关键字。
  在ORACLE数据库的10G前版本,该语句需要排序才能去掉重复的行,而在10G中数据库并不需要
  排序,而是使用HASH算法来去掉重复的行,由于避免了排序,从而极大的提高了SQL语句的效率,
  因为10G的SQL内核改写了。效率更加的高。因为没有排序,所以输出也是无序的。
  7、查询结果排序 order by asc(desc)
  Where和order by 子句
  语法
  SELECT *|{[DISTINCT] column|expression [alias],...}
  FROM table
  [WHERE condition(s)]
  [order by column|expression| alias ];
  Where 一定要放在FROM 子句的后面。
  显示表的部分行和部分列,使用where子句过滤出想要的行
  Select deptno,ename from emp Where deptno=10;
  Order by 放在最后,用来排序显示结果
  不指明都是二进制排序,如果你想按照拼音,部首,笔画,法语等特殊的排序模式,请设定排序的环境
  变量,关于国家语言的支持问题我们再DBA体系结构中描述。
  默认是升序asc
  降序要指定desc
  8、比较运算符 > < (!= or <>) between and
  ? And运算
  Select ename,deptno,sal From emp Where deptno=30 and sal>1200;
  ENAME DEPTNO SAL
  ---------- ------ ----------
  ALLEN 30 1600
  WARD 30 1250
  MARTIN 30 1250
  BLAKE 30 2850
  TURNER 30 1500
  两个条件的交集,必须同时满足。
  ?in操作 not in
  含上下界
  In操作,穷举,据说穷举不能超过1000个值,我没有去验证。一般我们也不会穷举到1000个值,如
  果到1000请改写你的SQL。
  Select deptno,ename,sal from emp Where deptno in(10,20);
  9、模糊查询 like
  % 表示零或多个字符
  _ 表示一个字符
  对于特殊符号可使用ESCAPE 标识符来查找
  Like运算
  _ 通配一个,仅匹配一个字符,
  % 通配没有或多个字符
  10、逻辑运算符 or and not
  OR运算
  Select ename,deptno,sal From emp Where deptno=30 or sal>1200;
  ENAME DEPTNO SAL
  ---------- ------ ----------
  ALLEN 30 1600
  WARD 30 1250
  JONES 20 2975
  MARTIN 30 1250
  BLAKE 30 2850
  CLARK 10 2450
  KING 10 5000
  TURNER 30 1500
  JAMES 30 950
  FORD 20 3000
  MILLER 10 1300
  两个条件的并集,满足一个就可以。
  ? not运算
  Select ename,deptno,sal From emp Where ename not like 'T%';
  ENAME DEPTNO SAL
  ---------- ------ ----------
  SMITH 20 800
  ALLEN 30 1600

如何快速的学习oracle

首先,学些ORACLE之前,你最好确认一下,对于数据库的基础知识是否掌握,如果还没有,那么我建议你先学数据库的基础知识,然后再对ORACLE进行重点的学习。
其次,oracle也是数据库的一种,所以,所有的数据库应该有的功能它都有,有了数据库的基础知识后,学习oracle是比较简单的(我是说对于一般的编程人员),特别的,多比较多个不同数据库的异同,这样可以很快的指导他们的用处,而且也方便记忆。
对于,oracle特有的函数、功能等,如果需要ORACLE深入编程,那肯定是要学习的。
还有,君欲善琪七必先利其器,对ORACLE的学习过程中,一定要掌握一两种数据库客户端软件,在开发过程中,如果连客户端软件都不会用,那必然浪费你很多时间去熟悉软件。

oracle dba 应该从哪学起

我认为应该先从sql语句学起,这样等你把sql语句理解了,再去学习oracle架构,就会理解的快一点。开始学习sql语句可能会涉及到什么表空间,这些东西很抽象,没关系,先记下来,等到学习oracle架构的时候就会悟出来了。
我觉得无论学习哪一类数据库,首先必须知道数据库的一些基础知识。如关系模型,基本的sql查询语句,对象-关系模型,,然后学习访问数据库的程序,,在这些基础上着手数据库的整体设计。。
《oracle dba技术管理》,从最基础的开始走
从基本的安装EBS系统
1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL,但可以看动它们,你就可以跳到2。否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。
2、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念: instance & database, memory structure , process & those files ,such as data file, control file, init parameter file etc以及database , tablespace , data file和tablespace, segmnet, extent & block它们之间的关系。 当然还要分清undo tablespace & redo log file等,对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。
3、第2条是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程中你将对SQL和ORACLE体系结构有个更深入的了解。
4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA,请继续。
5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。
6、当然在学习的过程中,你可以在网站或论坛中与他人进行交流,可以看别人的一些经验文章,也可以自己写一些心得体会。技术进步的本身就是经验的积累和提炼过程,希望大家共同成长,欢迎大家相互交流。
在送你一首诗,全是贯穿了学习ORACLE的境界转变~~~
昨夜西风凋碧树。独上高楼,望尽天涯路;
衣带渐宽终不悔,为伊消得人憔悴。

编写存储过程

  一. 概述
  Oracle存储过程开发的要点是:
  ? 使用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储过程;
  ? 在Oracle数据库中创建一个存储过程;
  ? 在Oracle数据库中使用SQL*Plus工具运行存储过程;
  ? 在Oracle数据库中修改存储过程;
  ? 通过编译错误调试存储过程;
  ? 删除存储过程;
  二.环境配置
  包括以下内容:
  ? 一个文本编辑器Notepad;
  ? Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database。
  ? Oracle 10g express数据库,它是免费使用的版本;
  需要的技巧:
  ? SQL基础知识,包括插入、修改、删除等
  ? 使用Oracle's SQL*Plus工具的基本技巧;
  ? 使用Oracle's PL/SQL 编程语言的基本技巧;
  三.写一个存储过程
  存储过程使用Oracle's PL/SQL 程序语言编写,让我们写一个什么工作都不做的存储过程,我们可以编译和运行它而不用担心会对数据库产生任何损害。
  在Notepad, 写下:
  CREATE OR REPLACE PROCEDURE skeleton
  IS
  BEGIN
  NULL;
  END;
  把文件存为skeleton.sql.
  让我们一行行遍历这个存储过程:
  1 CREATE OR REPLACE PROCEDURE skeleton
  2 IS
  3 BEGIN
  4 NULL;
  5 END;
  行1:
  CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;
  行2:
  IS关键词表明后面将跟随一个PL/SQL体。
  行3:
  BEGIN关键词表明PL/SQL体的开始。
  行4:
  NULL PL/SQL语句表明什么事都不做,这句不能删去,因为PL/SQL体中至少需要有一句;
  行5:
  END关键词表明PL/SQL体的结束
  四.创建一个存储过程
  SQL语句CREATE OR REPLACE PROCEDURE在Oracle数据库中创建、编译和保存一个存储过程。
  从Window打开SQL*Plus并且从SQL*Plus登录到你的数据库;打开skeleton.sql文件.
  在SQL>命令提示符下输入以下命令:
  SQL>@skeleton
  SQL>/
  SQL*Plus装载skeleton.sql文件的内容到SQL*Plus缓冲区并且执行SQL*Plus语句;SQL*Plus 会通知你存储过程已经被成功地创建。
  现在你的存储过程被创建,编译和保存在你的Oracle数据库,我们可以运行它。
  五.运行一个存储过程
  从SQL*Plus 命令行提示符运行你的存储过程使用EXECUTE命令,如下:
  SQL> EXECUTE skeleton;
  SQL*Plus 输出一下信息确信存储过程成功执行: PL/SQL procedure successfully completed.
  你也可以在一个无名PL/SQL块内运行你的存储过程,在SQL*Plus命令提示符下,它看起来像:
  SQL> BEGIN
  2 SKELETON;
  3 END;
  4 /
  现在我们已经运行了我们的存储过程,我们如何修改它呢?
  六.修改一个存储过程
  让我们写一个输出字符串“Hello World!”的存储过程,用Notepad打开你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 过程调用去替换NULL语句,如下所示:
  CREATE OR REPLACE PROCEDURE skeleton
  IS
  BEGIN
  DBMS_OUTPUT.PUT_LINE('Hello World!');
  END;
  保存到文件skeleton.sql.
  从SQL*Plus命令行, 打开文件skeleton.sql .
  SQL> @skeleton
  SQL>
  1 CREATE OR REPLACE PROCEDURE skeleton
  2 IS
  3 BEGIN
  4 DBMS_OUTPUT.PUT_LINE('Hello World!');
  5* END;
  SQL> /
  SQL*Plus 通知你存储过程成功创建并输出提示信息:Procedure created.
  SQL>
  用EXECUTE 命令运行你的存储过程:
  SQL> EXECUTE skeleton;
  SQL*Plus显示存储过程运行成功:PL/SQL procedure successfully completed.
  我们想要的输出字符串 "Hello World!"没有出来,在显示一个DBMS_OUTPUT.PUT_LINE 结果前需要运行一个SET命令,在SQL*Plus 命令行提示符,键入:
  SQL> SET SERVEROUTPUT ON
  再次执行你的存储过程:
  SQL> EXECUTE skeleton;
  现在结果输出了:Hello World!
  PL/SQL procedure successfully completed.
  七.调试一个存储过程
  当调试一个存储过程时,遵循一样的步骤,修改SQL文件,创建存储过程,执行存储过程,根据编译器反馈的出错信息进行修改,这一步是非常繁琐的,需要依靠经验。
  在实际的商用存储过程的开发调试过程中,由于涉及很多表、类型、光标、循环、条件等复杂的逻辑,和PL/SQL语句的灵活运用,编译时会产生很多错误提示信息,程序员在根据这些错误信息定位,进行修正,再编译最后得到正确的结构;
  八.放弃一个存储过程
  如果在数据库中你不在需要一个存储过程你可以删除它,SQL语句 DROP PROCEDURE 完成从数据库中删除一个存储过程,DROP PROCEDURE 在SQL中被归类为数据定义语言(DDL) 类操作,其他的例子有CREATE, ALTER, RENAME 和TRUNCATE。.
  在SQL*Plus 命令提示符下,使用DROP PROCEDURE SQL 语句删除你的叫做skeleton的存储过程:
  SQL> DROP PROCEDURE skeleton;
  SQL*Plus assures us the procedure has been removed:
  Procedure dropped.
  总结
  本文详细讨论了如何使用Oracle工具开发Oracle商用存储过程的步骤。最后在存储过程的使用中可能是程序直接调用,也可能被触发器调用。

如何零基础学习数据库

数据库技术应该电脑技术比较核心的一种,不仅操作系统,而且数据存储都要用的。
学习数据库可以自己参与到一个项目,或者去实际操作数据库,这样提高的快些。
目前来说,桌面的小型数据库有Foxpro不错,用的最多的是SQL Server2000,大型的有Oracle等等。
推荐你可以学习SQL Server2000,比较简单。
编程是一门说难就难,说简单就简单的东西,如果要问从什么入手,我觉的还是先学[C语言],先要对如何编程有一个概念,然后学习数据库,可以学学[ASSECC]或是[SQL],这两个都是简单的数据库,在后面学[HTML]和[ASP](里面可以理解的去学习[VBscript]和[JAVAscript]两个脚本语言),有了这几门语言做基础,就可以学习难一点的东西了。学习C++的面向对象概念,当自己认为对面向对象里面的三大特性{派生类与继承;多态性;...(第3个有点忘记,好象是封装,或者是把派生和继承分开,总之3大特性.....)}掌握的能够在自己编程的时候能够理解能够灵活运用就可以学习[JAVA]了,可能你原来听说过[JAVA],[C++]是简单的面向对象,[JAVA]就好象是[C++]和[C语言]的综合,[JAVA]是基本上全部面向对象概念,但里面的编程结构:如--循环;判断则是C语言的机制。
最后说一句:“加油~~~~!!!
不太清楚你说的零基础是指什么程度。如果你是指专门拥有数据库方面的知识或技能方面,你是没有接触过的,那么其实大多数人都和情况是一样的。很多人转行或本科毕业后都从事和自己专业不对口的工作,大家都是一步步成长起来的,所以零基础不会成为一个人学习的负担,你完全不用担心。不过如果你只是高中毕业,没上过大学,不具备基本的数理统计的知识,没能形成一个很好的大学学习的思维模式,那么贸贸然学习数据库可能会比较辛苦,需要打牢基础的东西比较多,压力也有可能会过大而影响自己的生活。
1、零基础,想要自学数据库的话,觉得起步阶段首选《数据库系统概念》这本书,因为这本书比较系统且综合全面。里面包含了数据模型、关系模型、基于对象的数据库以及XML、数据存储和查询、事务管理、数据库系统体系结构等各方面的相关内容。相当地直观易懂,里面的有些内容运用了结构清晰的图示和示例来取代形式化的证明。
2、然后,需要选择一个具体的数据库产品学习,比如常见的Access、SQL-Server、MySQL、Oracle、DB2,不同的数据库产品之间区别很大的,每一种数据库都有与之相应的经典书籍,官方也有那些入门文档。自己到网上搜对应的数据库名字就能找到了。当然,如果你想快餐式入门,那就看些视频或者国内的一些什么XXX从入门到精通、XX天精通XXX之类的书吧!
3、现在常见的数据库大部份都是关系型数据库,不管是理论和操作基本都是一样的,如果从操作和易学的角度来说,SQL SERVER还是比较容易上手的,网上的资料和各种书籍也不少,但是如果数据量大,数据库的稳定性来说,Oracle还是比较要强一点的。你就看自己的情况来选择吧!
3、总之,学习数据库,和学习其他电脑知识一样,要注重实践,也就是要上机实习。先学习一些数据库的基本概念,然后一边看书,一边上机,是个很好的方法。在网上去找一些有关的视频教程,跟着视频学习,会轻松一些。学习知识,关键在于持之以恒,这样才会有好的成绩。
拓展资料:
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。
参考资料:数据库-百度百科

数据库初学者请教学习方向

Oracle和SQLServer就业面更广一些。
可以都了解一下,看个人喜好了。
可以考证,比如软考数据库方向,但作用不是很大,用人单位更看重经验和实际能力。
在校的话建议考一个
希望对你能有所帮助。
一、你举例的三个数据库,基本都是主流,但DB2一般主要用于IBM自己的项目多一些,外边其实用这个的不多,但oracle和sqlserver相对DB2来说,相对用的广泛一点,所以,你可以考虑从oracle或sqlserver入手
二、基础无非就是sql语句,而sql语句包括一些内置函数的用法,关联查询,子查询等等吧,这属于sql的初级,然后进阶一下,就是自定义函数,触发器,存储过程之类的写法,当然,简单的存储过程也简单,这中间也有个过度的过程,先了解基本语法,然后主要了解循环,游标,动态sql等的用法,这样的话,你在数据库编程上,应该问题就不大了,有了其中一种数据库基础的话,将来学习其他数据库也相对容易些
三、关于你考证的问题,目前最吃香的肯定是oracle的三个认证,OCA,OCP,OCM,这个需要依次来考,当然价钱不菲。上学期间,不太建议你去考这几个证,毕竟只是上学阶段,还是先完成学业为好,这个你可以在工作后,自己挣钱了,慢慢有经验再考,也别给家里添加太大的负担。
有问题追问

学编程需要什么基础知识?

学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
希望对您有帮助。
编程,其实就是利用特定的计算机语言控制计算机,完成我们指定的任务。所以要学习的内容包括以下方面:
一、编程软件的安装
这编程的基础准备,就相当于是个翻译,能把程序源码翻译成计算机认识的二进制代码。
二、基础的语法知识,包括变量、运算符、表达式、输入、输出语句等。
1、输入、输出语句是电脑和人交流的重要通道
2、变量是电脑记忆的载体,比如x=3,就代码变量x记住了3。
3、运算符是电脑进行计算、判断的重要工具,大部分在小学就已经学过,比如+ - * / > < >=等计算和比较的符号。
4、表达式就是利用运算符、变量来表达某个意思,比如x+3。
三、选择结构、循环结构
选择结构是电脑智力的来源,简单的说就是人类把各种可能性都设定在程序里了,电脑运行的时候根据你的实际情况给个结论而已。最常见的就是用户登录,用户名、密码对了就可以进入,不然就不给进。
四、数组的使用
数组的主要作用是将没有规律的内容规律化,从而方便电脑处理,简单的理解就是给没有规律的内容添加一个编号。下图就是个数组的示意,文字没有规律,但上面的编号有规律。
五、文件的操作
因为通过键盘输入、输出能处理的数据量较小而且不方便重复使用,所以需要学习文件读取和写入,说直接就就是要能将数据记忆在文档中。
六、常用算法
简单的说,算法就是解决问题的方法,排序有排序算法,插入有插入算法,查找有查找算法,常用算法掌握了,就可以各种变形了。
这六点是学习编程的基础,学编程的话可以去专业学校系统学习。
学编程需要:数学基础、逻辑思维能力。如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适。比较速成的办法还是去报名一个培训班,系统的学习一下基础知识,然后选择一个发展方向,再具体的针对性的买点书籍来学习。遇到不懂的问题的时候,尽量少的去百度,谷歌上直接找答案,而是去各种论坛或官方网站了解比较底层的原理,然后思考解决方案,这样才能知其然知其所以然。程序员是一个不停学习的岗位,你需要每天除了工作以外,花一定的时间了解新的技术或正在使用的技术的原理,这样才能一直提高,不然,可能会被淘汰。
在你了解代码以后,你还需要了解逻辑,就等于你要熟悉你所从事的这个领域及行业,比如你做教育,那就要熟悉教育行业的业务,做财务,就要熟悉财务的逻辑,这样才能写出好的代码。
学习编程确实需要很多的基础,首先你要对电脑有一定的理解能力,对这个编程语言还有代码有一定的认知能力,这样的话才可以。
数学和英语
学编程需要以下基础知识:1、数学基础。从计算机发展和应用的历史来看,计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,初学者有高中水平就差不多了。2、逻辑思维能力的培养。学程序设计要有一定的逻辑思维能力,逻辑思维能力的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。3、要有一定的编程思想。学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。学会编程语言,可以从事软件工程师,就目前而言,软件工程师就业前景一片大好,我国仍然还存在很大的软件开发人才缺口,并且以每年20%左右的速度增长。编程语言发展前景如此好,已经成为多数同学心中理想的职业。想了解更多有关学习编程的详情,推荐咨询达内教育。达内教育是引领行业的职业教育公司,致力于面向IT互联网行业,培养软件开发工程师、系统管理员、UI设计师、网络营销工程师、会计等职场人才,拥有强大的师资力量,实战讲师对实战经验倾囊相授,部分讲师曾就职于IBM、微软、Oracle-Sun、华为、亚信等企业,其教研团队更是有独家26大课程体系,助力学生系统化学习,同时还与各大高校进行合作,助力学生职业方向的发展。感兴趣的话点击此处,免费学习一下