《Oracle数据库管理系统》实验指导书.doc
《《Oracle数据库管理系统》实验指导书.doc》由会员分享,可在线阅读,更多相关《《Oracle数据库管理系统》实验指导书.doc(26页珍藏版)》请在三一办公上搜索。
1、Oracle数据库管理系统实验指导书 编写 主审计算机与信息技术学院信息科学系2011.1目 录实验一 熟悉SQL命令与SQL*PLUS命令的应用1实验二 SQL语言中的数据操纵、事务控制和数据定义语句4实验三 PL/SQL编程7实验四 数据库触发器、存储过程和存储函数11实验五 数据表的管理14实验六 索引的管理17实验七 安全管理19实验八 触发器和游标21前 言Oracle数据库是目前最为流行和成熟的几种大型关系数据库之一。oracle数据库管理系统课程以Oracle9i为主,在学习数据库系统概论的基础上,进一步理解关系数据库的概念、原理。通过对Oracle数据库系统的学习,使学生掌握数
2、据库的基本理论和Oracle数据库操作的基本方法,熟悉SQL基本命令的运用,了解运用Oracle数据库知识处理复杂问题的方法。使学生具有运用Oracle进行数据库服务器端的程序开发的基本能力。为了加强学生对Oracle数据库系统的操作能力,特编写该实验指导书,希望给学生提供一定的指导。本指导书由李学贵编写,冯亚丽教授主审,由于时间仓促,作者的水平有限,书中难免有不足之处,恳请广大师生批评指正。编者2011年1月实验一 熟悉SQL命令与SQL*PLUS命令的应用一、实验目的 1、熟悉SQL语言交互式使用工具SQL*PLUS的使用方法2、熟悉SQL*PLUS常用命令的功能和使用方法3、掌握SQL语
3、言中简单查询语句的功能和使用方法二、实验环境1、硬件设备:计算机局域网,服务器1台,客户机若干台2、软件系统:Windows 2003 Server 网络操作系统,Windows 2003/XP客户机操作系统; Oracle9i服务端数据库系统,客户端工具。三、实验内容1、SQL*PLUS的使用(1) 进入(启动)SQL*PLUS在Windows环境下,双击SQL*PLUS图标或从程序组找SQL*PLUS ,出现登录窗口输入正确的数据库用户名、密码和连接字符串后,若连接数据库成功,则会出现如下提示符SQL(2) 退出 SQL*PLUS SQLexit 则退回到Windows桌面。 (3) 创建
4、表结构:Create table 创建部门登记表dept和雇员登记表emp的结构 SQL Create table dept ( deptno number(2) not null, dname char(14), loc char(13);SQL Create table emp ( empno number(4) not null, ename char(9), job char(10), mgr number(4), Hiredate date, sal number(7,2), comm number(7,2), deptno number(2) not null ); (4) 显示表
5、结构 显示部门登记表dept和雇员登记表emp的结构 SQLdesc dept SQL desc emp (5) 向表中插入记录 向部门登记表dept中插入一条记录 SQL insert into dept Values (60,Computer,Beijing); SQL select * from dept; 向部门登记表dept中连续插入多条记录SQL insert into dept (deptno,dname,loc) Values ( &deptno,&dname,&loc); (6) 执行SQL缓冲区中的命令 SQL/ (直接执行) SQLrun (先显示命令的内容,再执行 )
6、(7) 执行磁盘上的命令文件 a. 先调入缓冲区,再运行: SQLget f:oradept.sql SQL/ b. 用 或start命令将指定命令文件调入缓冲区并执行。 SQLf:ora dept.sql 或 SQLstart f:ora dept.sql 2、简单查询语句(1) 无条件简单查询:查表中所有记录SQL select Dname, Deptno 2 From dept;对查询结果进行计算和统计SQL select count(*) ALL_EMP, sum(sal) ALL_Sal 2 From emp;(2) 有条件简单查询:查表中部分记录 查在20号部门工作的雇员姓名和工资
7、SQL select ename,sal,deptno 2 From emp 3 where deptno=20; 查找工种是职员或分析员的雇员姓名和工种SQL select ename,job 2 From emp 3 where job IN (Clerk,Analyst); 查找以“S”开头的雇员姓名和所在部门 SQL select ename,deptno 2 From emp 3 where ename like S%;按工资升序排列20号部门的雇员SQL select ename,sal,deptno 2 From emp 3 where deptno=20 4 order by
8、sal asc ; 查所有部门中工资大于2800美元的雇员 SQL select ename,sal from Account where sal 2800 union select ename,sal from Research Where sal 2800 Union Select ename,sal From sales Where sal 2800 ; 查在所有部门中都存在的工种SQL select Job from Account Intersect select Job from Research Intersect Select Job From sales; 查在Account
9、部门中有哪些职业,是Sales部门中所没有的 SQL select Job from Account minus Select Job From sales; 实验二 SQL语言中的数据操纵、事务控制和数据定义语句一、实验目的1、掌握SQL语言中数据操纵命令的功能及其使用方法2、掌握SQL语言中事务控制命令的功能及其使用方法3、掌握SQL语言中数据定义命令的功能及其使用方法二、实验环境1、硬件设备:计算机局域网,服务器1台,客户机若干台2、软件系统:Windows 2003 Server 网络操作系统,Windows 2003/XP客户机操作系统; Oracle9i服务端数据库系统,客户端工具
10、。三、实验内容1、数据操纵命令的使用(1) 数据插入 向Dept 表插入一行数据(插入所有列时可省略列名) 。 SQLinsert into dept Values (60,Computer,Beijing); 向dept表中一次插入多个纪录(所有字段可用*代替) 。 SQL insert into dept (deptno,dname,loc) Values ( &deptno,&dname,&loc); 将dept表中所有记录插入到空表department中。 SQL insert into department select * from dept;向Emp表中插入一条与Smith 内容
11、相同的记录,但姓名改为Richard,雇员号改为9999。 SQL insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) select 9999,Richard,job,mgr,hiredate,sal,comm,deptno from emp where ename=Smith; (2) 数据修改将 Martin 提升为经理,工资加¥1000 。 SQL update emp Set job = Manager,sal=sal+1000 Where ename= Martin; 将30号部门所有雇员工资和奖金,变为20号部
12、门雇员的最高工资和奖金。 SQL update emp Set (sal,comm)=( Select Max(sal),max(NVL(comm,0) From emp Where deptno =20) Where deptno=30;(3) 数据删除将 Martin从公司删除 。 SQL delete from emp Where ename= Martin;2、事务控制命令的使用(1) 事务提交命令CommitSQL commit;(2) 事务回退命令Rollback SQL Rollback ;3、数据定义命令的使用(1) 表操作手工创建表dept结构。 SQL Create tab
13、le dept ( deptno number(2) not null, dname char(14), loc char(13); 通过复制创建表deptpartment结构,其结构与dept相同。SQL Create table deptpartment as select * from dept where 1=2; 将dept 表中Dname 列宽度加大到20个字符。 SQL Alter table dept modify dname char (20) ; 为表dept增加一列All_emp 用来存放部门人数 。 SQL Alter table dept add all_emp nu
14、mber(3); 删除dept表。 SQL drop table dept;(2) 视图操作为20号部门的雇员创建一个视图,包括姓名,工资,部门号 。 SQL Create view emp_view(name ,salary ,no) As Select ename ,sal ,deptno From emp where deptno=20 ;(3) 索引操作为emp表建立empno列上的唯一索引。 SQL create unique index empno_index on emp(empno); (4) 同义词操作为gx1用户的dept表建立同义词New_dept 。 SQL creat
15、e synonym new_dept for gx1.dept; (5) 序列生成器操作创建一个序列生成器deptno_seq,起始值为50,间隔为10 。 SQL create sequence deptno_seq Start with 50 increment by 10; 列出deptno_seq的下次值(第一次使用时为50 ) SQL select deptno_seq.nextval NEXT_VAL From dual;实验三 PL/SQL编程 一、实验目的1、了解PL/SQL块的基本结构与功能2、掌握PL/SQL块中各种SQL命令的使用方法3、掌握PL/SQL块中流程控制语句的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle数据库管理系统 Oracle 数据库 管理 系统 实验 指导书
链接地址:https://www.31ppt.com/p-2395119.html