Oracle数据库的开发简介.ppt_第1页
Oracle数据库的开发简介.ppt_第2页
Oracle数据库的开发简介.ppt_第3页
Oracle数据库的开发简介.ppt_第4页
Oracle数据库的开发简介.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库开发简介及在集装箱管理信息系统中的应用,内容,1:PL/SQL语言介绍2:ORACLE常用工具介绍3:第三方开发管理工具介绍,PL/SQL语言介绍,PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE服务器和其他工具中。主要介绍以下几方面:1:PL/SQL语法的特点。2:基本的SQL语句。3:PL/SQL块结构。4:PL/SQL块语法。5:四种类型的可存储的程序块。6:一个PL/SQL块的例子。7:PL/SQL块和事务的关系。,PL/SQL语法的特点,PL/SQL的特点如下:1:PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。2:PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型3:PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。4:可以使用ORACLE数据工具管理存储在服务器中的PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。5:PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何ORACLE能够运行的操作系统都是非常便利的6:对于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤。,基本的SQLDML语法,SQL(StructuredQueryLanguage)定义Oracle中的数据是如何被处理的。,数据库操纵语言(DATEMANIPULATIONLANGUAGEDML),用来改变表中的数据或者查询数据库表中的数据但是不会表或者其他对象的结构。SELECT语句:DECLAREv_StudentRecordstudent%ROWTYPE;v_Departmentclasses.department%TYPE;v_Courseclasses.course%TYPE;BEGINSELECT*INTOv_StudentRecordFROMstudentWHEREid=1000;SELECTdepartment,courseINTOv_Department,v_CourseFROMstudentWHEREroom_id=999;END;,INSERT语句:DECLAREv_StudentIdstudent.studentId.%TYPE;BEGINSELECTstudent_seq.NEXTVALINTOv_StrdentIdFROMdual;INSERDINTOstudent(id,first_name,last_name)VALUES(v_StudentId,李,小二);INSERTINTOstudent(id,first_name,last_name)VALUES(student_seq.NEXTVAL,WANG,SUN);END;UPDATE语句:DECLAREv_Majorstudent.major%TYPE;v_CreditIncreaseNUMBER:=3;BEGIN,v_Major:=History;UPDATEstudentSETcurrent_credits=current_credits+v_CreditlncreaseWHEREmajor=v_Major;v_Major:=Chemistry;UPDATEstudentSETcurrent_credits=current_credits+10WHEREmajor=v_Major;END;DELETE语句:DECLAREv_StudentCutoffstudent.studentCutoff.%TYPE;BEGINv_StudentCutoff:=10;DELETEFROMclassesWHEREcurrent_student=v_StudentCutoff;END;,WHERE语句:SELECT,INSERT,UPDATE,DELETE语句所有都将WHERE子句作为其操作的一个不可缺少的部分进行包含。WHERE子句由条件组成,中间用AND,OR和NOT这样的布尔运算符连接起来,条件通常采用比较的形式。DECLAREv_StudentCutoffstudent.studentCutoff.%TYPE;BEGINv_StudentCutoff:=10;DELETEFROMclassesWHEREcurrent_student=v_StudentCutoff;END;,一些DDL介绍,1:系统角色和权限,自定义角色的语法:角色(Role)本质上就是一个权限的集合。CREATEROLEtable_query;GRANTSELECTONstudentsTOtable_query;GRANTSELECTONclassesTOtable_query;GRANTUPDATEONstudentstotable_query;REVOKESELECT,UPDATEONstudentsFROMtable_query;REVOKESELECTONclassesTOtable_query;,GRANT语法:GRANTprivilegeONobjectTOgrantee;例子:给用户赋予操作的权限:GRANTSELECTONclassesTOuserA;把角色权限赋予用户:GRANTCONNECTTOuserA;2:事务控制:事务(TRANSACTION)是一系列作为一个单元被成功或不成功执行的SQL语句。事务是关系型数据库的标准部件并且可以避免不一致的数据。当向数据库发出了COMMITORROLLBACK语句,那么该事务就被终结了.COMMIT:A:事务完成的工作都是永久性的。B:其他的会话可以看到此事务所进行的修改。C:事务所需要执行的所有加锁(LOCK)处理都被释放了。,ROLLBACK:A:事务完成的所有工作都被取消(UNDO),就好像没有执行这些命令一样。B:事务所需要执行的所有加锁(LOCK)处理都被释放了。保存点(SAVEPOINT):ROLLBACK语句会撤消掉整个的事务,但是如果使用了SAVEPOINT命令,那么只有部分的事务需要被取消。BEGININSERTINTOtemp_table(char_col)VALUES(INSERTONE);SAVEPOINTA;INSERTINTOtemp_table(char_col)VALUES(INSERTTWO);SAVEPOINTB;INSERTINTOtemp_table(char_col)VALUES(INSERTTHREE);SAVEPOINTC;COMMIT;END;如果我们在需要的插入语句的位置上放入:ROLLBACKTOB;则只提交前两条语句,第三条语句回滚了。,PL/SQL块结构,PL/SQL是一种块结构的语言,组成PL/SQL程序的单元是逻辑块,一个PL/SQL程序包含了一个或多个逻辑块,每个块都可以划分为三个部分。与其他语言相同,变量在使用之前必须声明,PL/SQL提供了独立的专门用于处理异常的部分,下面描述了PL/SQL块的不同部分:1:声明部分(Declarationsection)声明部分包含了变量和常量的数据类型和初始值。这个部分是由关键字DECLARE开始,如果不需要声明变量或常量,那么可以忽略这一部分;需要说明的是游标的声明也在这一部分。2:执行部分(Executablesection)执行部分是PL/SQL块中的指令部分,由关键字BEGIN开始,所有的可执行语句都放在这一部分,其他的PL/SQL块也可以放在这一部分。3:异常处理部分(Exceptionsection)这一部分是可选的,在这一部分中处理异常或错误。,PL/SQL的块语法,PL/SQL块语法DECLARE-declarationstatementsBEGIN-executablestatementsEXCEPTION-exceptionstatementsEND说明PL/SQL块中的每一条语句都必须以分号结束,SQL语句可以使多行的,但分号表示该语句的结束。一行中可以有多条SQL语句,他们之间以分号分隔。每一个PL/SQL块由BEGIN或DECLARE开始,以END结束。注释由-标示。,PL/SQL块的命名和匿名PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块。匿名程序块可以用在服务器端也可以用在客户端。命名程序块可以出现在其他PL/SQL程序块的声明部分,这方面比较明显的是子程序,子程序可以在执行部分引用,也可以在异常处理部分引用。,四种程序块:函数(FUNCTION)函数是命名了的、存储在数据库中的PL/SQL程序块。函数接受零个或多个输入参数,有一个返回值,返回值的数据类型在创建函数时定义。定义函数的语法如下:FUNCTIONnameparameter,parameter,.)RETURNdatatypesISlocaldeclarationsBEGINexecutestatementsEXCEPTIONexceptionhandlersENDname,过程(PROCEDURE),存储过程是一个PL/SQL程序块,接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数不同,存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用,定义存储过程的语法如下:PROCEDUREname(parameter,parameter,.)ISlocaldeclarationsBEGINexecutestatementsEXCEPTIONexceptionhandlersENDname,包(PACKAGE),包其实就是被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存中,包中的任何函数或存储过程的子程序访问速度将大大加快。包由两个部分组成:包头:(PACKAGE)包体:(PACKAGEBODY)触发器与一个表或数据库事件联系在一起的,当一个触发器事件发生时,定义在表上的触发器被触发。,触发器(TRIGGER),一个简单的PL/SQL块,在sqlplus中执行一个简单的pl/sql匿名块SqlDECLAREv_deptidnumber;v_deptnamevarchar2(20);BEGINselecta.dept_id,a.dept_nameintov_deptidfromempawherejob=PRESIDENT;EXCEPTION:WHENOTHERSTHENDBMS_OUTPUT.PUT_LINE(EXCEPTION);ENDSql/PL/SQLproceduresuccessfullycompleted,ORACLE系统实用工具介绍,1、应用开发(ApplicationDevelopment)SQL*Plus:Oracle_HomeBINSQLPLUSW.EXE2、数据库管理(DatabaseAdministration)DatabaseConfigurationAssistant:数据库配置助手:创建、配置、删除数据库。DBAStudio:将多个数据库工具并入一个应用程序中。DBAStudio管理以下对象:例程:包括启动、关闭和例程化例程。方案:包括表、索引和Oracle8对象。安全性:包括用户帐户、角色和权限。存储:包括表空间、数据文件和回退段。,3、网络管理(NetworkAdministration)Net8Assistant配置网络部分(连接描述TNSNAMES.ORA、监听器LISTENER.ORA)Net8ConfigurationAssistant功能基本同上,提供基本的配置,要获得高级配置操作,或配置此工具未包括的Net8的其它部分的详细信息,请使用Net8AssistantOracleODBCTest连接、测试OracleODBC的工具4:其他SVRMGRL:Oracle服务器管理:OracleServerManagerLSNRCTL:监听器管理程序EXP/IMP:逻辑备份、恢复工具SQL*Loader:大量数据插入工具ORAPWD:修改sys或internal密码工具,TOAD,TOAD是QuestSoftware公司的系列化Oracle开发和管理工具套件,包含集成化的开发、测试、管理与优化功能,可以大大提高数据库开发和管理人员的工作效率。团队编码及版本控制功能。轻松浏览和管理Oracle数据库TOAD的SchemaBrowser(模式浏览器)模块内置了方便易用的多页浏览功能,可以迅速查看和管理Oracle数据字典。通过点击特定对象,TOAD可以立即展示其相关信息,避免了逐层查看的冗长过程。SchemaBrowser可以管理所有数据库对象。快速准确的PL/SQL开发TOADEditor的功能可以大大提高开发效率,消除编程错误,缩短应用的开发周期。用户可以同时编辑多个文件,包括SQL、PL/SQL、HTML、Java和纯文本文件。图形化用户界面提供了快速易用、可灵活配置的开发环境。,强大的版本控制功能TOADCoding(团队编码模块)可实现开发队伍内的互相协调,既允许多个开发者同时查看源代码或数据库对象,又具有锁定功能以防止代码被覆盖。PL/SQLDebuggerPL/SQLDebugger提供了点击式应用排错功能,节省了大型项目的开发和测试时间。通过与ProcedureEditor集成,开发人员得以逐行编辑和调试存储程序,如同在服务器上进行开发。PL/SQLDebugger可以监视变量值的变化,增强对应用程序执行过程的控制。用户甚至可以在执行过程中改变变量的内容。调试工作能够与正常的程序执行同步进行,应用的执行不受影响。用户也不必在代码中自行编写错误捕捉逻辑,以识别和修改错误。DBAModuleDBA模块实现了日常数据库管理的自动化,拓展了TOAD的功能和灵活性,使用户能够以浏览器模式,查看多个数据库和实例的性能信息。通过直观的图形化界面,用户可以完成数据库计划的比较和同步,实现表空间、控制文件和Redo日志管理的管理,以及安全管理、批处理任务调度和国际语言(NLS)参数的修改和设置。,DBA模块还提供了Oracle输入/输出和数据库创建向导,以及方便易用的SQL*Loader界面,提高了数据装载和卸载的效率。SchemaBrowser界面全面支持所有DBA管理对象的创建、修改和丢弃功能。应用优化和专家建议XpertTuning模块是对Oracle优化技术的补充,可以大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论