




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深入浅出Oracle主讲:邹振兴,1,ORACL深入浅出,主讲人:邹振兴,深入浅出Oracle主讲:邹振兴,2,前言,Oracle数据是当前主流数据当中功能最强大,速度最快,市场占有率最高的一款产品。在工作中,使用频率非常高。S1数据库主要学使用,S2数据库主要学业务逻辑,Y2数据库主要学习优化查询速度。整个课程将分为二个部分,前4次课讲解Oracle数据库的基本应用(权限、建表、增、删、查、改),后4次课讲解Oracle的高级应用(事务、索引、视图、触发器、过程)。,深入浅出Oracle主讲:邹振兴,3,第一章了解ORACLE,为什么要学习OracleOracle公司的基本介绍如何安装OracleSqlplus工具的基本使用Oracle用户权限管理,深入浅出Oracle主讲:邹振兴,4,为什么学习Oracle,通过的时实统计,国内IT届对oracle数据库人才的需求并不低于热门的Java与.Net。,深入浅出Oracle主讲:邹振兴,5,为什么学习Oracle,对于软件开发人员来说,熟悉Oracle或者熟练的使用Sql语句,对于就业来说,将非常有利。,深入浅出Oracle主讲:邹振兴,6,Oracle公司的基本介绍,公司类型上市公司(NASDAQ:ORCL)口号Oracleistheinformationcompany成立于加利福尼亚(1977年)总部位于美国加州红木滩市重要人物劳伦斯埃里森Lawrence(Larry)J.Ellison,首席执行官产业数据库软件雇员数目35000+Oracle的关系数据库是世界第一个支持SQL语言的数据库。1977年,LawrenceJ.Ellison领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。现在,Oracle公司的财产净值已经由当初的2000美元增值到了现在的年收入超过97亿美元。,深入浅出Oracle主讲:邹振兴,7,Oracle公司的基本介绍,Oracle公司年表2008年甲骨文公司(Oracle)宣布收购项目组合以及管理软件的供应商Primavera软件公司。Primavera公司曾是世界上最大的独立项目协同管理及资源组合管理解决方案的供应商,在全球85个国家有450,000多用户,并在全球几十个国家设有代理商。2009年Sun与甲骨文两家公司20日宣布,双方已经达成协议,由甲骨文公司以每股9.5美元的价格收购Sun的普通股股权,全部交易将以现金完成。按此价格计算,此次甲骨文的收购总额为74亿美元,而除去Sun的现金及债务不计,该交易的净值为56亿美元。,深入浅出Oracle主讲:邹振兴,8,Oracle公司的基本介绍,Oracle市场份额在2007年Oracle在数据库市场依然保持着强劲的势头,占据了数据库领域48.6%的市场份额。作为数据库软件市场的领跑者,Oracle数据库自去年推出了11g版本以来,在整个2008年最大的亮点是在9月下旬在旧金山举办的甲骨文全球大会上宣布了与云计算服务商展开更多的合作。同时在2008年OOW(OracleOpenWorld)上强势推出的跟HP合作的HPOracleExadataStorageServer也颇为引人瞩目,被称为“世界上最快的数据库机器”。,深入浅出Oracle主讲:邹振兴,9,如何安装Oracle,Oracle安装图文介绍Windows下ORACLE10g安装与操作图解-junying2yu的专栏-CSDN博客.htm在安装Oracle过程中,Oracle将会创建3个默认的用户:sys:数据库管理员,具有最高权限。相当于sqlserver2005中的sa用户。system:数据库操作员,具有较高权限。scott:数据库演示员,用来演示示例数据库。,深入浅出Oracle主讲:邹振兴,10,如何安装Oracle,数据库安装完成之后,还必须启动服务。启动Oracle必须启动如下二个服务:OracleOraDb10g_home1TNSListener数据库监听器OracleServiceORCL数据库,深入浅出Oracle主讲:邹振兴,11,如何安装Oracle,Oracle与sqlserver2005的区别Oracle是以用户为主线,而sqlserver2005是以数据库为主线Oracle中每一个数据库都一个服务,深入浅出Oracle主讲:邹振兴,12,Oracle的联接配置,Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。服务器端配置监听器,客户端配置网络服务名。,深入浅出Oracle主讲:邹振兴,13,Oracle的联接配置,服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中Oracle中的NetConfigurationAssistant和NetManager工具都能用来配置监听器和网络服务名,深入浅出Oracle主讲:邹振兴,14,Sqlplus工具的基本使用,Oracle客户端工具介绍SqlplusOracle自带的客户端工具Pl_sql第三方厂商提供的客户端工具其它第三方厂商提供的客户端工具Sqlplus的启动方式开始-启动-sqlplusw启动界面版sqlplus。启动-启动-sqlplus启动命令行版sqlplus。,深入浅出Oracle主讲:邹振兴,15,Sqlplus工具的基本使用,常用Oracle命令行显示当前用户:showuser;断开连接命令:disconnect;连接数据库命令:connect+连接字符串连接字符串格式:conn用户名/密码网络服务名assysdba/sysoper退出窗口:exit;调用.sql文件命令:start文件路径编辑.sql脚本:edit文件路径,深入浅出Oracle主讲:邹振兴,16,Oracle用户权限管理,Oracle用户管理创建用户:createuser用户名identifiedby密码;密码必须字母开头删除用户:dropuser用户名cascade;级联删除修改密码:password锁定用户:alteruser用户名accountlock;解锁用户:alteruser用户名accountunlock;,深入浅出Oracle主讲:邹振兴,17,Oracle用户权限管理,Oracle权限管理新建用户没有任何权限,连登录数据库的权限都没有。只有system,sys等具有dba权限的用户才能赋权限。权限分类系统权限:比如登录数据库,建表等。对象权限:用户对其它用户的数据对象操作的权限。(selectupdatedeleteinsertall),深入浅出Oracle主讲:邹振兴,18,Oracle用户权限管理,由于系统权限一种有140多种,管理起来不是很方便。系统将一些常用的权限组织在一起,就形成了角色。角色又可以分为预定义角色和自定义角色,预定义角色是安装数据库后就已经存在的。Connect联接数据库角色Dba角色Resource角色,深入浅出Oracle主讲:邹振兴,19,Oracle用户权限管理,权限管理语法赋予系统权限:grant角色to用户;赋予对象权限:Grantinsert,update,delete,selecton表to用户;回收系统权限:revoke角色from用户;回收对象权限:revokeallon表from用户;,深入浅出Oracle主讲:邹振兴,20,上机作业,练习安装Oracle10g数据库使用sqlpuls连接到本地数据库创建新用户accp/accp。修改accp用户密码为abc。用新用户accp登录到本地数据库。用新用户accp访问emp表。编写查询emp表语句并保存到.sql脚本中。,深入浅出Oracle主讲:邹振兴,21,上机作业,回收accp用户权限。在同学的数据库服务器上重复上述操作。演示数据的导入导出功能。导出语法:exp用户名/密码数据库file=路径导入语法:imp用户名/密码数据库file=路径如果导出用户与导入用户不同,指定full=y参数即可导入。如果导入用户中已存在表,则必须先删除表后才能导入。,深入浅出Oracle主讲:邹振兴,22,第二章Oracle数据管理,上章回顾Oracle表空间管理Oracle表的管理Oracle增、删、改数据Oracle函数的使用,深入浅出Oracle主讲:邹振兴,23,上章回顾,提问:启动Oracle数据库,必须启动那两个服务?小明是一家公司的DBA,他给同事创建一个新用户后,同事发现自己不能登录数据库,请问这是为什么?用户accp具有访问emp表的权限,小明编写如下语句select*fromemp;却发现语句报错,请问这是为什么?,深入浅出Oracle主讲:邹振兴,24,Oracle表空间管理,什么是表空间?表空间从物理上来说:是一些磁盘文件,用来存入表数据。表空间从逻辑上来说:是将多张表有规律的组织起来,便于用户管理。系统表空间创建orcl数据库时,系统默认将orcl数据库分为了一些表空间。SystemTempUsers等系统表空间没有特殊意义,深入浅出Oracle主讲:邹振兴,25,Oracle表空间管理,默认表空间当创建一个用户时,可以指定用户默认表空间,也就是用户今后创建表等数据对象时,都会放在默认表空间中。语法为:createuser用户名identifiedby密码defaulttablespace表空间表;如果不指定默认表空间,则默认为System表空间。为什么需要表空间?第一、数据表非常多时,便于用户管理。第二、数据量非常大时,便于将数据分布在不同的磁盘中。,深入浅出Oracle主讲:邹振兴,26,Oracle表空间管理,创建表空间语法createtablespacetest-创建表空间datafileD:oradataorcltest.dbf-表空间文件size32m-初始大小autoextendon-自动增长打开next32mmaxsize2048m-每次增长32删除表空间语法Droptablespacetest注意:如果表空间中有表,则不能删除。删除表空间不会删除表空间物理文件。第一次课创建删除表空间.sql,深入浅出Oracle主讲:邹振兴,27,Oracle表的管理,Oracle数据类型Char定长字符串最大可以存放2000字符Varchar2(20)变长字符串最大可以4000字符当字符长度确定时,一般使用char类型,char类型在于查询匹配时,速度比变长字符串快很多倍。原因讲解。Number数字类型number(10,2)表示一共有10个位数,小数点后有2个位数。如果没有指定,则默认为4个位数。,深入浅出Oracle主讲:邹振兴,28,Oracle表的管理,Oracle数据类型Date包含年月日和时分秒Timestamp这是oracle9i对date类型的扩展Clob字符型大对象最大可以存放4GBlob二进制数据,可以存放图片/声音4G,深入浅出Oracle主讲:邹振兴,29,Oracle表的管理,Oracle创建表createtablestudent(sidnumber(4),-学号snamevarchar2(20),-姓名sexchar(2),-性别birthdaydate,-生日salnumber(7,2)-奖学金);演示创建主键、非空、默认、检查、外键等约束。,深入浅出Oracle主讲:邹振兴,30,Oracle表的管理,Oracle修改表增加一列:altertable表名add(列名类型);修改字段的长度:altertable表名modify(列名类型)删除一列:altertable表名dropcolnum列修改表的名字:rename表名to表名查看表结构:desc表名;,深入浅出Oracle主讲:邹振兴,31,Oracle表的管理,增加数据单行数据增加Insertintostudentvalues();注意日期格式的处理Oracle中默认的日期格式为:DD-MM-YY例如:01-5月-09使用to_date函数转换日期类型。多行增加语句表复制语法:createtable目标表名asselect*from源表名疯狂复制法:insertinto表名select*from表名,深入浅出Oracle主讲:邹振兴,32,Oracle表的管理,创建序列(自增长处理)createsequencemyseincrementby1-增长度startwith1-从哪里增加,就是说下一个获取的值从这个值开始nomaxvalue-不设置最大值对应的:maxvalue30演示使用序列,深入浅出Oracle主讲:邹振兴,33,Oracle表的管理,修改数据(与sqlserver2005一至)单列修改多列修改把scott的岗位、工资、补助修改成与smith员工一样(oracle特点),深入浅出Oracle主讲:邹振兴,34,Oracle表的管理,删除数据Deletefrom表名;Trancatetable表名;前者删除数据可以恢复,而后者不能恢复。演示用rollback恢复数据。,深入浅出Oracle主讲:邹振兴,35,Oracle表的管理,表数据操作注意更改日期格式只做用于当前连接中。增加数据语句后必须带上commit;否则不会真正提交到数据库中。(演示)使用exit命令退出时,会自动提交语句。点关闭按钮退出,不会提交语句。解释Oracle连接原理。,深入浅出Oracle主讲:邹振兴,36,Oracle函数的使用,日期函数日期转换函数to_date(日期,格式)。举例:insertintostudentvalues(1,小样,to_date(2009-01-01,yyyy-mm-dd);Sysdate当前日期和时间。举例:Selectsysdatefromdual;To_char(日期,日期部分)。举例:Last_day本月最后一天。举例:Selectlast_day(sysdate)fromdual;Add_months(d,n)当前日期d后推n个月。举例:Selectadd_months(sysdate,2)fromdual;更多内容函数日期函数.doc,深入浅出Oracle主讲:邹振兴,37,Oracle函数的使用,日期函数查找已经入职8个月的员工显示满10年服务年限的员工的姓名与受雇日期对于每个员工,显示其加入公司的天数找出各月倒数第3天受雇的所有员工,深入浅出Oracle主讲:邹振兴,38,Oracle函数的使用,字符串函数使用Lower(char):将字符串转化为小写的格式Upper(char):将字符串转化为大写的格式Length(char):返回符串的长度Substr(char,m,n):取字符串的子串将所有员工的名字按小写的方式显示将所有员工的名按大写的方式显示显示正好为5个字符的员工的姓名显示所有员工姓名的前三个字符以首字母大写的方式显示所有员工的姓名以首字母小写的方式显示所有员工的姓名,深入浅出Oracle主讲:邹振兴,39,Oracle函数的使用,字符串函数的使用Replace(char1,目标子符串,替换字符串)Instr(char1,char2)取出子串在字符串中的位置显示所有员工的姓名,用小替换所有的A,深入浅出Oracle主讲:邹振兴,40,Oracle函数的使用,深入浅出Oracle主讲:邹振兴,41,上机作业,待定,深入浅出Oracle主讲:邹振兴,42,第三章Oracle数据查询,回顾上一章内容认识示例表简单查询高级查询,深入浅出Oracle主讲:邹振兴,43,回顾上一章内容,为什么Oracle中需要表空间?小明向student表中加入一条数据,但小王查询student表时确没有看见。请问这是怎么回事?小明不小心将一条重要的数据删除了,老板要开除小明。请问小明犯了什么错误,怎么样解决这个问题。,深入浅出Oracle主讲:邹振兴,44,认识示例表,认识emp表:empno员工编号ename员工姓名job员工职位mgr员工的上级编号hiredate员工入职时间sal员工工资comm员工奖金deptno员工部门编号,深入浅出Oracle主讲:邹振兴,45,认识示例表,认识dept表:deptno:部门编号dname:部门名称loc:部门地址两表中英文单词解释Clerk:职员manager:经理Salesman:销售president:总经理Analyst:分析人员accounting:财务部Research:研发中心sales:销售部,深入浅出Oracle主讲:邹振兴,46,简单查询,查看表结构语法:示例Descdept;查询所有列示例select*fromemp;查询指定列示例selectenamefromemp;比较查询所有列与查询指定列的速度。settimingon;-打开操作时间开关,深入浅出Oracle主讲:邹振兴,47,简单查询,去掉重复行数查询员工职位示例:selectdistinctjobfromemp;区分大小写查询名称为smith的职位,薪水,部门编号,深入浅出Oracle主讲:邹振兴,48,简单查询,在oracle中使用算术表达式显示每个员工的年工资selectsal*12as年工资fromemp;取别名与sqlserver的区别显示每个员工的年工资和奖金。select(sal*12),(comm*12)fromemp;讲解结果与实现数据的区别,解释此原因。显示每个员工的年工资与奖金的总额。select(sal*12)+(nvl(comm,0)*12),enamefromemp;,深入浅出Oracle主讲:邹振兴,49,简单查询,在oracle中处理字符串连接的问题select姓名|enamefromemp;使用where子句显示工资高于3000的员工显示1982.1.1后入职的员工oracle默认日期格式为天-月-年显示工资在2000-2500的员工信息,深入浅出Oracle主讲:邹振兴,50,简单查询,如何使用like操作符通配符的使用:%_如何显示首字符为S的员工姓名和工资如何显示第三个字符为大写O的所有员工的姓名与工资在where条件使用in查询显示empno为123,345,800.的员工情况,深入浅出Oracle主讲:邹振兴,51,简单查询,使用isnull的操作符显示没有上级的员工信息使用逻辑操作符号查询工资高于500或是岗位为manager的员工,同时还要满足他们的姓名首字母为大写J使用orderby子句按工资从低到高的顺序显示员工的信息按部门号从高到低、工资从低到高排序,深入浅出Oracle主讲:邹振兴,52,简单查询,数据统计函数maxminavgsumcount显示所有员工中最高工资和最低工资显示所有员工的平均工资和工资总和计算共有多少员工显示工资最高的员工的名字,工作岗位显示工资高于平均工资的员工信息,深入浅出Oracle主讲:邹振兴,53,简单查询,groubby和having子句显示每个部门的平均工资和最高工资。显示每个部门的每种岗位的平均工资和最低工资。显示平均工资低于2000的部门号和它的平均工资。分组聚合小结分组后,只能查询组名与对于此组的聚合数据聚合函数忽略所有空值聚合函数不能放在where条件中聚合函数出现在列中,只能接聚合函数和组名,深入浅出Oracle主讲:邹振兴,54,简单查询,总结:查询的语法总结,深入浅出Oracle主讲:邹振兴,55,高级查询,多表联查显示员工名,员工工资及所在部门的名字解释笛卡尔集显示部门号为10的部门名、员工名和工资显示各个员工的姓名,工资,及其工资的级别在联接查询时可以使用betweenand显示员工名,员工工资及所在部门的名字,并按部门排序,深入浅出Oracle主讲:邹振兴,56,高级查询,自连接自己连自己,同一表进行联接查询显示FORD员工的上级领导的姓名连接查询小结连接查询其实就是笛卡尔集的应用,深入浅出Oracle主讲:邹振兴,57,高级查询,子查询(单行子查询)显示与smith同一部门的所有员工注意:数据库执行sql语句是从左到右的执行,所以应把过滤
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地铁工程宣传方案(3篇)
- 安全教育课件培训学时
- 学习任务群在高中语文课堂中的应用
- 农业无人机租赁服务平台在2025年的市场定位与品牌建设策略
- 猎人笔记课件
- 地下管廊工程方案(3篇)
- 犬咬伤的护理
- 安全教育培训馆课件
- 矿业会计面试题及答案
- 口腔考编面试题库及答案
- 变压器试验收费标准
- 竣 工 验 收 证 书(施管表2)
- 2023学年完整公开课版法兰克王国
- 整理黑龙江基准地价与标定地价早
- CPK工具表的模板
- 中国画发展史
- 客户基本信息调查表实用文档
- 19-雾在哪里ppt市公开课金奖市赛课一等奖课件
- 城镇道路工程施工与质量验收规范
- GB/T 11270.2-2002超硬磨料制品金刚石圆锯片第2部分:烧结锯片
- 金融统计分析教材课件
评论
0/150
提交评论