




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库使用2012-8-31课程简介oracle基础开发工具简介SQL介绍一些注意事项Oracle基础关系数据库管理系统(RDBMS)基于客户机/服务器技术客户机-
用户和数据库之间的接口服务器-
存储和管理数据Oracle
数据库组件数据库由下列组件构成:数据库文件控制文件恢复日志文件表空间段扩展区组件分类如下:
物理组件逻辑组件物理组件4-1物理组件是构成数据库的操作系统文件为数据库信息提供了实际的物理存储器操作系统文件有三种类型:数据库文件或数据文件控制文件恢复日志文件物理组件4-2数据库文件或数据文件它们是物理操作系统文件,它们包括诸如用户数据、系统数据等所有数据库数据数据文件中的数据以块为单位任何数据库创建时至少包含一个数据文件物理组件4-3控制文件创建数据库时,就创建了控制文件存储数据库的物理结构还包括关于数据库的信息数据库的名称数据文件和恢复日志文件的名称及其位置物理组件4-4恢复日志文件:恢复日志文件是操作系统文件集,由RDBMS
用于记录对数据库所做的更改如果出现故障,则可从恢复日志中访问并重新应用对数据库所做的更改,这样即可保护已完成的工作不受损失数据库以下面两种模式运行NOARCHIVELOGMODEARCHIVELOGMODE
逻辑组件数据库有下列逻辑组件:
表空间段扩展区架构对象表空间2-1数据库由称为表空间的逻辑单位组成保留相关数据库对象的组Oracle
数据库中的典型表空间是:SYSTEM
表空间DATA
表空间USER
表空间TOOLS
表空间TEMP表空间表空间2-2数据库的控制空间分配(例如表和索引)为数据库用户设置空间配额备份或恢复数据段表空间中存储在数据库空间分配中的逻辑单位称为段定义为分配给逻辑数据库结构的扩展区集合不同类型的段:数据段索引段回滚段临时段数据块代表数据库存储的最佳粒度级别Oracle的启动启动实例启动监听器启动控制台Oracle的结构化查询语言
SQL*Plus输入、编辑、存储、检索和运行SQL命令以及PL/SQL
块的工具
PL/SQL
SQL
的扩展SQL命令的类别
数据定义语言数据操纵语言事务处理控制语言数据控制语言Oracle主要数据类型4-1Character数据类型Number数据类型Date数据类型Raw和LongRaw数据类型LOB数据类型Oracle主要数据类型4-2Character数据类型
CharVarchar2LongNumber数据类型
Number(p,s)
Oracle主要数据类型4-3Date数据类型DateTimestampIntervaldaytosecondIntervalyeartomonthTimestampwithtimezoneTimestampwithlocaltimezoneOracle主要数据类型4-4Raw和LongRaw数据类型用于存储二进制数据LOB数据类型CLOBBLOBBFILE数据定义语言数据定义命令CREATE命令ALTER命令DROP命令TRUNCATE命令数据操纵语言数据操纵命令INSERTSELECTUPDATEDELETE事务处理和数据控制命令事务处理控制命令COMMITSAVEPOINTROLLBACK数据控制语言GRANTREVOKE总结2-1数据库有下面两类组件:物理组件和逻辑组件。物理组件是操作系统文件,有下面三种类型:数据库文件或数据文件、控制文件、恢复日志文件逻辑组件决定数据库中物理空间的使用,它包括:表空间、段、数据区、模式对象总结2-2Oracle支持Char、Varchar2、Number、Long、Date、Raw、LongRaw和LOB等数据类型CREATE、ALTER、DROP和TRUNCATE是用于定义数据的不同命令INSERT、UPDATE、DELETE和SELECT是用于操纵数据的不同命令COMMIT、SAVEPOINT和ROLLBACK是用于控制事务处理的命令GRANT和REVOKE是用于控制数据的两条命令开发工具介绍连接到数据库SQLplusPLSQLdeveloperOracle当中的一些对象1FunctionProcedurePackageTypeTriggerJobOracle中的一些对象2TableViewMaterializedviewSequenceSynonymsDatabaselinkSQL介绍SELECT语句的使用SQL*Plus中的运算符SQL*Plus函数本章目标SELECT语句的使用SQL*Plus中的运算符SQL*Plus函数SELECT语句4-1SELECT可以用于:创建现有表的副本插入来自其他表的记录使用别名让列显示其他名称SELECT语句4-2创建现有表的副本-语法:Createtable<new_table_name>asSELECTcolumn_namesfrom<existing_table_name>;SELECT语句4-3插入来自其他表的记录-语法:Insertinto<table_name>(SELECTcolumn_namesfrom<existing_table_name>);
SELECT语句4-4为列显示不同名称-语法:SELECTcolumn_name<alias_name>fromtable_name;SQL*Plus中的运算符运算符的分类算术运算符比较运算符逻辑运算符集合运算符连接运算符算术运算符算术运算符用于执行数学计算不同的算术运算符加(+)减(-)乘(*)除(/)比较运算符比较运算符用于将一个表达式与另一个表达式进行比较不同的比较运算符=、!=、<、>、<=、>=INLIKEISNULLBETWEEN和NOTBETWEEN逻辑运算符逻辑运算符用于合并两个条件的结果以产生单个结果不同的逻辑运算符ANDORNOT集合运算符
集合运算符用于合并两个独立查询的结果不同的集合运算符UnionUnionallIntersectMinus连接运算符
连接运算符用于将两个或多个字符串合并在一起符号(||)表示连接运算符SQL*Plus函数11-1SQL*Plus函数用于操纵数据接受一个或多个参数并返回一个值SQL*Plus函数的类别单行函数分组函数SQL*Plus函数11-2单行函数对每一行返回一个值也称为标量函数在SELECT和WHERE子句中使用SQL*Plus函数11-3单行函数的分类日期函数字符函数数字函数转换函数其他函数常规函数SQL*Plus函数11-4日期函数Add_monthsLast_dayMonths_betweenRoundNext_dayTrunc
SQL*Plus函数11-5字符函数SubstrInstrLengthTrimDecodeSQL*Plus函数11-6数字函数ModRoundTruncSignSQL*Plus函数11-7转换函数To_char()To_date()To_number()SQL*Plus函数11-9常规函数NVLNVL2NULLIFSQL*Plus函数11-10分组函数基于一组行产生结果对每组返回一个值SQL*Plus函数11-11不同的分组函数AvgMaxMinSumCountGroupBy和Having子句GroupBy子句用于将信息划分为较小的组每一组行返回针对每组的单个结果行Having字句用于指定针对行的某些条件它限定组中的行总结2-1SELECT语句可以用于:创建表的副本插入来自其他表的记录显示列别名SQL*Plus提供不同类型的运算符使用集合运算符可以合并查询SQL*PLUS函数划分为单行函数和分组函数总结2-2转换函数用于转换数据类型分组函数对每组返回一个值一些提高SQL速度的技巧TRUNCATE替代DELETE计算记录条数用Where子句替换HAVING子句EXISTS替代IN
用NOTEXISTS替代NOTIN
用索引提高效率避免在索引列上使用计算TRUNCATE替代DELETE
当删除表中的记录时,在通常情况下,回滚段(rollbacksegments)用来存放可以被恢复的信息,如果你没有COMMIT事务,ORACLE会将数据恢复到删除之前的状态(准确地说是恢复到执行删除命令之前的状况),而当运用TRUNCATE时,回滚段不再存放任何可被恢复的信息.当命令运行后,数据不能被恢复.因此很少的资源被调用,执行时间也会很短.
计算记录条数和一般的观点相反,count(*)比count(1)稍快,当然如果可以通过索引检索,对索引列的计数仍旧是最快的.例如COUNT(EMPNO)
用Where子句替换HAVING子句避免使用HAVING子句,HAVING只会在检索出所有记录之后才对结果集进行过滤,这个处理需要排序、总计等操作,如果能通过WHERE子句限制记录的数目,那就能减少这方面的开销,例如:--低效SELECTREGION,AVG(LOG_SIZE)FROMLOCATIONGROUPBYREGIONHAVINGREGION!=‘SYDNEY’ANDREGION!=‘PERTH’--高效SELECTREGION,AVG(LOG_SIZE)FROMLOCATIONWHEREREGION!=‘SYDNEY’ANDREGION!=‘PERTH’GROUPBYREGION用EXISTS替代IN
在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下,使用EXISTS(或NOTEXISTS)通常将提高查询的效率.--低效SELECT*FROMEMPWHEREEMPNO>0ANDDEPTNOIN(SELECTDEPTNOFROMDEPTWHERELOC=‘MELB’)--高效:SELECT*FROMEMPWHEREEMPNO>0ANDEXISTS(SELECT‘X’FROMDEPTWHEREDEPT.DEPTNO=EMP.DEPTNOANDLOC=‘MELB’)用索引提高效率索引是表的一个概念部分,用来提高检索数据的效率,实际上ORACLE使用了一个复杂的自平衡B-tree结构,通常通过索引查询数据比全表扫描要快,当ORACLE找出执行查询和Update语句的最佳路径时,ORACLE优化器将使用索引,同样在联结多个表时使用索引也可以提高效率,另一个使用索引的好处是,它提供了主键(primarykey)的唯一性验证,除了那些LONG或LONGRAW数据类型,你可以索引几乎所有的列.通常,在大型表中使用索引特别有效.当然,你也会发现,在扫描小表时,使用索引同样能提高效率,虽然使用索引能得到查询效率的提高,但是我们也必须注意到它的代价.索引需要空间来存储,也需要定期维护,每当有记录在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电工电子技术 课件全套 潘学海 1 手电筒电路的连接与测试 -16.流水灯电路的整体安装与调试
- 计算机安全技术-4操作系统安全
- SCI论文写作与投稿 第2版-课件汇 0-课程介绍 -7 SCI论文摘要写作
- 妇产科围手术期护理讲课
- 家具店长培训
- 2025届上海崇明区高考二模高考数学试卷试题(含答案详解)
- 广东省韶关市乐昌市2025届高三下学期2月模拟演练测验语文试题(含答案)
- 内科病房住院制度管理
- 基层管理者品质培训
- 护理人才培养工程申请汇报
- 冷链物流成本控制-全面剖析
- 有关商品房预售合同样本合同样本7篇
- 外交学院专职辅导员招聘真题2024
- 市场摊位租赁合同
- 浙江省宁波市“十校”2025届高三下学期3月联考英语试卷答案
- 水声通信组网技术第二讲-水声信道传输特性
- 2025年3月版安全环境职业健康法律法规标准文件清单
- 2025年河南工业和信息化职业学院单招职业技能测试题库参考答案
- 2025年吉林铁道职业技术学院单招职业技能测试题库及参考答案
- 2025年春统编版七年级语文下册 第三单元 阅读综合实践(公开课一等奖创新教案+)
- 信息通信工程安全施工指南
评论
0/150
提交评论