首页 Oracle实验

Oracle实验

举报
开通vip

Oracle实验 本科实验报告 课程名称:      大型数据库Oracle      实验地点:      多学科楼B座502      专业班级:计科1202 学号: 2012001653 学生姓名:        崔会芳            指导教师:        强 彦              2015年  3月  6 日 实验一 基本对象管理 1、实验目的 (1)了解数据库的基本对象。 (2)掌握对表、视图等的基本操作。 (3)了解其他数据库对象的管理。 2、实验内容 Oracle数据库数据对象中最基本的...

Oracle实验
本科实验报告 课程名称:      大型数据库Oracle      实验地点:      多学科楼B座502      专业班级:计科1202 学号: 2012001653 学生姓名:        崔会芳            指导教师:        强 彦              2015年  3月  6 日 实验一 基本对象管理 1、实验目的 (1)了解数据库的基本对象。 (2)掌握对表、视图等的基本操作。 (3)了解其他数据库对象的管理。 2、实验内容 Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等,以下通过对几个示例说明对基本对象的管理。 表具有行和列,在逻辑上存储数据。通过下述试验可以熟练掌握对表的管理。 1)表管理 在做表管理的实验时,先需要以管理员身份创建一个表空间,并在该表空间上创建自己做实验要用的用户,同时为该用户授权,每个实验组以这一用户登录后进行本节的实验。 创建表student,包含三个字段(id、name和address),每个字段都具有各自的属性。 向表student中插入一行数据如图。 还可以用另外一种方式,来创建表如下图。 上述语句从student表复制创建一个表student_copy,并查询student_copy表的信息,显示所包含的所有内容。 通过上述语句,可以对已经存在的表增加列。判断是否更改成功,可以通过下述操作来实现。 通过desc,可以查看到student表结构,验证是否添加了列telephone。 Rename修改了表student的名称,更改为stu。 Drop语句可以删除表,删除后可以看到使用desc查看表student_copy时,表已经不存在了。 2)视图管理 视图是虚表,就是为了使查询数据语句更加简化。创建视图可以建立在一个或多个表上或者其他视图上。具体实验过程如下: 通过创建的stu_view可以快速查出表stu中的name和telephone的值。 可以直接向视图中插入数据,如图所示。 可以看到视图中的数据多了一行新插入的数据,说明可以向视图中直接插入数据(在某些条件下是不能在视图中做插入数据操作的,例如创建视图时使用了sum()等函数的情况)。 从以上可以看到,向基于表创建的视图stu_view中插入数据时,该数据同时被插入到了表stu中。 通过以下语句可以删除视图。 3)其他数据库对象的管理 上述实现了为stu创建同义词s1.可以看到,从s1查找和从stu查找结果是相同的。 上述实现了创建序列IdSeq,并在向表stu插入数据时用其值来填充id,这样可以保证id的唯一性。 3、问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 解答 (1)通过一张已存在的表student直接创建另一张表student_copy时,student表中的数据也被复制到student_copy中,能否实现在创建表student_copy时不包含student的数据? 答:可以实现只复制表结构而不复制表中数据来创建另一张表。通过create table student_copy as select * from student where 1=0 语句来实现。因为“1=0”永远不成立,因此数据不会被复制到新建的表中。 (2)为已存在的表student添加新列telephone时,原表中已经存在的数据记录在该新列的数据是什么? 答:新增列添加之后,修改前原表中已经存在的数据记录在该列中对应的值为空。 4、思考题 (1)truncate,delete,drop有何区别? 答:drop语句将删除表的结构,并将表所占用的空间全部释放。delete语句只删除数据不删除表的结构,它是DML语句,不会自动提交。truncate也是只删除数据不删除表的结构,但是它是DDL操作,执行后会自动提交。 (2)可以通过视图向表中插入数据,那么在创建视图时,如何实现使其不能修改基表中的数据? 答:在视图中可以修改基表的数据,在某些情况下为数据库操作带来了方便。但是当用户不希望通过视图该表基表数据时,只需要在创建视图时将此视图设置为只读就可以实现了。 实验二 PL/SQL语句 1、实验目的 (1)了解PL/SQL块的基本结构和分类。 (2)掌握在PL/SQL块中定义和使用变量。 (3)掌握在PL/SQL块中编写可执行语句。 2、实验内容 PL/SQL中的基本程序单元就是块,块组成PL/SQL程序。块可以嵌套,用来完成复杂的应用功能。本实验从块讲解PL/SQL语句以及由PL/SQL语句组成的PL/SQL程序,具体如下所示。 1)包含执行部分的PL/SQL块 一般PL/SQL块包含三个部分,分别是定义部分、执行部分和异常处理部分。上述用begin...end包含了执行部分——输出‘hello’。可以看到该块输出了hello,并提示PL/SQL过程已经完成。 编写大段的PL/SQL程序块时,容易出错,可以在SQL提示符号下输入“edit”来调用文本编辑器,编辑完毕后保存退出。在SQL提示符下输入“/”,即可运行PL/SQL程序块。 2)包含定义部分和执行部分的PL/SQL块 上述不仅包含执行部分(begin...end之间的部分),而且还包含declare声明的部分。将table31中的name读出并写入到v_name中,最后输入v_name。 3)三部分都包含的PL/SQL块 在此示例中,加入了异常处理的部分,当输入的id值为3,且在table31中不存在时,就不会出错了。 继续运行,id为1在table31中对应2行,输入1时也不会报错。具体如下所示。 4)PL/SQL过程 PL/SQL块一般被划分为匿名块、命名块、子程序和触发器四种类型。子程序中的过程和函数非常重要,因此下面主要讲述PL/SQL过程。 以上过程中,update_table31将崔会苓的id编号改为3. 5)PL/SQL函数 以上创建了函数modify_id,且其返回值为int型。 执行该函数,可以看到崔会苓对应的id被改为20。 3、问题解答 (1)在包含定义部分和执行部分的PL/SQL块的示例中,如果输入no为1,会是什么结果? 答:从查询table31的结果可以看出id为1的行有两行,而在声明中v_name仅为一个变量,只可保存一个name。因此当输入no为1时,会报错,并提示:“第一行出现错误,实际返回的行数超出请求的行数!”。 (2)在包含定义部分和执行部分的PL/SQL块的示例中为何要设置verify?如果将其设置为on,会出现什么结果? 答:通过设置verify,可以设置是否列出包含替代变量的文本。在示例中,将verify设置为off,因此没有显示出替代变量no的文本。如果将verify设置为on,当输入2后,则会出现:“原值:where id=2”,这些是原示例中不存在的内容。 4、思考题 (1)在示例PL/SQL过程中,为何条件要采用lower形式? 答:lower是将所有的大写字母改为小写字母。为了避免因大小写字母引起的错误,采用lower将name以及v_name都改为小写。示例中也可以不采用lower,因为示例中的name为汉字,而不是字母。 (2)函数与过程有何区别? 答:过程和函数都以编译后的形式存放在数据库中,函数可以没有 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 ,也可以有多个参数,并有一个返回值。过程有零个或多个参数,没有返回值。过程在调用过程中作为一个独立执行语句,而函数不是独立执行语句。 实验三 冷备份与恢复 1、实验目的 (1)了解冷备份的目的、意义及需要备份的文件。 (2)熟练掌握冷备份的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 及步骤。 (3)掌握冷备份恢复的方法。 2、实验内容 冷备份发生在数据库已正常关闭的情况下,当数据库正常关闭时,数据文件会达到一致。冷备份是将数据库的关键文件复制到另外的存储空间的方法。在Oracle的备份方法中,冷备份是比较简单的备份方法之一。 进行冷备份时,需要备份的文件包括所有数据文件、控制文件、联机重做日志文件、inint.ora文件。冷备份的步骤是:首先正常关闭要备份数据库的实例,其次复制整个数据库到另外一个存储空间,最后重新启动数据库实例。当采用冷备份进行数据库恢复时,如果数据库是运行在非归档日志模式下,只需要将备份文件复制到原来的目录即可;如果数据库是运行在归档日志模式下,将数据文件复制回原来的目录,然后依次选择相应的重做日志文件进行恢复就好了。本实验中,数据库实例名为orcl,所有数据文件、所有控制文件和所有联机重做日志文件都在文件夹F:\oradata\orcl中,具体冷备份及恢复过程如下。 1)关闭数据库 以sys用户进入SQL*Plus,并关闭数据库,如下所示。 2)复制必要文件 此时可以复制F:\oradata\orcl目录下的所有文件和用户自己创建的数据文件到目标备份目录E:\orcl中,通过操作系统命令即可实现。 3)启动数据库并删除数据 上述完成了数据库的启动,可以看到数据库已经打开,可以对数据库进行操作了。删除操作将sys中已经存在的表table31中的所有数据全部删除。 4)恢复 如果用户发现table31的删除操作属于误操作,那么可以通过之前的备份文件进行恢复。执行恢复的前提是首先要关闭数据库,然后再用刚才复制的文件覆盖被复制的文件即可。打开数据库可以看到表table31中的数据仍然存在,具体如下所示。 当数据库被关闭后,就可以利用操作系统命令将E:orcl中的所有文件复制到F:\oradata\orcl目录下,取代该目录中原来的文件。 由上述过程可以看到,当启动数据库后,表table31中的数据仍然存在,实现了通过冷备份对数据库数据的恢复。 3、问题解答 在冷备份中,如果要在SQL*Plus中复制文件,应该如何操作? 答:首先关闭数据库,这是冷备份的条件,也是保证数据库中数据一致的方法;然后通过在SQL*Plus中采用命令host copy来实现。 4、思考题 (1)删除table31中数据后,关闭数据库时,为何出现提示:“无法在事务处理过程中关闭”? 答:delete属于DML操作,而DML操作不会在语句执行后隐式提交commit操作,因此Oracle为了保证数据的完整性,只有在事务被提交后才可以关闭数据库。而对于DDL操作(如create,drop操作)而言,在语句执行结束后,Oracle会隐式提交commit,因此用户不需要执行commit操作就可以关闭数据库。 (2)冷备份与热备份比较各有何特点? 答:冷备份只有在数据库关闭的情况下才可以执行,它是对数据库的完整备份,不会丢失数据,而且备份速度快。热备份可以在数据库运行的情况下执行备份,有可能会丢失一部分数据。因此,完整性是冷备份的特色,而不影响数据库的运行是热备份的特点。
本文档为【Oracle实验】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_589748
暂无简介~
格式:doc
大小:57KB
软件:Word
页数:0
分类:互联网
上传时间:2019-08-27
浏览量:18