《大型数据库Oracle》实验指导书(0710)

上传人:壹****1 文档编号:470200554 上传时间:2023-11-19 格式:DOC 页数:52 大小:1.16MB
返回 下载 相关 举报
《大型数据库Oracle》实验指导书(0710)_第1页
第1页 / 共52页
《大型数据库Oracle》实验指导书(0710)_第2页
第2页 / 共52页
《大型数据库Oracle》实验指导书(0710)_第3页
第3页 / 共52页
《大型数据库Oracle》实验指导书(0710)_第4页
第4页 / 共52页
《大型数据库Oracle》实验指导书(0710)_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《《大型数据库Oracle》实验指导书(0710)》由会员分享,可在线阅读,更多相关《《大型数据库Oracle》实验指导书(0710)(52页珍藏版)》请在金锄头文库上搜索。

1、大型数据库Oracle编撰闽江学院计算机实验教学中心印制51目 录实验一 Oracle数据库管理与工具使用2实验二 表连接、高级子查询6实验三 管理存储结构、用户、权限安全、模式和表12实验四 约束、索引、视图、序列和同义词16实验五 PL/SQL编程基础20实验六 触发器、过程、函数和程序包27实验七 管理存储结构、备份与恢复33实验八 SQL*Plus和SQL基本查询39实验九 管理存储结构、用户、权限安全、模式和表42实验十 创建和管理表,视图,约束46实验十一 序列、索引、同义词48 实验一 Oracle数据库管理与工具使用一、 实验目的1. 掌握Oracle的启动、关闭、连接和管理初

2、始化参数2. 熟悉em和SQL*Plus的使用3. 了解用户和模式的概念,并查询hr模式表的数据二、实验环境一台PC机,安装widows xp操作系统,oracle 10g或11g数据库软件。三、实验内容 1. 启动和关闭window操作系统的Oracle服务2. 使用SQL*Plus与Oracle数据库建立连接3. 使用SQL*Plus启动和关闭Oracle数据库4. 使用em和SQL*Plus显示和设置初始化参数文件5. 使用em和SQL*Plus解锁hr模式,并使用SQL*Plus编写查询该模式中表的SQL四、实验步骤1)进入windows xp操作系统 控制面板-管理工具-服务启动以下

3、几个服务:OracleService(数据库名)OracleOraDb10g_home1TNSListenerOracleOraDb10g_home1iSQL*PlusOracleDBConsoleorcl(启动em需要的服务)2)使用SQL*Plus连接Oracle数据库进入windows xp操作系统 Oracle - OraDb10g_home1-应用程序开发-SQL Plus输入:用户名:sys/orcl as sysdba 按确定。 输入Select * from hr.employees; 按回车可以查询该表数据3)使用SQL*Plus用sys用户关闭 Oracle数据库输入并执行

4、如下SQL语句:shutdown immediate输入Select * from hr.employees; 按回车无法查询该表数据4)创建并启动与数据库对应的实例 startup nomount 按回车5)为未加载数据库的实例加载数据库alter database mount; 按回车6)将处于未打开状态的数据库设置为打开状态alter database open; 按回车7) 关闭数据库然后直接启动实例,加载数据库,打开数据库shutdown immediate;startup;8) 使用SQL*Plus显示所有初始化参数 SHOW PARAMETER9) 使用em查询和设置动态初始化参

5、数进入ie,http:/服务器:1158/em数据库管理-初始化参数10) 解锁hr用户使用em用system登录,通过方案-用户-编辑hr用户为解锁,同时修改密码。使用sqlplus 用system登录alter user hr account unlock;alter user hr identified by hr;11) 使用hr用户连接sqlplus,Connect hr/rh;Select table_name from user_tables;Select * from employeesSelect * from 客户信息;查询结果应该包括客户信息的所有列,并且包括该表的所有记

6、录行。2)下面的SQL语句将只返回“客户姓名”、“客户地址”和“联系电话”列。Select 客户姓名,客户地址,联系电话From 客户信息;这个查询结果将包含指定的列,并且包含该表所有的记录。3)在下面的SELECT语句中,将使用WHERE子句以限定检索的客户信息。Select 客户信息,客户地址,联系电话From 客户信息Where 所属业务员编号1001由于添加了WHERE子句,所以查询结果现在只包含业务员编号为“1001”的客户信息。4)下面创建的SELECT语句用于对“客户信息”表中的信息分组,输入并执行如下语句: SELECT 所属业务员编号 AS 业务员编号,COUNT(客户编号)

7、 AS 客户数FROM 客户信息GROUP BY 所属业务员编号对应于每一个业务员编号都返回一行,并且每行中都包含所属的客户数。5)将HAVING子句添加到刚才执行的SELECT语句中,输入并执行如下SQL语句。SELECT 所属业务员编号 AS 业务员编号,COUNT(客户编号) AS 客户数FROM 客户信息GROUP BY 所属业务员编号HAVING COUNT(客户编号)=3;使用SQL*Plus函数:6)下面的SQL语句使用一组数据演示TRUNC函数与ROUND函数之间的区别和相同点。SELECT TRUNC(46.326,2),ROUND(46.326,2)FROM DUAL;运行

8、该语句中,TRUNC函数的返回值为46.32,ROUND函数的返回值为46.33。SELECT TRUNC(46.326),ROUND(46.326)FROM DUAL;运行该语句中,TRUNC函数和ROUND函数将返回相同的值46。五、实验小结通过本次实验学会了使用SQL*Plus与数据库建立连接,使用SELECT语句检索数据。实验二 表连接、高级子查询一、 实验目的1.理解什么是连接操作2.如何进行简单的连接操作3.掌握如何进行内连接、外连接、交叉连接4.创建返回多行的子查询5.创建返回单值的子查询6.掌握嵌套子查询的使用二、实验设备一台PC机,安装widows xp操作系统,oracle

9、 10g或11g数据库软件。三、实验内容 1. 通过查询SCHOOL模式中的表,以练习各种连接操作的使用,特别是具有外键关联的表。在SQL*Plus环境下,打开SQL*Plus,连接到SCHOOL模式。1)第一个操作是用逗号分隔连接,将表Student和Class连接起来,查询学生及所在班级信息。2) 在上面语句的基础上连接DEPARTMENT表,以显示所在院系名称.3) 修改上一个SELECT语句,将其改为内连接中的等值连接.4) 修改上一个SELECT语句,将其改为连接中的自然连接,并且限制只显示”法律系”的学生信息.5) 修改上一个SELECT语句,将其改为右连接条件.本练习使用逗号分隔

10、连接,交叉连接,内连接和外连接查询多个表,可以看连接查询为操作数据库提供了很大的灵活性.但是连接并不是唯一的访问多个表的方法.子查询的功能与连接一样,也可以实现多表查询.2.本练习将使用子查询数据.子查询很大程度上是通过关键字连接在一起的,这里将使用多个关键字连接子查询,以便查询多个表. SQL*Plus , 连接到SCHOOL模式.1) 创建的第一个SELECT 语句将要返回”06法2班”所有的学生信息. 2) 修改上一个查询语句,使用关键字EXISTS连接子查询,并且要求显示的数据相同.3) 下面的语句将使用嵌套查询显示属于”法律系”的所有学生信息.4) 现在再创建一个SELECT 语,该

11、语句查询”刑法通则”课程的学习成绩最高的学生信息.5) 上面的语句通过使用大于等于(=)比较运算符和ALL关键字实现,另外一种简单的方法是使用统计函数MAX实现.四、实验步骤1.1)输入并执行如下SQL语句:SELECT S.SID , S.SNAME , S.BIRTH , S.SCLASS ,S.SADDRESS , C.DEPARTMENT , C.CNAMEFROM Student S , Class cWHERE S.SCLASS=C.CID;2)输入并执行如下SQL语句:SELECT s.SID , s.SNAME , s.SCLASS,s.SADDRESS , c.DEPARTM

12、ENT , c.CNAME, d.dnameFROME Student S,Class c , Department dWHERE s.SCLASS=c.CIDAND c.DEPARTMENT=d.DID;3)输入并执行如下SQL语句:SELECT s.SID , s.SNAME , s.SBIRTH, s.SCLASS,s.SADDRESS , c.DEOARTMENT , c.CNAME , d.dnameFROM Student s JOIN Class cON s.SCLASS=c.CIDJOIN Department dON c.DEPATMENT=d.DID;4)输入并执行如下SQ

13、L语句:SELECT s.SID , s.SNAME , s.SBIRTH , s.SCLASS,s.SADDRESS , c.DEPARTMENT, c.CNAME,d.dnameFROM Student s NATURAL JOIN Class c NATURAL JOIN DEPARTMENT dWHERE d.dname=法律系 ;5) 输入并执行如下SQL语句:SELECT s.SID , s.SNAME , s.SBIRTH , s.SCLASS, s.SADDRESS , c.DEPARTMENT , c.CNAME , d.dnameFROM Student s RIGHT J

14、OIN Class cON s.sclass=c.cidRIGHT JOIN DEPARTMENT dON c.department=d.did;2. 1)输入并执行如下语句;SELECT * FROM STUDENTWHERE SCLASS IN(SELECT CID FROM ClassWHERE CNAME = 06法2班此语句使用子查询查询CLASS表,以获取名为” 06法2班”的CID列表.IN关键字再把该返回值与STUDENT表中的CID列表进行比较.2)输入并执行如下SQL语句:SELECT * FROM STUDENT sWHERE EXISTS(SELECT * FROM Class cWHERE c.CNAME= 06法2班AND s.SCLASS=c.CID);执行该语句获取的学生信息与上一个语句获取的学生信息相同,均为属于” 06法2班”的学生信息.3)输入并执行如下查询语句:SELECT * FROM ST

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号