ORACLE基础学习培训课件.pptx

上传人:封****n 文档编号:96702004 上传时间:2024-03-11 格式:PPTX 页数:122 大小:2.94MB
返回 下载 相关 举报
ORACLE基础学习培训课件.pptx_第1页
第1页 / 共122页
ORACLE基础学习培训课件.pptx_第2页
第2页 / 共122页
点击查看更多>>
资源描述

《ORACLE基础学习培训课件.pptx》由会员分享,可在线阅读,更多相关《ORACLE基础学习培训课件.pptx(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、ORACLE ORACLE 基础学习基础学习基础学习基础学习 企业信息化部企业信息化部 2015-01-15 2015-01-15课程内容课程内容数据库基本概念介绍数据库基本概念介绍SQL程序语言程序语言SQL语言语言数据库基本概念数据库基本概念-(1 1)Oracle 服务器:Oracle 服务器中包含多种文件结构、进程结构和内存结构;但是,处理SQL 语句时,并非所有这些结构都会用到。某些结构用于提高数据库的性能,确保该数据库在遇到软件或硬件错误时可以恢复,或者执行维护该数据库所需的其它任务。Oracle 服务器包括一个Oracle 例程和一个Oracle 数据库。Oracle 例程:Or

2、acle 例程是后台进程和内存结构的组合。只有启动例程后,才能访问数据库中的数据。每次启动例程时,会分配系统全局区(SGA)并启动Oracle 后台进程。后台进程代表调用进程执行各种功能。它们把为每个用户运行的多个Oracle 程序所处理的功能统一起来。后台进程执行输入/输出(I/O),并监视其它Oracle 进程来提高并行性,从而使性能和可靠性更加优越。数据库基本概念数据库基本概念-(2 2)Oracle 数据库:Oracle 数据库包含操作系统文件(也称为数据库文件),这些文件为数据库信息提供了实际的物理存储。数据库文件用于确保数据一致性并能在例程失败时得以恢复。表空间:表空间:是实际存储

3、数据的地方。数据库存储分配就是表空间的定义过程,因此表空间的设计对数据库物理设计极为重要,其参数设定好坏对数据库的性能及维护影响巨大。数据库基本概念数据库基本概念-(3 3)表:表是由确定的列数和可变的行数组成的逻辑结构。是存放数据的基本单元。数据库基本概念数据库基本概念-(4 4)视图:视图提供了在一个表或多个表中查看数据的替代方法,它是表上的一个动态窗口。视图并没有存储数据,它只是将一个查询结果集表示成一个虚拟表。索引:索引是为了加快查询的速度而在表上创建的对象。课程内容课程内容数据库基本概念介绍数据库基本概念介绍SQL程序语言程序语言SQL语言语言SQL数据类型数据类型数据类型描述描述V

4、ARCHAR2(SIZE)可变长字符串类型。SIZE默认单位为BYTE,最大长度为4000,最小为1NUMBER(PRECISION,SCALE)可变长度的数字类型,PRECISION是数字可用的最大位数。如有不指定PRECISION,SCALE,可以提供PRECISION和SCALE为38位的数字DATE日期类型,从公元前4712年1月1日到公元9999年12月31日ROWID用一个十六进制的数来标明当前行在表内的唯一地址BLOB存储非结构化二进制文件。常用于图片,视频的存储CLOB存储单字节或者多字节字符数据。常用语文本存储SQL语言SQL语言创建表使用CREATE TABLE语句创建表,

5、需指定表名、列名和数据类型。可通过tablespace指定表空间。SQL语言创建表CREATE建表示例:比较常用的建表方法改为“ulocal_tbs”SQL语言创建视图使用CREATE VIEW语句创建视图,以限制对表的数据访问或代替常用的SQL查询语句视图查询方式SQL语言修改表SQL语言修改表SQL语言删除表在在ORACLE10版本以后,如果版本以后,如果DROP不带不带PURGE选项,则会把表先放在回选项,则会把表先放在回收站收站DROP TABLE DEPT PURGE;SELECT*FROM USER_RECYCLEBIN;PURGE TABLE DEPT;SQL语言RENAME要更

6、改表、视图、序列或同义词的名称,可以执行RENAME语句RENAME的另一种写法。SQL语言注释可以使用COMMENT语句向表或列添加备注SQL语言约束常用的约束有四种:非空约束,主键约束,外键约束和唯一性约束。SQL语言约束非空约束:为表的列添加非空约束后,再为该表添加数据时就不可以插入空置了。主键约束:主键约束在一个表中,只能定义一个,定义为主键约束的可以是列或者列的组合,其中不能包含重复值,并且不能包含NULL值。外键约束:是让两个表通过外键建立关系。在使用外键约束时,被引用的列应该具有主键约束或者具有唯一性约束。唯一性约束:用来保证表中的某一列或者表中的某几列组合起来不重复的一种手段。

7、SQL语言约束除了在表创建时,定义约束关系,也可以在表创建后建立或取消约束关系,语句如下:SQL语言-插入数据使用INSERT语句为表添加数据SQL语言-插入数据更新数据更新数据删除数据查询语句Subselect语法:Select-cause:查询语句-选择列查询语句-选择行查询语句-选择行查询语句-选择行可以使用AND和OR来指定任意多个查询条件。查询语句-谓词查询语句-谓词查询语句-谓词查询语句-排序查询语句-去除重复行查询语句-运算次序查询语句的运算次序如下,一个子句的输出是下一个子句的输入。只有运算次序在后面的子句才能引用运算次序在前面的子句。查询语句-给表达式命名查询语句-子查询查询

8、语句-分组函数分组函数对列中的一组值进行运算以得到单个结果值。函数名称函数名称功能功能AVG返回某一组中的值除以该组中值得个数的和COUNT返回一组行或值的个数MAX返回一组值中的最大值MIN返回一组值中的最小值SUM返回一组值的和查询语句-数学函数数学函数函数名称函数名称功能功能ABS(N)返回数字N的绝对值CEIL(N)返回大于等于数字N的最小整数FLOOR(N)返回小于等于数字N的最大整数MOD(M,N)返回两个数字相除后的余数。如果N为0,则返回MROUND(N,M)执行四舍五入运算SIGN(N)N大于0,返回1,N等于0,返回0,N小于0,返回-1TRUNC(N,M)对数字进行截取操

9、作查询语句-字符函数字符函数函数名称函数名称功能功能CONCAT(S1,S2)连接两个字符串INSTR(S1,S2,n,m)取得子串S2在字符串S1中的位置,N为起始搜索位置,M为子串出现次数,N,M默认为1LENGTH(S)返回字符串的长度LOWER返回字符串,并将所有的字符小写UPPER返回字符串,并将所有的字符大写SUBSTR(S,N,M)取子字符串,从N开始,取 M个REPLACE(S,S1,S2)将字符串S中的子串S1用S2替换查询语句-日期函数日期函数函数名称函数名称功能功能ADD_MONTHS(D,N)返回指定日期时间D之前或者之后的N个月所对应的时间LAST_DAY(D)返回指

10、定日期所在月份的最后一天MONTHS_BETWEEN(D1,D2)返回日期D1和D2之间相差的月数NEXT_DAY(D,day)返回指定日期D后的第一个工作日(由day指定)所对应的日期SYSDATE用来得到系统的当前日期TRUNC(D,FMT)按指定格式格式化日期查询语句-转换函数转换函数函数名称函数名称功能功能TO_CHAR(D,FMT)按指定格式将日期转变为字符串TO_CHAR(N,FMT)按指定格式将数字转变为字符串TO_DATE(S,FMT)按指定格式将符合特定日期格式的字符串转变为DATE类型的值TO_NUMBER(S,FMT)按指定格式将符合特定数字格式的字符串转变为数字值查询语

11、句字符串使用单引号,如:ClerkORDER BY 指定多列时,先按第一列排序,对于第一列相同的行,再按第二列排序.不同列可以指定不同的排序,如:SELECT DISTINCT DEPT,JOBFROM STAFFWHERE DEPT SET SERVEROUTPUT ONSQL BEGINUPDATE prod SET price=270WHERE pid=0005;IF SQL%FOUND THENDBMS_OUTPUT.PUT_LINE(数据已修改);END IF;END;/游标简介游标简介隐式游标 循环游标用于简化游标处理代码当用户需要从游标中提取所有记录时使用循环游标的语法如下:FO

12、R IN LOOPEND LOOP;游标简介显式游标在 PL/SQL 块的声明部分定义查询,该查询可以返回多行显式游标的操作过程:数据库打开游标30George344Roger245James1Stud_mrksStud_namestud_no提取行变量 关闭游标 显式游标 游标简介带参数的显式游标声明显式游标时可以带参数以提高灵活性声明带参数的显式游标的语法如下:CURSOR()IS select_statement;游标简介使用显式游标更新行 2-1允许使用游标删除或更新活动集中的行声明游标时必须使用 SELECT FOR UPDATE语句 CURSOR IS SELECT stateme

13、nt FOR UPDATE;UPDATE SET WHERE CURRENT OF 程序子程序命名的 PL/SQL 块,编译并存储在数据库中。子程序的各个部分:声明部分可执行部分异常处理部分(可选)子程序的分类:过程 执行某些操作函数 执行操作并返回值过程创建过程的语法:CREATE OR REPLACE PROCEDURE ()IS|AS BEGIN EXCEPTION END;程序程序过程 过程参数的三种模式:IN用于接受调用程序的值默认的参数模式OUT用于向调用程序返回值 IN OUT用于接受调用程序的值,并向调用程序返回更新的值程序函数函数是可以返回值的命名的 PL/SQL 子程序。创

14、建函数的语法:CREATE OR REPLACE FUNCTION (param1,param2)RETURN IS|AS local declarationsBEGIN Executable Statements;RETURN result;EXCEPTION Exception handlers;END;过程和函数的比较过过 程程函函 数数作为 PL/SQL 语句执行作为表达式的一部分调用在规格说明中不包含 RETURN 子句必须在规格说明中包含 RETURN 子句不返回任何值必须返回单个值可以包含 RETURN 语句,但是与函数不同,它不能用于返回值必须包含至少一条 RETURN 语句程

15、序程序程序包程序包是对相关过程、函数、变量、游标和异常等对象的封装程序包由规范和主体两部分组成声明程序包中公共对象。包括类型、变量、常量、异常、游标规范和子程序规范等声明程序包私有对象和实现在包规范中声明的子程序和游标程序包规范主体程序创建程序包程序包规范CREATE OR REPLACE PACKAGE package_name IS|ASPublic item declarationsSubprogram specificationEND package_name;程序包主体CREATE OR REPLACE PACKAGE BODY package_name IS|ASPrivate i

16、tem declarationsSubprogram bodiesBEGINInitializationEND package_name;系统视图V$SESSIONV$VERSIONALL_JOBSALL_ALL_TABLESALL_OJBECTSALL_COL_COMMENTSALL_IND_COLUMNSALL_SOURCEDBA_SEGMENTSDBA_LOBSRECYCLEBIN推荐的电子书轻松学编程:轻松学Oracle数据库精通Oracle.10g.Pl.SQL编程oracle存储过程学习经典语法+实例+调用Oracle.PL.SQL程序设计_第五版_上册Oracle.PL.SQL程

17、序设计_第五版_下册Oracle.SQL高级编程谢谢 谢!谢!演讲完毕,谢谢观看!oracle数据库培训内容l*基本概念l*Oracle的体系结构lSQL*Plus的使用及常用命令l*SQL*NET的配置和使用l数据库的备份(exp/imp)l其它常见问题一、基本概念l什么是数据库什么是数据库:是存储在一起的相关数据的集合。这些数据无有害或不必要的冗余,为多种应用服务。数据的存储独立于使用它的应用程序。对数据库插入新数据、修改和检索原有数据均能用一种公用的和可控的方法进行。l数据库能做什么数据库能做什么:数据库的基本功能就是存储数据,而且能够为用户提供便捷、快速的查找、修改、添加和删除数据等功

18、能。l什么是什么是SQL语言语言:是运用于数据库的语言。它除了具有数据库查询、插入、删除、修改等功能外,可以独立使用,也可以嵌入其它主语言中使用。它的语法类似于英语。l什么是oracle:oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。二、Oracle的体系结构(1)(1)物理结构物理结构ORACLEORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用

19、程序的增大而变化。可扩充的,随着数据的添加和应用程序的增大而变化。datafiles redo log files control files parameter file datafiles redo log files control files parameter file 数据文件数据文件 日志文件日志文件 控制文件控制文件 参数文件参数文件 datafilesredologfilescontrolfileparameterfiles*.dbf*.logInitoraid.ora*.ctl(2)session(2)session(连接连接)Oracle Oracle是多用户、多任务、可

20、分布式管理的数据库,同是多用户、多任务、可分布式管理的数据库,同时可有许时可有许 多个用户对数据库操作。多个用户对数据库操作。oracleuseruserusersessionORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。Oracle数据存储单位a、block数据块:2k最小的I-O单位,伴随database产生而产生,不可变b、extent一组连续的数据块:是用户所能分配存储的最小单位c

21、、segment段:有共同结构的一个或几个区域(extent)d、tablespace表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)e、file文件:属于某个表空间的物理文件f、database数据库:一组表空间所构成的逻辑的可共享的数据。(3)存储结构表空间tablespacesystemRBSnosystem把system表空间单独放在一个硬盘上做成一组镜像toolsuserstempapplicationdataapplicationindex分开存放减少争用segment段的分类data数据段存储对象object(table,view,index,sequence.)index索

22、引段temporary临时段用做(join,groupby,orderbysorting操作)rollback回滚段用于记录修改前后信息bootstrap启动段存储数据字典系统信息不能读写,放在系统表空间内,约占40几个blockdatasegment中可能有十种不同类型的存储对象(1)table(2)view实为一个select语句(3)index(一个表不多于3个)(4)cluster(簇)(5)sequence序列(6)synonyms用于定义某个远程数据库同义词,实现分式数据库管理透明(7)snapsot快照(8)storedprocedure(function)(9)package程

23、序包(10)dbtrigger数据触发器,处理updata,delete,insert中可能出现的问题常用的常用的ORACLE的数据库字段类型的数据库字段类型字段类型字段类型中文说明中文说明限制条件限制条件其它说明其它说明CHAR固定长度字符串最大长度2000bytesVARCHAR2可变长度的字符串最大长度4000bytes可做索引的最大长度749DATE日期(日-月-年)LONG超长字符串最大长度2G(231-1)足够存储大部头著作RAW固定长度的二进制数据最大长度2000bytes可存放多媒体图象声音等LONGRAW可变长度的二进制数据最大长度2G同上NUMBER(P,S)数字类型P为整

24、数位,S为小数位INTEGER整数类型小的整数FLOAT浮点数类型NUMBER(38),双精度REAL实数类型NUMBER(63),精度更高三、SQL*Plus的使用及常用命令l进入sql*plus;l数据查询操作(select);l改变数据操作(insert、update、delete);l其它常用sql和sql*plus命令(spool、create、drop、desc、connect、grant)。数据查询操作l简单查询select列名1,列名2,列名3from表名where条件orderby列名1,列名2;逻辑运算符=或!=其它(not)inis(not)betweenandandor

25、单值函数nvl-空值替换函数abs-绝对值函数mod-求模函数power-求幂函数sqrt-平方根函数exp,ln,log-对数函数sin,cos等-三角函数唯一性查询l关键字:distinctselectdistinct列名from表名where条件;l模糊查询select列名1,列名2,列名3from表名where列名1like_%mmorderby列名1,列名2;l关键字:(not)likel通配符:%_联接查询select表名1.列名1,表名2.列名2,列名3from表名1,表名2where条件orderby表名1.列名1,表名2.列名2;子查询 单值子查询 多值子查询select列名

26、1,列名2,列名3from表名1where列名1=(select列名1from表名2where条件)orderby列名1,列名2;select列名1,列名2,列名3from表名1where列名1in(select列名1from表名2where条件)orderby列名1,列名2;组值函数avg-平均值函数count-非空值数目max-最大值函数min-最小值函数sum-求和函数distinct-唯一性函数分组查询分组查询select列名1,列名2,sum(列名3)from表名where条件groupby列名1,列名2;l关键字:groupby改变数据操作lInsert插入操作insertinto

27、表名1(列名1,列名2)values(值1,值2);注意:值表中的数据用逗号间隔;字符型和日期型要用单引号括起来;缺省的日期格式为dd-man-yy。insertinto表名1usingselect列名1,列名2from表名2where条件;Update 修改操作可修改单个字段、修改多行、修改单个列。update表名set列名=值或表达式where条件;Delete删除ldeletefrom表名where条件;注意不能只删除行的一部分where子句决定哪一行将被删除。如里省略了where子句,则所有的行都将被删除。其它常用sql命令Createtable-创建表;例子Droptable-删除表

28、,sql同时自动删除该表上的索引、特权,但并不删除相关的视图或同义词;Grant-授权Connect-连上Oracle,做最基本操作resource-具有程序开发最基本的权限dba-数据库管理员所有权限l-运行指定的命令文件,作用等价于start命令;l/-运行sql缓冲区的命令,与run命令等价;lConnect-退出当前账号,向指定的用户帐号登录;lDesc-显示指定表的结构;lExit-中止sql*plus,返回操作系统;lSpool-将屏幕显示内容输出到一个文件上;lSpooloff-输出文件结束;其它常用sql*plus命令四、SQL*NET的配置和使用 l1配置网络协议TCP/IP

29、l2测试网络是否连通l3在Windows95上选择“开始”按钮,选定“程序”中的“OracleforWindows95”下的“SQL*NetEasyConfiguration”,在“SQL*NetEasyConfiguration”窗口中选择“AddDatabaseAlias”,在“ChooseDatabaseAlias”对话框中“DatabaseAlias”项中键入数据库别名,按“OK”按钮确认。在“ChooseTCP/IPHostNameandDatabase”对话框中的TCP/IPHostname项中键入SERVER的IP地址,在“DatabaseInstance”项中键入Oracle的

30、实例名。l在“ConfirmAddingDatabaseAlias”对话框中可以看到你新增加的数据库别名。按“YES”按钮,按“OK”,退出“SQL*NetEasyConfiguration”。五、数据库备份(exp/imp)EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORTDUMPFILE),并将重新生成数据库写入文件中。它有三种模式:a.用户模式:导出用户所有对象以及对象中的数据;b.表模式:导出用户所有表或者指定的表;c.整个数据库:导出数据库中所有对象。IMPORT导入:导入的过程是导出的逆过程,这个命令先读取导出来的导出转储二进制文件,并运行文件,恢

31、复对象用户和数据。数据库导出过程exp80用户名/密码Enterarrayfetchbuffersize:4096exportfile:expdat.dmp(1)Entiredatabase(2)Users(3)Table:(2)UsersExportgrants:yesExporttabledata:yesConpressextents:yesUsertobeexportExportingtable、synonyms、view、grant等Exportterminatedsuccessfullywithoutwarning.导出选项l关键字内容lUSERID运行导出命令的帐号的用户名/口令。

32、lBUFFEER用来取数据行的缓冲区的大小。lFILE导出转储文件的名字lCOMPRESS导出是否应该压缩有碎片的段成一个范围lGRANTS导出时否要导出数据库对象上的授权lINDEXES是否要导出表上的索引lROWS是否应导出行。如它为N,那么在导出文件中仅生成数据库对象的DDLlCONSSTRAINTS是否导出表旧的约定条件lFULL如设为Y,那么将执行一个整个数据库导出操作lOWNER要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作lTABLES要导出的一系列表;执行这些表的TABLE导出操作导出选项l关键字内容lRECORDLENGTH转储导出文件日志的长度(以字节为单位)

33、,通常都使用缺省,除非要在两个不同操作系统中传递导出文件lINCTYPE正在执行的导出操作的类型(有效值有”COMPLETE“(缺省值),CUMULATIVE”和“IVCREMENTAL”)lRECORD在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中lPARFILE要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项lANALYZE标明是否将移对象的统计信息写入导出转储文件中lCONSISTENT标明是否保留所有导出对象的读取一致复制。lLOG导出日志将要写入的文件的名字lMLS标明是否要导出MLS标号lMLS_LABEL_规定了MLS标号的格式数据库恢复Im

34、p80用户名/密码Importfile:expdat.dmp导入选择项l关键字内容lUSERID运行导入命令的帐号的用户名/口令。lBUFFEER用来取数据行的缓冲区的大小。lFILE导入转储文件的名字lSHOW规定文件内容是否被显示,而不是被执行。lEGORE标明在执行CREATE命令时,是否忽略遇到的错误。如果正l在导入的对象已经存在时,应使用这个参数。lFULL如设为Y,那么将执行一个整个数据库导入操作lFROMUSER在FULL=N的情况下,才有参数。它是一系列的数据库帐号,其l对象应从导出转储文件中读取。lTOUSER一系列数据库帐号,导出转储文件扣的对象将要导入这些帐号。lGRAN

35、TS导入时否要导入数据库对象上的授权lINDEXES是否要导入表上的索引lROWS是否应导入行。如它为N,那么在导入文件中执行数据库对l象的DDL导入选择项l关键字内容lFULL如设为Y,那么将执行一个整个数据库导出操作lTABLES要导入的一系列表lRECORDLENGTH转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件lINCTYPE正在执行的导入操作的类型(有效值有”COMPLETE“(缺省值),lCUMULATIVE”和“IVCREMENTAL”)lPARFILE要传递给导入的参数文件的名字。这个文件将包含所有参数的入l口项lANALYZE标明是否将移对象的统计信息写入导入转储文件中lLOG导入日志将要写入的文件的名字lMLS标明是否要导入MLS标号六、其它常见问题l1.字符集的问题l在Windows95上选择“开始”按钮,启动“运行”图标,键入REGEDIT,进行注册表编辑,选取“我的电脑”中的“HKEY_LOCALMACHINE”下的“Software”Oracle选取Oracle下的NLS_LANG,其缺省值为:AMERICAN_AMERICA.us7ascii,双击进行编辑改为:AMERICAN_AMERICAl2.PB常用的描述器应用、数据库管理、表、l3.利用PB进行数据的导入l4.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 互联网

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁