Oracle大型数据库系统基础实验指导书.doc_第1页
Oracle大型数据库系统基础实验指导书.doc_第2页
Oracle大型数据库系统基础实验指导书.doc_第3页
Oracle大型数据库系统基础实验指导书.doc_第4页
Oracle大型数据库系统基础实验指导书.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

Oracle大型数据库系统基础实验指导书网络工程教研室 编写巢湖学院计算机与信息工程学院2015年3月目录 实验一:Oracle 11g的安装与卸载4一、实验目的4二、实验条件4三、实验原理及相关知识4四、实验步骤4(一)安装过程4(二)卸载过程9(三)启动数据库实例12(四)关闭数据库实例12(五)了解启动SQL*Plus的方法12五、思考题及其它13实验二:SQL*PLUS的简单使用14一、实验目的14二、实验设备及条件14三、实验原理及相关知识14四、实验步骤14五、思考题及其它19实验三 Oracle 11g体系结构20一、实验目的与要求20二、实验设备及条件20三、实验内容与步骤201、实验准备202、物理存储结构203、Oracle逻辑存储结构214、Oracle内存与进程结构224、其他235、作业与思考练习题23实验四: Oracle 数据库的查询与更新24一实验目的及要求24二、实验主要内容24三、实验仪器设备24四、实验步骤24(一)oracle常用的查询语句24(二)oracle常用的更新语句26(三)oracle常用的事务语句26五、思考题及其它27实验五: PL/SQL编程28一实验目的及要求28二、实验主要内容28三、实验仪器设备28四、实验内容与步骤28(一)PL/SQL块中查询命令的使用28(二)PL/SQL块中流程控制语句的使用29(三)SQL/PL块中游标的使用29(五)SQL/PL块中例外处理的使用29五、思考题及其它30实验六: 过程、函数、触发器31一实验目的及要求31二、实验主要内容31三、实验仪器设备31四、实验内容与步骤31(一)过程的创建与维护31(二)函数的创建与维护32(三)触发器的创建于维护32(四)包的使用(选做)32五、思考题及其它33实验七 表、视图、索引、同义词、序列34一、实验目的34二、实验环境34三、实验内容及步骤34(一)表的创建、维护及其使用方法34(二)视图的创建、维护及其使用方法(必做)35(三)索引的创建、维护及其使用方法(选做)35(四)同义词、序列的创建、维护及其使用方法(选做)36实验八 oracle用户权限管理与分配37一、实验目的及要求37二、实验主要内容37三、实验仪器设备37四、实验步骤37(一)用户创建与管理37(二)权限管理。37(三)角色的创建与管理。38(四)资源配置文件PROFILE的建立、修改、查看、删除操作38附录:员工医疗保险系统表39实验一:Oracle 11g的安装与卸载实验学时:2实验类型:验证型一、实验目的1. 掌握 Oracle11g 的安装、配置及其卸载过程 2. 掌握 Oracle11g 服务的启动与关闭 3. 了解Oracle11g管理工具的使用二、实验条件1. 能够联网的计算机2. Oracle11g数据库软件三、实验原理及相关知识四、实验步骤(一)安装过程安装程序成功下载,将会得到如下2个文件:解压文件将得到database文件夹,文件组织如下:点击setup.exe执行安装程序,开始安装1、双击setup.exe文件之后,将启动Oracle Universal Installer安装工具,在该窗口中出现用于检测计算机软件、硬件安装环境的提示信息,若安装环境不满足系统安装的最小需求,则程序会终止继续执行。2、在Oracle Universal Installer安装工具检测完当前系统的软、硬件环境之后,将打开“配置安全更新”界面。这样在该界面上可以取消“我希望通过My Oracle Support接收安全更新”复选框的标记,并将“电子邮件”文本框置空,然后单击“下一步”按钮,如下图所示。3、单击“下一步”按钮后,系统会弹出“未指定电子邮件地址”的信息提示框,如下图所示。这里选择“是”按钮,表示对上一步的设置进行确认就可以了。4、单击“是”按钮后,会打开“选择安装选项”界面,该界面用于选择“安装选项”,这里选择“创建和配置数据库”选项,然后单击“下一步”按钮,如下图所示。 5、单击“下一步”按钮后,会打开“系统类”界面,如下图示。该界面用来选择数据库被安装在哪种操作系统平台上,本演示实例使用的是Windows 7/xp操作系统(属于桌面类系统),所以选择“桌面类”,然后单击“下一步”按钮。6、单击“下一步”按钮后,会打开“典型安装配置”界面。在该界面中,首先设置“文件目录”;然后选择“数据库版本”;接着输入“全局数据库名”和“登录密码”;最后单击“下一步”按钮,如下图所示。oracle推荐口令:(1)至少一个大写 (2)至少一个小写字母(3)至少一个数字 (4)至少八位7、单击“下一步”按钮后,会打开“执行先决条件检查”界面,该界面用来检查安装本产品所需要的最低配置,检查结果会在下一个界面中显示出来,如下图所示。检查失败原因: 机器硬件配置低于oracle安装最低配置。如果你的电脑满足要求但仍然显示检查失败,这时候直接忽略,勾选“全部忽略”。8、检查完毕后,弹出如下图所示的“概要”界面,在该界面中会显示出安装产品的概要信息,若在上一步中检查出某些系统配置不符合Oracle安装的最低要求,则会在该界面的列表中显示出来,以供用户参考,然后单击“完成”按钮即可。9、单击“完成”按钮后,会打开“安装产品”界面,该界面会显示产品的安装进度,如下图所示。10、当“安装产品”界面中的进度条到达100%后,会打开“Database Configuration Assistant”界面即数据库配置助手界面,如下图所示。在该界面中,单击“停止”按钮,可以随时停止文件复制。11、当“数据库配置助手”界面中的进度条到达100%后,表示Oracle 11g数据库安装所需的文件已经复制完毕,这时会弹出一个包含“安装信息”的对话框,如下图所示。12、在上面的对话框中单击“口令管理”按钮,会打开如下图所示的“口令管理”对话框,在该对话框中可以为某些用户重新设置口令或者解除某些用户的锁定状态(比如,SCOTT用户默认处于锁定状态)。(13)在“口令管理”对话框中单击“确定”或“取消”按钮就可以返回到包含“安装信息”的对话框,在该对话框中单击“确定”按钮将打开“完成”界面。至此,oracle11g的安装完成。(二)卸载过程1、首先打开控制面板 管理工具“服务”窗口中,然后停止所有的Oracle后台服务程序,如下图所示。2、然后运“D:appAdministratorproduct11.2.0dbhome_1deinstalldeinstall.bat”这个批处理文件(这个目录要根据自己实际安装的位置来确定),会打开下图所示的命令行窗口,然后等待程序提取“卸载”信息3、“卸载”信息提取完毕后,会显示如下图所示的第二个命令行界面,用以取消配置LISTENER单实例监听程序。4、接着显示如下图所示的第三个命令行界面,在该界面的提示符位置输入全局数据库名称,若存在多个数据库,则数据库名称之间使用逗号分隔(这里输入“orcl”),然后回车(或者什么也不输,直接按“enter”键即可)。5、接着显示如下所示的命令行界面,在该界面的是否修改MYDATA,ORCL 数据库的详细资料(这里输入“n”),然后回车。是否仍要修改 MYDATA,ORCL 数据库的详细资料? n: n6、这时会显示第四个命令行界面,如下图所示。在该界面提示符的位置输入“y”字符,然后回车。7、这时会显示第五个命令行界面,如下图所示,等待卸载Oracle 11g数据库,卸载操作可能要持续几分钟,耐心等待。8、卸载完成,命令行界面会自动退出,由于这种自动卸载功能并不完全彻底,需要手动清除安装目录中的剩余文件。(三)启动数据库实例Oracle数据库实例的启动过程分为3步骤,分别是启动实例、加载数据库、打开数据库。命令格式如下:STARTUP nomount | mount | open | force resetrict pfile=filename模式如下:NOMOUNT模式MOUNT模式OPEN模式FORCE模式(四)关闭数据库实例关闭数据库实例也分为3个步骤,分别是关闭数据库、卸载数据库、关闭Oracle实例。具体语法格式如下:SHUTDOWN normal | transactional | immediate | abort四种关闭数据库实例的方式。NORMAL方式TRANSACTIONAL方式IMMEDIATE方式ABORT方式注意:用户要以sysdba的身份登录,才具有关闭和启动数据库实例的权限(五)了解启动SQL*Plus的方法1、选择“开始”/“所有程序”/“Oracle-OraDb11g_home1”/“应用程序开发”/“SQL*Plus”命令,打开如下图所示的SQL*Plus启动界面。2、通过“运行”中输入sqpplus命令来启动命令行窗口五、思考题及其它1、如何不以任何用户身份进入到SQL*Plus运行环境?2、如何以sys用户连接数据库?3、理解sys、system用户的区别。4、理解sysdba、sysoper、dba系统权限和角色的区别。5、实验报告书写要求。 在 SQL*Plus运行环境下,关闭和启动数据库,写出对应指令及实验结果。实验二:SQL*PLUS的简单使用实验学时:4实验类型:设计型一、实验目的1、了解sqlplus环境的存储。2、练习以前的SQL语句。3、熟悉显示和设置环境变量。4、掌握常用的SQL*PLUS。5、熟悉格式化查询结果命令。二、实验设备及条件在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。三、实验原理及相关知识SQLPLUS常用命令列表 假设当前执行命令为:select * from tab; (注):括号中的内容可以为整个命令的简写。 (一)登录数据库sqlplus sys/sysDODO as sysdbasqlplus /as sysdba sqlplus /nologSQLconn sys/sysDODO as sysdba(二)常用命令1、执行一个SQL脚本 SQL start D:a.sql SQL D:a.sql 注:若需要在一个脚本中调用另一个脚本,则使用 D:a.sql 2、重新执行上一次命令: SQL / -也可使用 run/r 来替代执行3、编辑脚本:SQL edit -编辑当前输入的文本(前1次执行的部分) SQL edit D:a.sql -编辑制定文档 注:在txt中编辑完成后保存,关闭即修改完成,使用“/”后运行 4、保存脚本:SQL save a -自动存档为a.sql 保存在C:Documents and Settingswangxiaoqi SQL save D:a -保存到D:a.sql 5、导入脚本: SQL get D:a 6、显示一个表结构: SQL desc tab -如果tab不是表,则只显示其类型和名字 7、保存所有输入: SQL spool D:xxx -建立一个xxx.LST文件 SQL spool -显示当前spool状态 SQL select * from dual; SQL spool off -结束录入 8、执行过程 SQL execute a;9、增加页眉和页脚: SQL TTITLE abc -添加页眉“abc” SQL BTITLE def -添加页脚“def” SQL TTITLE OFF -取消页眉显示 (三)COLUMNCOL命令修改字段属性: 可以修改的属性有: CLEAR FORMAT format HEADING text JUSTIFY LEFT|CENTER|CENTRE|RIGHT NOPRINT|PRINT NULL text ON|OFF WRAPPED|WORD_WRAPPED|TRUNCATED 注:若不同表的同列名,会一起改掉! 1、HEADING-改变字段名 SQL COLUMN id HEADING XX|YY -使用|可将列名显示为两行 2、FORMAT-改变字符长度 & 格式化数值 SQL COLUMN id FORMAT a20 -此字段长20个字符,只能针对字符,若为数字则无法正常显示 SQL COLUMN id FORMAT $999.00 -前缀$,小数点前3位,小数点后2位四舍五入 3、JUSTIFY-改变字段名显示位置 SQL COLUMN id JUSTIFY center -居中显示,默认的都是靠右(r )显示 4、NOPRINT-不显示 SQL COLUMN id NOPRINT -不显示出来,可用PRINT设置回来 5、NULL-设置NULL值显示 SQL COLUMN COMM NULL 0.00 -将NULL值设置位0.00 注意必须加上 6、WRAPPED-设置回绕方式 SQL COLUMN id FORMAT a5 -设置长度为5 SQL COLUMN id WRAPPED -表示直接按长度回绕 SQL COLUMN id WORD_WRAPPED -按单词回绕 SQL COLUMN id TRUNCATED -直接按长度截断 7、COLUMN-显示当前列所有属性 SQL COLUMN id -后面不加列名时显示所有的COLUMN 8、OFF|ON-设置某一字段关闭 SQL COLUMN id OFF 9、CLEAR-清空所有字段属性 SQL CLEAR COLUMNS (四)SQL*Plus的系统参数(参照课本P50页表格): show all -显示所有系统参数的当前值 show 参数 -显示某个系统参数值 set 参数值 -设置系统参数值 echo OFF 是否显示执行代码 SQL SET ECHO ON|OFF FEEDBACK ON for 6 or more rows 查询、修改时所影响的行数 SQL SET FEEDBACK 6|n|ON|OFF heading ON 是否显示列标题 SQL SET HEADING ON|OFF linesize 100 设置一行可容纳的字符数 SQL SET LINESIZE 80|n newpage 1 页与页之间的分隔符 SQL SET NEWPAGE 1|n|NONE 当set newpage 0 时,会在每页的开头有一个小的黑方框。 当set newpage n 时,会在页和页之间隔着n个空行。 当set newpage none 时,会在页和页之间没有任何间隔。 null 设置null值 SQL SET NULL 0.00 但是此值显示出来后必为字符型 numformat numwidth 10 设置number类型的长度限制 SQL SET NUMWIDTH 16 pagesize 9999 一页显示多少行 SQL SET PAGESIZE 24|n 当设置为0时,则所有行显示在一页中,并且不显示标题行 PAUSE is OFF serveroutput ON SIZE 1000000 FORMAT WORD_WRAPPED 输出DBMS.OUTPUT时是否显示 SQL SET SERVEROUTPUT ON|OFF size n timing OFF SQL语句执行花费时间显示 set TIMING ON|OFF wrap : lines will be wrapped 当长度超过时是否回绕 SQL SET WRAP ON|OFF -基本上都要ON (五)一些常用的小操作: show user -查看当前登录用户 show errors -显示错误信息 show release -显示版本 show SGA -显示SGA set time on -前端始终显示时间 select name from v$database; -查看当前所在数据库 select * from v$instance; -查看所有数据库实例(似乎没什么用) select * from V_$PWFILE_USERS; -查看那些用户有SYSDBA/SYSOPER权限show和set命令是两条用于维护SQL*Plus系统变量的命令 SQL show all -查看所有68个系统变量值 SQL show user -显示当前连接用户 SQL show error -显示错误 SQL set heading off -禁止输出列标题,默认值为ON SQL set feedback off -禁止显示最后一行的计数反馈信息,默认值为对6个或更多的记录,回送ON SQL set timing on -默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能 SQL set sqlprompt SQL -设置默认提示符,默认值就是SQL SQL set linesize 1000 -设置屏幕显示行宽,默认100 SQL set autocommit ON -设置是否自动提交,默认为OFF SQL set pause on -默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页 SQL set arraysize 1 -默认为15 SQL set long 1000 -默认为80 说明: long值默认为80,设置1000是为了显示更多的内容,因为很多数据字典视图中用到了long数据类型,如:SQL desc user_views列名 可空值否 类型- - -VIEW_NAME NOT NULL VARCHAR2(30)TEXT_LENGTH NUMBERTEXT LONG(六)命令列表: 假设当前执行命令为:select * from tab;(a)ppend 添加文本到缓冲区当前行尾a order by tname结果:select * from tab order by tname;(注:a后面跟2个空格)(c)hange/old/new 在当前行用新的文本替换旧的文本c/*/tname结果:select tname from tab;(c)hange/text从当前行删除文本c/tab结果:select tname from ;del删除当前行del n删除第n行(i)nput 文本 在当前行之后添加一行(l)ist 显示缓冲区中所有行(l)ist n 显示缓冲区中第 n 行(l)ist m n 显示缓冲区中 m 到 n 行run执行当前缓冲区的命令/执行当前缓冲区的命令r执行当前缓冲区的命令文件名运行调入内存的sql文件,如:SQL edit s如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,在其中输入“select * from tab;”,存盘退出。SQL s系统会自动查询当前用户下的所有表、视图、同义词。文件名 在.sql文件中调用令一个.sql文件时使用save 文件名将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sqlget 文件名 调入存盘的sql文件start 文件名 运行调入内存的sql文件spool 文件名 把这之后的各种操作及执行结果“假脱机”即存盘到磁盘文件上,默认文件扩展名为.lstspool显示当前的“假脱机”状态spool off停止输出例:SQL spool aSQL spool正假脱机到 A.LSTSQL spool offSQL spool当前无假脱机exit 退出SQL*PLUSdesc 表名显示表的结构show user显示当前连接用户show error 显示错误show all 显示所有68个系统变量值edit 打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑edit 文件名把当前目录中指定的.sql文件调入编辑器进行编辑clear screen 清空当前屏幕显示四、实验步骤1、oracle sqlplus的两中启动方法(1)、选择“开始”/“所有程序”/“Oracle-OraDb11g_home1”/“应用程序开发”/“SQL*Plus”命令,打开如下图所示的SQL*Plus启动界面。(2)、通过“运行”中输入sqpplus命令来启动命令行窗口用户名: scott 口令:tiger 用户名:system/sys 口令:Admin123(Oracle 11g)用户名:system/sys 口令:orcl123(Oracle 10g)2、SQLPlus的各种命令的使用设计题:打印输出scott.emp表中的所有记录,只输出empno,ename ,job,sal ,deptno字段。要求如下:1)在命令提示符“SQL”前面显示当前的系统时间2)一页显示15行,每页3行空行,每一页都暂停,并有显示提示字符串(按Enter继续)3)为数字显示符号类型,工资的输出格式为$999,99.00; 4 )ename ,job列标题用中文显示;4)根据deptno列值范围分割输出结果,并计算sal列的和;5)打印头标题为“雇员信息表”,并以黑体打印;打印低标题为“操作员: 打印日期为:年月日”(以定义变量的方式)6)把打印结果输出到指定文件中五、思考题及其它1、什么才是SQL*PLUS中一页?2、Numformat设置输出数值格式其有效范围是什么?column中的format的设置输出数值格式有效范围又是什么?3、实验报告要求 把“四、实验步骤”中的“2、设计题”写到实验报告中,并给出实验结果。 实验三 Oracle 11g体系结构实验学时:2实验类型:验证型一、实验目的与要求1、熟悉Oracle数据库的物理结构2、熟悉Oracle数据库的逻辑结构3、理解Oracle的工作机制4、理解Oracle的服务器结构二、实验设备及条件在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。三、实验内容与步骤1、实验准备 以系统管理员身份登入到数据库。2、物理存储结构 (1)数据文件数据文件的详细信息记载在控制文件中,可以通过如下方式查看数据文件。SQLselect name from v$datafile;给出运行结果截图:练习:用desc命令查看V$datafile视图的结构,并试着查询更详细的信息。(2)日志文件通过如下方式查看重做日志文件相关信息:给出运行结果截图:练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。(3)控制文件通过如下方式查看控制文件相关信息:给出运行结果截图:练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。(4)参数文件通过如下方式查看参数文件相关信息:a、show parameter显示服务器参数b、查询试图v$Parameter,可以利用该动态性能视图来确定参数的默认值是否被修改,以及是否可以用alter system和alter session命令修改阅读结果并理解各数据项的含义。修改服务器参数a、通过企业管理器(OEM)修改b、使用 alter system修改服务器参数。格式如下:Alter system set parameter =value Eg:alter system set db_block_size=4096;练习:在%oracle_home%(如D:appAdministratorproduct11.2.0dbhome_1database或者D:appAdministratorproduct11.2.0dbhome_1srvmadmin)找到名为SPFileSID.ora(如:SPfileorcl.ora)和init.ora的文件,此文件即为参数文件,用记事本或者写字板打开它们,阅读其内容并理解各数据项的作用。3、Oracle逻辑存储结构 (1)查看表空间的名称及大小执行以下语句,并给出运行结果。(2)查看表空间物理文件的名称及大小执行以下语句,并给出运行结果。(3)查看回滚段名称及大小执行以下语句,并给出运行结果。(4)查看所有表空间对应的数据文件名:SQLselect distinct file_name,tablespace_name,AUTOEXTENSIBLE from dba_data_files; (5)查看表空间的使用情况:SQLselect sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;(6)查看回滚段的使用情况,哪个用户正在使用回滚段的资源:SQLselect s.username, from v$transaction t,v$rollstat r,v$rollname u,v$session s where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;4、Oracle内存与进程结构 (1)查看sga情况:SQLSELECTNAME,BYTESFROMSYS.V_$SGASTATORDERBYNAMEASC;(2)数据库共享池性能检查:SQLSelectnamespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidationsfromv$librarycachewherenamespacein (SQLAREA,TABLE/PROCEDURE,BODY,TRIGGER);(3)检查共享内存的剩余情况:SQLselectrequest_misses,request_failuresfromv$shared_pool_reserved;(4)数据高速缓冲区性能检查:SQLselect1-p.value/(b.value+c.value)dbbuffercachehitratiofromv$sysstatp,v$sysstatb,v$sysstatcWhere ==dbblockgetsand =consistentgets;(5)查看排序段的性能:SQLSELECTname,valueFROMv$sysstatWHEREnameIN(sorts(memory),sorts(disk);(6)查看数据库中某用户,正在运行什么SQL语句SQLSELECTSQL_TEXTFROMV$SQLTEXTT,V$SESSIONSWHERET.ADDRESS=S.SQL_ADDRESSANDT.HASH_value=S.SQL_HASH_valueANDS.MACHINE=XXXXXORUSERNAME=WACOS;4、其他 (1)查看数据库库对象:SQLselectowner,object_type,status,count(*)count#fromall_objectsgroupbyowner,object_type,status;(2)查看数据库的创建日期和归档方式:SQLSelectCreated,Log_ModeFromV$Database;5、作业与思考练习题1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。注:您还可以使用 V$PARAMETER,或者执行 SHOW PARAMETER命令以显示控制文件的名称和位置。2、控制文件中数据文件部分的初始大小是多少?提示:查询动态性能视图V$CONTROLFILE_RECORD_SECTION。3、实验报告要求 从物理存储结构、逻辑存储结构以及内存与进程结构中分别选择三个进行查询,并给出实验结果。实验四: Oracle 数据库的查询与更新实验学时:6实验类型:设计型一实验目的及要求1熟悉Oracle的基本知识及SCOTT模式。2熟悉并掌握oracle常用的查询语句。3熟悉并掌握oracle常用的更新语句4熟悉并掌握oracle常用的事务语句二、实验主要内容1、Oracle查询语句。2、Oracle 更新语句。3、Oracle事务处理。三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。四、实验步骤(一)oracle常用的查询语句1、选择列1)显示所有员工的姓名及工龄,并分别用别名表示姓名和工龄。2)在检索emp表中的sal列,并把其值调整为原来到1.2倍3)显示每个雇员的年薪(sal+comm)*134)检索emp表中有奖金员工不同工种(job),即要求显示的“job”记录不重复2、选择行1)查询工作是CLERK的所有职工的姓名,职工号和部门号2)查询奖金高于工资20%的员工信息。3)查询emp表中工资(sal)大于1500且部门编号为10的数据记录4)查询工资同时不等于3000、950、800的员工记录。5)查询工资不在2000到3000之间的员工信息。6)查询职务为”PRESIDENT“、”MANAGER“、”ANALYST“任意一种员工的信息7)查询以字母J开头,以S 结尾,中间任意长度为名的员工记录8)把职工名字和部门编号中间用WORKS IN DEPARTMENT连接起来9)查询emp中comm为空的员工信息 10)查询工资高于500或是岗位为manager的雇员,同时还要满足他们的姓名首写字母为大写的”J“11)查询所有工种不是MANAGER和CLERK,且工资大于或等于2000的员工信息。12)如何按照部门升序、雇员的年薪降序显示信息13)查询每个部分员工平均工资超过1500的记录信息,并按降序排列。 14)显示每个部门的员工工资总和(使用ROLLUP关键字)。15)显示每个部门的员工工资总和及每一个岗位工资总和(使用CUBE关键字)。3、连接查询1)内连接查询所以员工的编号、员工姓名和员工所在的部门名称。2)等值连接查询职位为MANAGER每个员工的编号、员工姓名和员工所在的部门名称。3)自然连接在emp表中检索工资(sal字段)大于2000的记录,并实现emp和dept的自然连接4)自连接a、查询不低于CLARK工资的员工号、员工姓名和员工工资,查询后的结果要求按员工工资升序排列。b、查询所有管理者的下属员工信息。5)外连接首先使用INSERT语句在emp表中插入新纪录,但并没有为deptno,dname列插入值,即他们的值为null INSERT INTO emp(empno,ename,job) VALUES(9527,EAST,SALESMAN);然后在dept表中插入如下记录INSERT INTO dept(deptno,dname) VALUES(50,HR,Shanghai)完成下面的外连接:a、将emp表和dept表进行左外连接,emp为左表,dept表为右表b、将emp表和dept表进行右外连接,emp为左表,dept表为右表c、需要了解所有员工和部门信息(完整外连接)。4、子查询1)单行单列子查询(使用比较运算符)查询出既不是最高工资也不是最低工资的员工信息2)单列多行子查询(IN子查询)a、查询与SMITH员工从事相同工作的其他员工信息。b、查询部门人数大于5的部门的员工的信息。3)ANY或ALL子查询a、查询工资大于部门编号为10的任意一个员工工资即可的其他部门的员工信息。 b、查询工资大于部门编号为30的所有员工工资的员工信息。4)多列子查询查询与SMITH的部门和岗位完全相同的其他员工信息。5)from子句中使用子查询a、查询高于自己部门平均工资的员工信息。b、查询最低工资大于2500的各种工作。6)关联子查询 检索工资大于同职位的平均工资的员工信息5、Oracle常用系统函数1)字符函数的应用a、查询emp表中员工的姓名、工作和所在的部门,姓名的首字符大写,其他字符小写,工作以小写字符输出。b、查询工名正好为6个字符的员工信息。c、查询所有员工姓名的前三个字符。2)日期和时间类函数a、查询各月倒数第二天入职的员工信息。3)转换类函数a、显示所有员工的姓名、雇佣日期及工龄,日期以“YYYY-MM-DD”格式显示b、显示1982-1-1后入职的员工信息。 (二)oracle常用的更新语句1、插入语句1)分别在emp和dept插入一条记录。Emp: a、向emp表中插入一条记录,员工号为9357,员工名字为oracle,工资为2050元,部门号为20,入职日期为2002年5月10日b、在emp表中,插入一条记录 (9527,EAST,SALESMAN)Dept: 在dept插入一条记录(40,DESIGN,Beijing) (能否成功插入?并分析结果)2)求每个部门的平均工资,并将结果保存到数据库中。第一步: 在数据库中建立一个有两个属性列的新表,其中一列存放部门号别名,另一列存放相应部门的员工的平均工资。 CREATE TABLE AvgSal(Dept_ID number(2),Sal_Avg number(7,2) ;其中Dept_ID代表部门类编号, Sal_Avg代表平均工资。第二步:插入(如何实现?)2、更新语句1)把emp表中员工名称以J开头的所有员工的工资上调20%。2)将和SCOTT一个部门的所有员工工资上调20%。3)将oracle员工(刚插入的)调任到ALLEN 所在的部门,其工作和工资、奖金和都和ALLEN一样 。 3、删除语句1)把emp表中empno=9357的员工信息删除。2)删除和SCOTT一个部门的所有员工信息。3) 用turncate删除AvgSal表(刚创建的平均工资表)(三)oracle常用的事务语句完成下面操作:1、向emp表中插入一条记录,员工号为9357,员工名字为oracle,工资为2050元,部门号为20,入职日期为2002年5月10日2、设置保存点3、在emp表中,插入一条记录 (9527,EAST,SALESMAN)4、回滚事务到检查点,并查询emp,查看事务操作情况5、回滚整个事务,并查询emp,查看事务操作情况。5、提交事务6、查询emp,查看事务操作情况五、思考题及其它1、可以用列别名作为order by子句的一部分,但能否将列别名作为having子句的一部分呢?2、Where子句中不可以使用聚集函数,但可以使用聚集函数对应的别名作为子句的一部分吗?3、where子句和having子句的区别?4、插入语句的时候应注意什么问题?5、实验报告要求 本实验共实验报告三次,分别是1和2、3和4、5和oracle常用的更新语句实验五: PL/SQL编程实验学时:4实验类型:设计型一实验目的及要求1了解PL/SQL块的基本结构、功能及编程规范。2掌握PL/SQL块中各种SQL命令的使用方法。3掌握PL/SQL块中流程控制语句的使用方法4掌握PL/SQL块中游标的使用方法5掌握PL/SQL块中例外处理的使用方法二、实验主要内容 1 PL/SQL块的基本结构及使用方法。2 PL/SQL块中流程控制语句的使用方法3 PL/SQL块中游标的使用方法4 PL/SQL块中例外处理的使用方法三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。四、实验内容与步骤(一)、PL/SQL块

温馨提示

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

评论

0/150

提交评论