oracle实验报告 金陵科技学院

更新时间:2023-12-25 13:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学生实验报告册

课程名称:大型数据库技术专业班级:

学生学号:

所属院部:计算机工程学院指导教师:

(理工类)

14计算机科学与技术(专转本)

学生姓名:

刘琰

2014——20 15学年 第 2 学期

金陵科技学院教务处制

3

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

金陵科技学院实验报告

实验项目名称: Oracle数据库安装与配置 实验学时: 1 同组学生姓名: 实验地点: 1318

实验日期: 实验成绩: 批改教师: 刘琰 批改时间:

1

金陵科技学院实验报告

实验1:Oracle数据库安装与配置

一、实验目的和要求

(1)掌握Oracle数据库服务器的安装与配置。

(2)了解如何检查安装后的数据库服务器产品,验证安装是否成功。 (3)掌握Oracle数据库服务器安装过程中出现的问题的解决方法。 (4)完成Oracle 11g数据库客户端网路服务名的配置。 (5)检查安装后的数据库服务器产品可用性。

(6)解决Oracle数据库服务器安装过程中出现的问题。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版

三、实验步骤

(1)从Oracle官方网站下载与操作系统匹配的Oracle 11g数据库服务器和客户机安装程序。 (2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。 (3)在安装数据库服务器的同时,创建一个名为BOOKSALES数据库。 (4)安装完数据库服务器程序后,解压客户机程序,并进行客户机的安装。

(5)安装完客户机程序后,启动客户机的“Net Configuration Assistant”,进行本地NET服务名配置,将数据库服务器中的BOOKSALES数据库配置到客户端。 (6)启动OEM管理工具,登录、查看、操作BOOKSALES数据库。

(7)启动SQL Plus工具,分别以SYS用户和SYSTEM用户登录BOOKSALES数据库。

四、问题解答及实验结果

(2)解压Oracle 11g数据库服务器安装程序,进行数据库服务器软件的安装。

2

金陵科技学院实验报告

(3)在安装数据库服务器的同时,创建一个名为BOOKSALES数据库。

3

金陵科技学院实验报告

(5)安装完客户机程序后,启动客户机的“Net Configuration Assistant”,进行本地NET服务名配置,将数据库服务器中的BOOKSALES数据库配置到客户端。

(7)启动SQL Plus工具,分别以SYS用户和SYSTEM用户登录BOOKSALES数据库。

4

金陵科技学院实验报告

五、实验体会和收获

5

金陵科技学院实验报告

实验项目名称:Oracle数据库物理存储结构管理 实验学时: 3 同组学生姓名: 实验地点: 1318

实验日期: 实验成绩: 批改教师: 刘琰 批改时间:

6

金陵科技学院实验报告

实验2:Oracle数据库物理存储结构管理

一、实验目的和要求

(1)掌握Oracle数据库数据文件的管理。 (2)掌握Oracle数据库控制文件的管理。 (3)掌握Oracle数据库重做日志文件的管理。 (4)掌握Oracle数据库归档管理。

(5)完成数据文件的管理操作,包括数据文件的创建、修改、重命名、移植及查询等操作。 (6)完成控制文件的管理操作,包括控制文件的添加、备份、删除以及查询操作。 (7)完成重做日志文件的管理操作,包括重做日志文件组及其成员文件的添加、删除、查询等操作,以及重做日志文件的重命名、移植、日志切换等操作。 (8)完成数据库归档模式设置、归档路径设置。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版

三、实验步骤

(1)向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。

(2)向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。

(3)向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5M,每次扩展1M,最大容量为100M。 (4)取消BOOKSALES数据库数据文件user03.dbf的自动扩展。 (5)将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。 (6)查询BOOKSALES数据库当前所有的数据文件的详细信息。 (7)为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。 (8)以二进制文件的形式备份BOOKSALES数据库的控制文件。

(9)将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。 (10)删除BOOKSALES数据库的控制文件control03.ctl。 (11)查询BOOKSALES数据库当前所有控制文件信息。

7

金陵科技学院实验报告

(12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4M。

(13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。 (14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。 (15)查询BOOKSALES数据库中所有重做日志文件组的状态。 (16)查询BOOKSALES数据库中所有重做日志文件成员的状态。

(17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。 (18)删除BOOKSALES数据库的重做日志组4。 (19)查看BOOKSALES数据库是否处于归档模式。 (20)将BOOKSALES数据库设置为归档模式。

(21)为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。 (22)对BOOKSALES数据库进行5次日志切换,查看归档日志信息。

四、问题解答及实验结果

1. 向BOOKSALES数据库的USERS表空间添加一个大小为10MB的数据文件users02.dbf。

2. 向BOOKSALES数据库的TEMP表空间添加一个大小为10MB的临时数据文件temp02.dbf。

(截图时看错题目要求,表空间错设为了5M。)

3. 向BOOKSALES数据库的USERS表空间中添加一个可以自动扩展的数据文件user03.dbf,大小5M,每次扩展1M,最大容量为100M。

4.取消BOOKSALES数据库数据文件user03.dbf的自动扩展。

8

金陵科技学院实验报告

(5)将BOOKSALES数据库数据文件users02.dbf更名为users002.dbf。

(6)查询BOOKSALES数据库当前所有的数据文件的详细信息。

9

金陵科技学院实验报告

(7)为BOOKSALES数据库添加一个多路复用的控制文件control03.ctl。

(8)以二进制文件的形式备份BOOKSALES数据库的控制文件。

(9)将BOOKSALES数据库的控制文件以文本方式备份到跟踪文件中,并查看备份的内容。

(10)删除BOOKSALES数据库的控制文件control03.ctl。

(11)查询BOOKSALES数据库当前所有控制文件信息。

(12)向BOOKSALES数据库添加一个重做日志文件组(组号为4),包含一个成员文件undo04a.log,大小为4M。

10

金陵科技学院实验报告

(13)向BOOKSALES数据库的重做日志组4中添加一个成员文件,名称为undo04b.log。

(14)将BOOKSALES数据库的重做日志组4中所有成员文件移植到一个新的目录下。

(15)查询BOOKSALES数据库中所有重做日志文件组的状态。

(16)查询BOOKSALES数据库中所有重做日志文件成员的状态。

11

金陵科技学院实验报告

(17)删除BOOKSALES数据库的重做日志组4中的成员文件undo04b.log。

(18)删除BOOKSALES数据库的重做日志组4。

(19)查看BOOKSALES数据库是否处于归档模式。

12

金陵科技学院实验报告

(20)将BOOKSALES数据库设置为归档模式。

(21)为BOOKSALES数据库设置3个归档目标,其中一个为强制归档目标。

(22)对BOOKSALES数据库进行5次日志切换,查看归档日志信息。

13

金陵科技学院实验报告

五、实验体会和收获

14

金陵科技学院实验报告

实验项目名称:Oracle数据库逻辑存储结构管理 实验学时: 4 同组学生姓名:

实验地点: 1318

实验日期: 实验成绩: 批改教师: 刘琰 批改时间:

15

金陵科技学院实验报告

实验3 Oracle

数据库逻辑存储结构管理

一、实验目的和要求

(1)掌握Oracle数据库表空间的管理。

(2)掌握数据库表空间不同状态时对数据操作的影响。 (3)分别创建永久性表空间、临时性表空间、撤销表空间。

(4)完成表空间的管理操作,包括修改表空间大小、修改表空间的可用性、修改表空间的读写、表空间的备份、表空间信息查询、删除表空间。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版

三、实验步骤

(1)为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用自动扩展方式,段采用自动管理方式。

(2)为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用定制分配,每次分配大小为1M,段采用手动管理方式。

(3)为BOOKSALES数据库创建一个临时表空间TEMP02。

(4)将BOOKSALES数据库临时表空间TEMP和TEMP02都放入临时表空间组TEMPGROUP中。

(5)为BOOKSALES数据库创建一个名为UNDO02的撤销表空间,并设置为当前数据库的在线撤销表空间。

(6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50M的数据文件,以改变该表空间的大小。

(7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5M,最大容量为100M。

(8)创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一条记录。 SQL>CREATE TABLE test(ID NUMBER PRIMARY KEY,name CHAR(20)) TABLESPACE booktbs1;

SQL> INSERT INTO test VALUES(1,'FIRST ROW');

(9)将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空间是否可以使用。

(10)将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该表空间是否可以使用。

(11)将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空间是否可

16

金陵科技学院实验报告

以进行数据写入操作。

(12)将BOOKSALES数据库的BOOKTBS1表空间设置为读写状态,测试该表空间是否可以进行数据读写操作。

(13)将BOOKSALES数据库的BOOKTBS1设置为数据库默认表空间,将临时表空间组TEMPGROUP设置为数据库的默认临时表空间。

(14)分别备份BOOKSALES数据库的USERS和BOOKTBS1、BOOKTBS3三个表空间。 (15)查询BOOKSALES数据库所有表空间及其状态信息。 (16)查询BOOKSALES数据库所有表空间及其数据文件信息。

(17)删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同时删除操作系统上的数据文件。

四、问题解答及实验结果

(1)为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用自动扩展方式,段采用自动管理方式。

CREATE TABLESPACE BOOKTBS1 DATAFILE ‘D:\\app\\Lenovo\\oradata\\booksales\\ BOOKTBS1.DBF’ SIZE 50M;

(2)为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用定制分配,每次分配大小为1M,段采用手动管理方式。

CREATE TABLESPACE BOOKTBS2 DATAFILE ‘D:\\app\\Lenovo\\oradata\\booksales\\ BOOKTBS2.DBF’ SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M SEGMENT SPACE MANAGEMENT MANUAL;

(3)为BOOKSALES数据库创建一个临时表空间TEMP02。 CREATE TEMPORARY TABLESPACE TEMP02 TEMPFILE ‘D:\\app\\Lenovo\\oradata\\booksales\\ TEMP02.DBF’ SIZE 20M;

(4)将BOOKSALES数据库临时表空间TEMP和TEMP02都放入临时表空间组TEMPGROUP中。

17

金陵科技学院实验报告

ALTER TABLESPACE TEMP TABLESPACE GROUP TEMP_GROUP; ALTER TABLESPACE TEMP02 TABLESPACE GROUP TEMP_GROUP;

(5)为BOOKSALES数据库创建一个名为UNDO02的撤销表空间,并设置为当前数据库的在线撤销表空间。

CREATE UNDO TABLESPACE UNDO02 DATATABLE ‘D:\\app\\Lenovo\\oradata\\booksales\\ UNDO02.DBF’ SIZE 20M;

(6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50M的数据文件,以改变该表空间的大小。

ALTER TABLESPACE BOOKTBS1 ADD TABLEFILE ‘D:\\app\\Lenovo\\oradata\\booksales\\BOOKTBS2.DBF’ SIZE 50M;

(7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5M,最大容量为100M。

ALTER DATABASE DATAFILE ‘D:\\app\\Lenovo\\oradata\\booksales\\BOOKTBS2.DBF’ AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

(8)创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一条记录。 SQL>CREATE TABLE test(ID NUMBER PRIMARY KEY,name CHAR(20)) TABLESPACE booktbs1;

SQL> INSERT INTO test VALUES(1,'FIRST ROW');

18

金陵科技学院实验报告

(9)将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空间是否可以使用。

ALTER TABLESPACE USERS OFFLINE;

SELECT table_name,tablespace_name,status,logging FROM user_tables;

(10)将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该表空间是否可以使用。

ALTER TABLESPACE USERS ONLINE;

SELECT table_name,tablespace_name,status,logging FROM user_tables;

(11)将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空间是否可以进行数据写入操作。

ALTER TABLESPACE BOOKTBS1 READ ONLY;

INSERT INTO test VALUES(1,'FIRST ROW');

(12)将BOOKSALES数据库的BOOKTBS1表空间设置为读写状态,测试该表空间是否可以进行数据读写操作。

ALTER TABLESPACE BOOKTBS1 READ WRITE;

INSERT INTO test VALUES(2,'FIRST ROW');

19

金陵科技学院实验报告

(13)将BOOKSALES数据库的BOOKTBS1设置为数据库默认表空间,将临时表空间组TEMPGROUP设置为数据库的默认临时表空间。 ALTER DATABASE DEFAULT TABLESPACE BOOKTBS1;

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_GROUP;

(14)分别备份BOOKSALES数据库的USERS和BOOKTBS1、BOOKTBS3三个表空间。 ALTER TABLESPACE USERS BEGIN BACKUP;

(15)查询BOOKSALES数据库所有表空间及其状态信息。 SELECT TABLESPACE_NAME,STATUS FROM DBA_TABLESPACES;

(16)查询BOOKSALES数据库所有表空间及其数据文件信息。 SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_DATA_FILES;

20

金陵科技学院实验报告

(17)删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同时删除操作系统上的数据文件。

五、实验体会和收获

21

金陵科技学院实验报告

实验项目名称:Oracle数据库模式对象管理 实验学时: 4 同组学生姓名: 实验地点: 1318 实验日期: 实验成绩: 批改教师: 刘琰 批改时间:

22

金陵科技学院实验报告

实验4 视图、索引和完整性等

一、实验目的和要求

1、了解视图的基本概念、种类及各自的特点与作用。 2、理解索引的基本概念及其优缺点。 3、理解修改数据时索引的开销。 4、理解数据完整性的概念及分类。 5、理解同义词和序列的基本概念。

6、掌握在OEM中创建视图、索引、实体完整性、域完整性和参照完整性以及同义词、序列的方法。

7、掌握用PL/SQL语言创建视图、索引、各种约束、同义词和序列的方法。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS7、ORACLE 11g中文版

三、实验步骤

(1)打开SQL Plus,以system用户登录BOOKSALES数据库。 (2)按下列方式创建一个用户bs,并给该用户授权。

SQL>CREATE USER bs IDENTIFIED BY bs DEFAULT TABLESPACE USERS ; SQL>GRANT RESOURCE,CONNECT,CREATE VIEW TO bs;

(3)使用bs用户登录数据库,并进行下面的相关操作。 (4)根据图书销售系统关系模式设计,创建下列各表。

表1 CUSTOMERS

字段名 customer_id name phone email address code 数据类型 NUMBER CHAR VARCHAR2 VARCHAR2 VARCHAR2 VARCHAR2 长度 4 20 50 50 200 10

表2 PUBLISHERS 字段名 publisher_id name contact phone

数据类型 NUMBER VARCHAR2 CHAR VARCHAR2 长度 2 50 10 50 23

约束 PRIMARY KEY 说明 出版社号 出版社名 联系人 电话 约束 PRIMARY KEY NOT NULL NOT NULL 说明 客户编号 客户名称 电话 Email 地址 邮政编码

金陵科技学院实验报告

(22)查询CUSTOMERS表中的每一个客户所下达的订单数量。

(23)查询价格低于同一种类中其它图书的平均价格的图书的信息。

(24)查询每个出版社出版图书的平均价格、最高价格、最低价格。

(25)统计每个客户购买图书的数量及总价钱。

39

金陵科技学院实验报告

(26)查询比1号订单中图书数量多的其它订单信息。

(27)查询所以客户及其订购图书的信息。

(28)查询没有订购任何图书的客户信息。

(29)查询订购金额最高的客户信息。

(30)查询名为“赵敏”的客户订购图书的订单信息、订单明细。

五、实验体会和收获

40

金陵科技学院实验报告

实验项目名称: PL/SQL程序设计 实验学时: 4 同组学生姓名: 实验地点: 1318

实验日期: 实验成绩: 批改教师: 刘琰 批改时间:

41

金陵科技学院实验报告

实验6:PL/SQL程序设计

一、实验目的和要求

(1)掌握PL/SQL程序开发方法。 (2)掌握函数的创建与调用。 (3)掌握存储过程的创建与调用。 (4)掌握触发器的创建与应用。 (5)掌握包的创建与应用。

(6)根据图书销售系统业务要求创建实现特定功能的函数。 (7)根据图书销售系统业务要求创建实现特定功能的存储过程。 (8)根据图书销售系统业务要求创建实现特定功能的触发器。

(9)根据图书销售系统业务要求将图书销售系统相关的函数、存储过程封装到包里。

二、实验设备、环境

设备:奔腾Ⅳ或奔腾Ⅳ以上计算机 环境:WINDOWS 7、ORACLE 11g中文版

三、实验步骤

以bs用户登录BOOKSALES数据库,利用PL/SQL程序编写下列功能模块。 (1)创建一个函数,以客户号为参数,返回该客户订购图书的价格总额。 (2)创建一个函数,以订单号为参数,返回该订单订购图书的价格总额。 (3)创建一个函数,以出版社名为参数,返回该出版社出版的图书的平均价格。 (4)创建一个函数,以客户号为参数,返回该客户可以获得的礼品名称。 (5)创建一个函数,以图书号为参数,统计该图书被订购的总数量。 (6)创建一个存储过程,输出不同类型图书的数量、平均价格。

(7)创建一个存储过程,以客户号为参数,输出该客户订购的所有图书的名称与数量。 (8)创建一个存储过程,以订单号为单数,输出该订单中所有图书的名称、单价、数量。 (9)创建一个存储过程,以出版社名为参数,输出该出版社出版的所有图书的名称、ISBN、批发价格、零售价格信息。

(10)创建一个存储过程,输出每个客户订购的图书的数量、价格总额。 (11)创建一个存储过程,输出销售数量前3名的图书的信息,及销售名次。

(12)创建一个存储过程,输出订购图书数量最多的客户的信息,及订购图书的数量。

42

金陵科技学院实验报告

(13)创建一个存储过程,输出各类图书中销售数量最多的图书的信息,及销售的数量。 (14)创建一个存储过程,实现查询客户订购图书详细信息的分页显示。 (15)创建一个包,利用集合实现图书销量排行榜的分页显示。

(16)创建一个包,包含一个函数和一个过程。函数以图书类型为参数,返回该类型图书的平均价格。过程输出各种类型图书中价格高于同类型图书平均价格的图书信息。 (17)创建一个触发器,当客户下完订单后,自动统计该订单所有图书价格总额。 (18)创建一个触发器,禁止客户在非工作时间(早上8:00之前,晚上17:00之后)下订单。

四、问题解答及实验结果

(1)创建一个函数,以客户号为参数,返回该客户订购图书的价格总额。 create or replace function get_sumcost(

v_customer_id customers.customer_id%type) return number as

--声明游标存储客户的订单号

cursor c_orderid is select order_id from orders where customer_id=v_customer_id; v_orderid orders.order_id%type; --声明游标存储订单信息

cursor c_orderitem is select ISBN, quantity from orderitem where order_id=v_orderid; --存储订单号对应的图书编号ISBN和数量 v_ISBN orderitem.ISBN%type; v_quantity orderitem.quantity%type; --存储根据图书数量确定的图书单价 v_cost books.cost%type; --该用户订购图书价格总额 v_sumcost number(6,2):=0; begin

open c_orderid; LOOP

fetch c_orderid into v_orderid;

exit when c_orderid%NOTFOUND; for v_orderitem in c_orderitem LOOP if v_orderitem.quantity >10 then

select cost into v_cost from books where ISBN = v_orderitem.ISBN; DBMS_OUTPUT.PUT_LINE('1----'||v_cost||v_orderitem.ISBN); elsif v_orderitem.quantity<=10 then

select retail into v_cost from books where ISBN = v_orderitem.ISBN; DBMS_OUTPUT.PUT_LINE('2----'||v_cost||v_orderitem.ISBN); else

DBMS_OUTPUT.PUT_LINE('number of book is error!');

43

本文来源:https://www.bwwdw.com/article/xzcx.html

Top