《大型数据库系统》实验指导书.docx

上传人:b****6 文档编号:8600764 上传时间:2023-02-01 格式:DOCX 页数:15 大小:26.12KB
下载 相关 举报
《大型数据库系统》实验指导书.docx_第1页
第1页 / 共15页
《大型数据库系统》实验指导书.docx_第2页
第2页 / 共15页
《大型数据库系统》实验指导书.docx_第3页
第3页 / 共15页
《大型数据库系统》实验指导书.docx_第4页
第4页 / 共15页
《大型数据库系统》实验指导书.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《大型数据库系统》实验指导书.docx

《《大型数据库系统》实验指导书.docx》由会员分享,可在线阅读,更多相关《《大型数据库系统》实验指导书.docx(15页珍藏版)》请在冰豆网上搜索。

《大型数据库系统》实验指导书.docx

《大型数据库系统》实验指导书

 

大型数据库系统(Oracle)

实验指导书

 

邵阳学院信息工程系

2011年3月

实验一数据库文件管理

一、实验目的

(1)了解Oracle的体系结构;

(2)掌握创建数据库创建的技能与方法,了解数据库属性设置与修改的方法;

(3)掌握利用工具或命令查看数据库相关信息的方法。

二、实验原理与要求

一个完整的数据库通常由物理结构、逻辑结构、内存结构和进程结构组成,它们相互联系,组成一个有机整体。

创建数据库的过程,实际就是在数据库服务器的操作系统上创建一系列文件,并将这些文件交给Oracle数据库管理系统软件进行管理,从而构建出一个完整的数据库系统结构。

在创建数据库之前,必须进行详细的规划和设计,做好创建前的准备工作。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

(1)创建数据库前的准备

(2)创建数据库

1确定新建数据库名称与实例名称;

2确数据库管理员的认证方式;

3创建初始化参数文件;

4创建实例;

5连接并启动实例;

6使用CREATEDATABASE语句创建数据库;

7创建附加的表空间;

8运行脚本创建数据字典视图;

9创建服务器初始化参数文件。

(3)配置数据库初始化的参数文件:

数据文件的操作:

数据文件的添加、设置与重命名;日志文件的设置;归档设置;

五、实验步骤

(1)创建初始化参数文件

(2)创建并启动实例:

创建一个名为MYNEWDB的实例。

(3)创建数据库:

创建一个名为TEACHER的数据库。

(4)创建附加的表空间:

为TEACHER数据库创建附加表空间。

(5)显示初始化参数:

使用相关命令显示初始化文件中设置的参数。

并记入实验报告。

(6)添加数据文件

1为USERS表空间添加一个数据文件,文件名为userdata03.dbf,大小为50M。

2为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20M。

(7)设置数据文件属性

1修改USERS表空间中的userdata03.dbf为自动扩展方式,每次扩展5M,最大为100M。

2修改EXAMPLE表空间的example02.dbf文件大小为40M。

(8)数据文件重命名

1将表空间USERS中的数据文件example03.dbf更名为userdata04.dbf,将表空间EXAMPLE中的数据文件example03.dbf改为example04.dbf。

2将数据库的控制文件以二进制方式备份。

(9)日志文件设置

1为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5M。

2为新建的重做日志文件添加一个日志文件redo4c.log。

(10)归档设置

1将数据库设置为归档模式,并设置为自动归档。

2设置数据库的归档路径为D:

\ORACLE\BACKUP。

(11)显示数据文件信息

六、实验报告要求

在实验报告中记录数据文件的详细信息。

实验二安全性管理与使用

一、实验目的

(1)掌握数据库用户的管理

(2)掌握权限管理

(3)掌握数据库角色的管理

(4)掌握数据库概要文件管理。

二、实验原理与要求

Oracle数据库的安全管理是以用户为中心的,包括用户的创建、权限的授予与回收、对用户占用资源进行限制和口令管理等。

数据库中的权限包括系统权限和对象权限两类。

Oracle的安全控制机制包括六个方面:

用户管理、权限管理、角色管理、表空间设置及配额、用户资源限制、数据库审计。

用户概要文件是对用户使用数据库、系统资源进行限制和对用户口令管理策略进行设置的文件。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

使用用户管理、权限管理、角色管理、概要文件管理等手段构建数据库安全体系。

五、实验步骤

(1)创建用户

1创建一个口令认证用户usera_exer,口令为usera,默认表空间为USERS,配额为10MB,初始账户为锁定。

2创建一个口令认证用户userb_exer,口令为userb

(2)分配权限

1为usera_exer用户授予CREATESESSION权限,scott.emp的SELECT权限和UPDATE权限。

同时允许将该用户权限授予其他用户。

2将用户usera_exer的账户解锁。

(3)权限的应用

1用usera_exer登录数据库,查询和更新scott.emp中的数据。

同时将scott.emp的SELECT和UPDATE权限授予用户userb_exer。

2禁止用户usera_exer将获得的CREATESESSION权限再授予其他用户。

3禁止用户usera_exer将获得的scott.emp的SELECT权限和UPDATE权限再授予其他用户。

(4)创建及使用角色

1创建角色rolea,roleb,将CREATETABLE权限,scott.emp的INSERT和DELETE权限授予rolea;将CONNECT,RESOURCE权限授予roleb。

2实际在scott.emp中插入或删除数据进行测试

3屏蔽用户usera_exer的roleb角色。

4再进行相关测试。

(5)概要文件的使用

为用户创建一个概要文件,限定该用户最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。

同时限定其口令有效期为20天,连续4次登录失败后锁定账户,10天后自动解锁。

六、实验报告要求

分别使用相关的命令对实验中设置的结果进行显示,将显示结果记入实验报告。

实验三表、索引、视图的设计与创建

一、实验目的

(1)理解数据完整性的意义,了解使用约束、默认和规则的意义;

(2)掌握使用企业管理器和SQL语句对表修改、删除表的操作技能和方法;

(3)掌握索引的创建、删除;了解约束、默认和规则的定义

(4)了解视图的意义,掌握视图的创建。

二、实验原理与要求

(1)表:

表是数据库中最基本的对象,数据库中所有数据都是以二维表格形式存在。

(2)索引:

索引是一种可选的,与表相关的数据库对象,用于提高数据的查询效率。

(3)索引化表:

是一种特殊化表,它按B树的索引结构来组织和存储数据,将表的数据和索引的数据存储在一起,主要适合于经常通过主键查询整个记录或部分记录的情况。

(4)分区:

将一个巨型表或巨型索引分成若干独立的组成部分进行存储和管理。

每个相对小的,可以独立管理的部分,称为原来表或索引的分区。

(5)视图是从一个或多个表或视图中提取出来的数据的一种表现形式。

视图是一种“虚拟”的表。

(6)同义词是数据库中表、索引、视图或其他模式对象的一个别名。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

提供表结构如下:

Student

列名

数据类型

约束

备注

SNO

NUMBER(4)

主键

学号

SNAME

VARCHAR2(10)

唯一

姓名

SAGE

NUMBER

年龄

SEX

CHAR2

(2)

性别

CNO

NUMBER

(2)

外键

班号

列名

数据类型

约束

备注

CNO

NUMBER

(2)

主键

班号

CNAME

VARCHAR2(20)

班名

NUM

NUMBER(3)

人数

Class

建立上述表结构,并以上述表结构为基础,建立相关的依附对象。

练习使用临时表、索引、索引表、分区表、视图、簇、序列、同义词等模式对象。

五、实验步骤

(1)使用SQL语句创建class、student两个表。

(2)为student表添加一个可以延迟的外键约束,其CNO列参照class表的CNO列。

(3)为student表的SAGE列添加一个检查约束,保证该列取值在0-100之间。

(4)为student表的SEX列添加一个检查约束,保证该列取值为“M”或“F”,默认为“M”。

(5)在class表的CNAME列上创建一个唯一性索引。

(6)利用子查询分别创建一个事务级的临时表和会话级的临时表,其结构与student表的结构相同。

(7)建立一个索引化表,其表结构与student表相同。

(8)创建一个student_range表(列、类型与student表的列、类型相同),按学生年龄分为三个区,低于20岁的学生信息放入part1区,存储在EXAMPLE表空间中;20岁到30岁的学生信息放在part2区,存放在ORCLTBS1表空间中;其他数据放在part3区,存放在ORCLTBS2表空间中。

(9)创建一个student_list表(列、类型与student表的列、类型相同),按学生性别分为两个区。

(10)创建一个class_number簇,聚簇字段名为CNO,类型为NUMBER

(2)。

然后利用该簇,创建student和class两个聚簇表。

(11)创建一个起始值为10000的序列,步长为2,最大值为,不可循环。

(12)为SCOTT模式下的emp创建一个公共同义词,名称为employee。

(13)创建一个视图,包含员工号、员工名和该员工领导的员工号,员工名。

六、实验报告要求

使用相关的命令,对上述操作结果进行显示。

实验四SQL查询语言的使用

一、实验目的

(1)理解Select语句各组成部分的含义;

(2)掌握各类复杂查询的用法,掌握根据实际查询需求,灵活地设计查询语句

二、实验原理与要求

(1)SQL语言是关系数据库操作的基础语言、将数据查询、数据操纵、数据定义、事务控制、系统控制等功能集于一体,使得数据库应用开发人员、数据库管理人员等都可以通过SQL语言实现对数据库的访问和操作。

(2)在ORACLE数据库中,利用SELECT语句可以完成不同类型的复杂数据查询任务包括基本查询、分组查询、连接查询、合并查询、子查询。

其基本语法为:

Select<列名表>from<表名>where<条件>

(3)利用Insert、Delete、Update句,可分别实现插入、删除、更新。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

(1)根据给定的建表脚本建表并进行练习。

CreatetableBook{

NOCHAR(8)PRIMARYKEY,

TITLEVARCHAR2(50)NOTNULL,

AUTHORVARCHAR2(20),

PUBLISHVARCHAR2(20),

PUB_DATEDATE,

PRICENUMBER(6,2)

};

CreatetableReader{

RNOCHAR(6)PRIMARYKEY,

RNAMEVARCHAR2(20)NOTNULL

};

CreatetableBORROW{

NOCHAR(8),

RNOCHAR(6),

BORROW_DATEDATEDEFAULTSYSDATE,

PRIMARYKEY(NO,RNO),

FOREIGNKEY(NO)REFERENCESBOOK(NO),

FOREIGNKEY(RNO)REFERENCESREADER(RNO)

};

(2)以上述表为基础练习各类数据操作语句及Select语句,包括基本查询、分组查询、连接查询、合并查询、子查询等。

五、实验步骤

(1)利用SQL语句实现向BOOK、READER、BORROW表中插入数据,插入后表中数据如下所示:

BOOK

NO

TITLE

AUTHOR

PUBLISH

PUB_DATE

PRICE

ORACLE9i数据库管理系统

李代平

冶金工业

2003-01-01

38

Oracle9i中文版入门

赵松涛

人民邮电

2002-07-01

35

Oracle9i开发指南

JoanCasteel

电子工业

2004-04-03

49

数据库原理辅助与提高

盛定宇

电子工业

2004-03-01

34

Oracle9i实用培训教程

赵伯山

电子工业

2002-01-01

21

READER

RNO

RNAME

张三

李凤

孟欣

谢非

刘英

 

BORROW

NO

RNO

BORROW_DATE

2004-08-1010:

06:

14

2004-08-1010:

06:

27

2004-08-1010:

06:

36

2004-08-1010:

06:

48

2004-08-1010:

06:

58

(2)完成下列操作:

1查询所有图书的编号和书名;

2显示所有电子工业出版社的图书编号、书名和作者。

3显示价格在40元以上的所有图书信息。

4分别统计各个出版社的图书数量(需要记录输出)。

5查询所有作者姓赵的图书信息。

6显示所有图书借阅信息;显示读者姓名、书名和借阅时间;

7插入一条图书信息:

“NO(编号):

”,“TITLE(书名):

Java网络编程”,“AUTHOR(作者):

李程等”,“PUBLISH(出版社):

电子工业出版社”,“PUB_DATE(出版日期):

2000-08-01”,“PRICE(价格):

35”;

8将图书标号为的图书价格改为29;

9删除图书编号为的图书信息;

(3)查询读者李凤所借的图书号、图书名(需要记录输出)。

六、实验报告要求

对标记为“需要记录输出”的内容,记录SQL语句和运行结果,并进行显示。

实验五存储过程设计与创建

一、实验目的

(1)理解PL/SQL特点及功能特性;掌握PL/SQL基本语法;

(2)掌握游标、异常处理、存储子程序、包的使用。

二、实验原理与要求

(1)由于SQL语言将用户操作与实际的数据结构、算法等分离,无法对一些复杂的业务逻辑进行处理。

因此,ORACLE数据库对标准的SQL语言进行了扩展,将SQL语言的非过程化与第三代开发语言的过程化相结合,产生了PL/SQL语言。

在PL/SQL语言中,既可以通过SQL语言来实现对数据库操作,也可通过过程化语言中的复杂逻辑结构完成复杂的业务逻辑。

(2)存储子程序是指被命名的PL/SQL块,以编译的形式存储在数据库服务器中,可以在应用程序中进行调用,是PL/SQL程序模块化的一种体现。

PL/SQL中的存储子程序包括存储过程(存储)函数两种。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

以ORACLE的emp表为基础,通过编写相应的存储过程,对表进行查询及更新操作。

五、实验步骤

(1)编写一个PL/SQL块,输出所有员工的员工名、员工号、工资和部门号。

(2)查询名为“SMITH”的员工信息,并输出其员工号、工资、部门号。

如果该员工不存在,则插入一条新记录,员工号为2007,员工名为“SMITH”,工资为1500,部门号为10。

如果存在多个名为“SMITH”的员工,则输出所有名为“SMITH”的员工号、工资和部门号。

(3)创建一个存储过程,以员工号为参数,输出该员工的工资。

(4)创建一个存储过程,以员工号为参数,修改该员工工资。

若该员工属于10号部门,则工资增加150;若属于20号部门,则工资增加200;若属于30号部门,则工资增加250;若属于其他部门,则工资增长300。

(5)创建一个函数,以员工号为参数,返回该员工的工资。

(6)创建一个函数,以部门号为参数,返回该部门的平均工资。

(7)创建一个函数,以员工号为参数,返回该员工所在部门的平均工资。

(8)创建一个包,包中包含一个函数和一个过程。

函数以部门号为参数,返回该部门员工的最高工资;过程以部门号为参数,输出该部门中工资最高的员工名、员工号。

六、实验报告要求

说明实验完成情况,对实验中遇到的主要问题及解决方法加以叙述。

实验六触发器的设计与创建

一、实验目的

(1)理解触发器的功能、分类、构成、工作方式;

(2)掌握触发器的创建及使用方法。

二、实验原理与要求

(1)触发器是一种特殊类型的存储过程,编译后存储在数据库服务器中,当特定事件发生时,由系统调用执行。

主要用于维护那些通过创建表时的声明约束不能不可能实现的复杂的完整性约束以及对数据库中特定事件的监控或响应。

(2)根据触发器的作用对象不同,触发器可分为三类:

1DML触发器:

建立在基本表上的触发器,响应基本表的INSERT、UPDATE、DELETE操作。

2INSTEATOF触发器:

建立在视图之上的,响应INSERT、UPDATE、DELETE操作。

3系统触发器:

建立在系统或模式上的出发器,响应系统事件或DDL。

(3)触发器由于触发头部和触发体组成,主要包括以下参数:

作用对象、触发事件、触发时间、触发级别、触发条件、触发操作。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

(1)以系统缺省的scott模式下的emp表为基础,构造相应的触发器。

(2)以emp表为基础,建立视图,构造基于视图的触发器。

(3)构造系统级的触发器。

五、实验步骤

(1)在emp表上创建一个触发器,当插入、删除、更新员工信息时统计各个部门的人数及平均工资,并进行输出。

(2)在emp表上创建一个触发器,保证修改员工工资时,修改后的工资低于该部门最高工资,同时高于该部门最低工资。

(3)分别运行上述触发器,并进行实际的插入、删除、更新操作。

(记录输出结果)

(4)以emp表为基础,创建一个包括员工及其所在部门信息的视图empdept,然后向视图中插入一条记录(2345,‘TOM’,3000,‘SALES’)。

(5)以员工号查询emp表,记录输出数据。

(6)使用以下语句构造表:

CREATETABLEddl_creations(

user_idVARCHAR2(30);

object_typeVARCHAR2(20);

object_nameVARCHAR2(30);

object_ownerVARCHAR2(30);

creation_dateDATE);

(7)创建一系统级的触发器,当创建新表时,将表结构信息记入ddl_creations。

(8)分别创建两个新表,结构不限。

(9)查询ddl_creations。

(记录输出结果)

六、实验报告要求

记录显示实验步骤中标记为“记录输出结果”的内容。

实验七

高级语言的数据库应用开发

一、实验目的

综合应用高级语言和数据库的接口方式、基于数据库的动态网站技术(JSP)和基于大型数据库系统开发的基本方法等知识,设计实现一个简单的信息系统。

二、实验原理与要求

数据库的设计工作通常分阶段进行:

需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行及维护。

三、实验设备

配置有Windows操作系统的主机,配置Oracle管理软件。

四、实验内容

利用Oracle数据库与JSP技术开发一个简单的信息系统的局部模式,题目任选。

具体要求如下:

(1)采用关系数据库模型,建立ER模型。

要求满足如下条件。

包括2-3个实体,但不得超过4个实体。

至少包含一个一对多关系。

(2)实现的功能包括查询、插入、修改、删除操作。

(3)参考模板代码,采用既定的软件架构。

五、实验步骤

(1)根据实验内容要求,设计数据库的E-R图。

(2)将E-R图转换成关系模式。

(3)在Oracle数据库中创建表。

(4)利用JSP技术实现系统。

六、实验报告要求

(1)打印设计的E-R图

(2)截图OEM中,所创建的数据库、表的概要信息,并打印。

(3)截取所实现系统的主界面,并打印

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1