打造中国金融IT服务业第一品牌1宇信易诚员工培训-ORACLE培训打造中国金融IT服务业第一品牌2目录ORACLE数据库简介ORACLESQLORACLE数据库对象打造中国金融IT服务业第一品牌3Oracle体系结构每一个Oracle数据库都是一个数据的集合,这些数据包含在一个或多个文件中。数据库有物理和逻辑两种结构。Oracle实例由被称为系统全局区(systemglobalarea,SGA)的内存区域和相应的后台进程组成。这些后台进程负责SGA和数据库磁盘文件之间的交互。Oracle服务器Oracle数据库Oracle实例打造中国金融IT服务业第一品牌4Oracle主要组件实例内存结构后台进程PMONSMONDBWRLGWRCKPT其他数据库数据文件数据文件数据文件控制文件控制文件日志文件日志文件参数文件归档日志文件口令文件SGA用户进程服务器进程PGA共享池数据缓冲区日志缓冲区打造中国金融IT服务业第一品牌5Oracle会话会话是用户与Oracle服务器的单个连接当用户与服务器建立连接时创建会话当用户与服务器断开连接时关闭会话启动Oracle实例使用SQL*Plus连接至数据库创建用户进程创建服务器进程提交SQL查询打造中国金融IT服务业第一品牌6系统全局区SGA数据库信息存储于SGA,由多个数据库进程共享共享池数据缓冲区日志缓冲区SGA的内存结构打造中国金融IT服务业第一品牌7系统全局区SGA共享池共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域共享池由库缓存和数据字典缓存组成。共享池的大小直接影响数据库的性能。数据缓冲区用于存储从磁盘数据文件中读入的数据,所有用户共享。服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。数据缓冲区的大小对数据库的读取速度有直接的影响。日志缓冲区日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。相对来说,日志缓冲区对数据库的性能影响较小。打造中国金融IT服务业第一品牌8程序全局区PGA程序全局区(PGA)包含单个服务器进程所需的数据和控制信息PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle数据库连接的用户进程所需的信息PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放打造中国金融IT服务业第一品牌9后台进程PMON进程监控进程清理出现故障的进程。释放所有当前挂起的锁定。释放故障进程使用的资源。SMON系统监控进程在实例失败之后,重新打开数据库时自动恢复实例。整理数据文件的自由空间,将相邻区域结合起来。释放不再使用的临时段DBWR数据写入进程管理数据缓冲区,将最近使用过的块保留在内存中。将修改后的缓冲区数据写入数据文件中。LGWR日志写入进程负责将日志缓冲区中的日志数据写入日志文件。系统有多个日志文件,该进程以循环的方式将数据写入文件.打造中国金融IT服务业第一品牌10Oracle物理组件物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分为三类:物理组件数据文件控制文件日志文件数据文件用于存储数据库数据,如表、索引数据等。控制文件是记录数据库物理结构的二进制文件。日志文件记录对数据库的所有修改信息,用于故障恢复打造中国金融IT服务业第一品牌11Oracle逻辑组件数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle的逻辑组件包括:数据库表空间段区数据块打造中国金融IT服务业第一品牌12Oracle逻辑组件表空间是数据库中最大的逻辑单位,一个Oracle数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。表空间的大小等于构成该表空间的所有数据文件大小之和。打造中国金融IT服务业第一品牌13Oracle逻辑组件段段是构成表空间的逻辑存储结构,段由一组区组成。按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。区区为段分配空间,它由连续的数据块组成。当段中的所有空间已完全使用时,系统自动为该段分配一个新区。区不能跨数据文件存在,只能存在于一个数据文件中。数据块数据块是Oracle服务器所能分配、读取或写入的最小存储单元。Oracle服务器以数据块为单位管理数据文件的存储空间打造中国金融IT服务业第一品牌14Oracle网络配置Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。服务器端配置监听器,客户端配置网络服务名。tnsnames.oraOracle客户端listener.oraOracle服务器打造中国金融IT服务业第一品牌15Oracle网络配置服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中Oracle中的NetConfigurationAssistant和NetManager工具都能用来配置监听器和网络服务名打造中国金融IT服务业第一品牌16总结Oracle服务器由Oracle数据库和Oracle实例组成Oracle实例由系统全局区内存结构和用于管理数据库的后台进程组成Oracle数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区Oracle数据库包括逻辑结构和物理结构打造中国金融IT服务业第一品牌17目录ORACLE数据库简介ORACLESQLORACLE数据库对象打造中国金融IT服务业第一品牌18基本SQLSELECT语句打造中国金融IT服务业第一品牌19基本SELECT语句SELECT标识选择哪些列。FROM标识从哪个表中选择。打造中国金融IT服务业第一品牌20选择全部列打造中国金融IT服务业第一品牌21选择特定的列打造中国金融IT服务业第一品牌22WritingSQLStatementsSQL语言大小写不敏感。SQL可以写在一行或者多行关键字不能被缩写也不能分行各子句一般要分行写。使用缩进提高语句的可读性。打造中国金融IT服务业第一品牌23算术运算符数字和日期使用的数学表达式。打造中国金融IT服务业第一品牌24使用数学运算符…打造中国金融IT服务业第一品牌25操作符优先级乘除的优先级高于加减。同一优先级运算符从左向右执行。括号内的运算先执行。打造中国金融IT服务业第一品牌26操作符优先级打造中国金融IT服务业第一品牌27使用括号打造中国金融IT服务业第一品牌28列的别名列的别名:重命名一个列。便于计算。紧跟列名,也可以在列名和别名之间加入关键字‘AS’,以便在别名中包含空格或特殊的字符并区分大小写。打造中国金融IT服务业第一品牌29使用别名打造中国金融IT服务业第一品牌30连接符连接符:把列与列,列与字符连接在一起。用‘||’表示。可以用来‘合成’列。打造中国金融IT服务业第一品牌31字符串字符串可以是SELECT列表中的一个字符,数字,日期。日期和字符只能在单引号中出现。每当返回一行时,字符串被输出一次。打造中国金融IT服务业第一品牌32重复行默认情况下,查询会返回全部行,包括重复行。打造中国金融IT服务业第一品牌33删除重复行在SELECT子句中使用关键字‘DISTINCT’删除重复行打造中国金融IT服务业第一品牌34总结通过本课,您应该可以完成:书写SELECT语句:返回表中的全部数据。返回表中指定列的数据。使用别名。打造中国金融IT服务业第一品牌35作业1查询employees表列出所有办事员的姓名(FIRST_NAME+LAST_NAME)、编号(EMPLOYEE_ID)和部门(DEPARTMENT_ID)其中姓名字段需要将FIRST_NAME列和LAST_NAME进行字符串连接查询employees表列出所有办事员的EMPLOYEE_ID,SALARY,其中SALARY列需要显示办事员的收入为原始收入乘以2。打造中国金融IT服务业第一品牌36过滤和排序数据打造中国金融IT服务业第一品牌37在查询中过滤行返回在90号部门工作的所有员工的信息打造中国金融IT服务业第一品牌38过滤使用WHERE子句,将不满足条件的行过滤掉。WHERE子句紧随FROM子句。打造中国金融IT服务业第一品牌39字符和日期字符和日期要包含在单引号中。字符大小写敏感,日期格式敏感。默认的日期格式是DD-MON-RR(如6/21/1999)。打造中国金融IT服务业第一品牌40比较运算打造中国金融IT服务业第一品牌41其它比较运算打造中国金融IT服务业第一品牌42BETWEEN打造中国金融IT服务业第一品牌43IN打造中国金融IT服务业第一品牌44LIKE使用LIKE运算选择类似的值选择条件可以包含字符或数字:%代表一个或多个字符。_代表一个字符。打造中国金融IT服务业第一品牌45LIKE‘%’和‘-’可以同时使用。打造中国金融IT服务业第一品牌46NULL使用NULL判断空值。打造中国金融IT服务业第一品牌47逻辑运算打造中国金融IT服务业第一品牌48ANDAND要求与的关系为真。打造中国金融IT服务业第一品牌49OROR要求或关系为真。打造中国金融IT服务业第一品牌50NOT打造中国金融IT服务业第一品牌51优先级打造中国金融IT服务业第一品牌52优先级打造中国金融IT服务业第一品牌53优先级打造中国金融IT服务业第一品牌54ORDERBY子句使用ORDERBY子句排序ASC:升序DESC:降序ORDERBY子句在SELECT语句的结尾。打造中国金融IT服务业第一品牌55降序排序打造中国金融IT服务业第一品牌56按别名排序打造中国金融IT服务业第一品牌57多个列排序打造中国金融IT服务业第一品牌58总结通过本课,您应该可以完成:使用WHERE子句过滤数据–使用比较运算使用BETWEEN,IN,LIKE和NULL运算使用逻辑运算符AND,OR和NOT使用ORDERBY子句进行排序。打造中国金融IT服务业第一品牌59作业2查询employees表选择部门(department_id)为30中的雇员显示不带有“R”的雇员姓名(first_name).显示雇员的详细资料,按姓名(first_name)排序.找出不收取佣金(null)或收取的佣金低于500的雇员打造中国金融IT服务业第一品牌60单行函数打造中国金融IT服务业第一品牌61SQL函数打造中国金融IT服务业第一品牌62单行函数单行函数:接受函数返回一个结果只对一行进行变换每行返回一个结果可以转换数据类型可以嵌套参数可以是一列或一个值打造中国金融IT服务业第一品牌63单行函数打造中国金融IT服务业第一品牌64字符函数打造中国金融IT服务业第一品牌65大小写控制函数打造中国金融IT服务业第一品牌66大小写控制函数打造中国金融IT服务业第一品牌67字符控制函数打造中国金融IT服务业第一品牌68字符控制函数打造中国金融IT服务业第一品牌69数字函数ROUND:四舍五入ROUND(45.926,2)45.93TRUNC:截断TRUNC(45.926,2)45.92MOD:求余MOD(1600,300)100打造中国金融IT服务业第一品牌70MOD函数打造中国金融IT服务业第一品牌71日期Oracle内部使用数字存储日期:世纪,年,月,日,小时,分钟,秒。默认的日期格式是DD-MON-RR.可以只指定年的后两位在20世纪存放21世纪的日期。同样可以在21