当前位置:首页 >> 工学 >>

实验9 索引、视图、序列和同义词


实验 9
姓 名 : 专 业 : 同组人:

索引、视图、序列和同义词 索引、视图、序列和同义词
1121145227 2 2012-4-23

计算机科学与技术 软件工程专升本 无

学 班

号 级

: :

实 验 日 期 :

【实验目的与要求】 实验目的与要求】
创建索引 使用索引 理解什么是视图、序列和同义词 视图、序列和同义词的设计 创建视图、序列和同义词 插入值时在表中使用序列

【实验内容与步骤】 实验内容与步骤 内容与步

9.0 实验准备工作
若实验 4 中的基本表和基础测试数据加入工作沿未完成,请参照以下几步予以完成: (1)创建基本表:

(2)加入测试数据:

第 1 页 共 12 页

参照上图,在 Customer 表中插入如下的两条记录:
Cno C0002 C0003 Cname Wang Ling Li Li Company Oracle Minsheng bank City Beijing Shanghai Tel 010-62754108 021-62438210

9.1 索引(INDEXES)的创建与删除 索引( )
1.索引的创建: .索引的创建:
索引有助于更快地进入表中的列。索引还可以避免输入到列中的值产生重复现象。 语法如下:

CREATE INDEX indexname ON tablename(columnname)
可以为多个列创建索引。 这样的索引称为“Composite Indexes” (复合索引) 。

实验 9-1

创建一个名为 idx 的、关于 City 字段的、Customer 表的索引。

请给出相应的语句和运行结果载图:

练习 9-1:在 Orders 表中的 Order_date 列上创建一个名为 idx 索引,观察会发生什么 : 情况。

第 2 页 共 12 页

实验 9-2 索引。

在 Customer 表中的 City 列和 Company 列上创建一个名为“comp”的

请给出相应的语句和运行结果载图:

2.索引的删除: .索引的删除: 删除
给出下列语句可删除索引。

DROP INDEX indexname
实验 9-3 删除创建的索引“idx”,请给出如下的语句:

3.基于函数的索引:
实验 9-4 基于函数的索引:执行下列语句,创建一个基于函数的索引,并删除之。

第 3 页 共 12 页

4.索引相关数据字典: .索引相关数据字典:
实验 9-5 使用索引相关数据字典: (1) 对 employees 表创建索引于 last_name 字段:

(2) 查询索引信息:

给出查询的结果: 给出查询的结果:

第 4 页 共 12 页

(3) 监视索引: a.打开索引监视状态: alter index emp_last_name_idx monitoring usage; b. 监视索引 emp_last_name_idx: analyze index emp_last_name_idx validate structure; Select br_rows,br_blks,lf_rows,del_lf_rows From index_stats Where name=’ emp_last_name_idx’; 给出运行结果: 给出运行结果:

9.2 实验准备工作
若实验 4 中的基本表和基础测试数据加入工作沿未完成,请参照以下几步予以完成,若 已完成实验 4 中相关练习,并且数据表没有删除,则请直接进入 11.1 实验。
(1)创建基本表:

(2)加入测试数据:

第 5 页 共 12 页

参照上图,在 Customer 表中插入如下的两条记录:
Cno C0002 C0003 Cname Wang Ling Li Li Company Oracle Minsheng bank City Beijing Shanghai Tel 010-62754108 021-62438210

9.3 视图
视图是一个虚拟表,其内容是借助于查询从表中获取的。在这些表中所作的更改 自动反映在视图中。语法如下:

CREATE VIEW viewname AS SELECT <statement>; ;
注意:ORDER BY 不能与视图一起使用。 实验 9-6 建立“上海”客户的视图,并取名“Customer_sh”。

请给出相应的语句和运行结果载图:

上面的查询创建一个名为“Customer_sh”的视图。创建视图之后,您可像查看任 何表一样查看该视图。请给出如下所示的语句:

请给出运行结果载图:

第 6 页 共 12 页

要求在该 实验 9-7 建立一个名为 Order_Sh 的包含所有上海客户订单信息的视图, 视图中包括各客户的公司名称、订单代号和订购日期等属性列。 请给出相应的语句和运行结果载图:

实验 9-8 删除名为 Customer_sh 的视图。

请给出相应的语句和运行结果载图:

练习 9-2:建立一个名为 Avg_price 的视图,其中包括产品的类别代号及平均价格 : 两项。(相关表请参照实验 4)

9.4 序列
序列用来生成可用作主键的唯一整数。语法如下:

CREATE SEQUENCE sequencename INCREMENT BY <n>
第 7 页 共 12 页

START WITH <m>; ;
sequencename 是创建的序列的名称; <n> 是指定的递增数,默认值是 1; <m> 是序列的开始数。

实验 9-9

创建名从 3 开始、步长为 1、名为“seqno”的序列。

请给出相应的语句和运行结果载图:

上面的查询创建名为 “seqno” 的序列, 我们也可以在创建序列之后插入值。 格式如下:

INSERT INTO tablename(sequence column columnnames) VALUES (sequence name.NEXTVAL, values); ;
Sequence column number 是您生成序列编号的列名称 Column names 是表的其他列。

number,

实验 9-10 假定数据库中有一个名为 new_ptype 的表(若无该表,请创建之),其 结构和数据如下图所示:

请给执行下所示的语句:

完成后,查询 New_Ptype 表中数据。

请给出相应的语句和运行结果载图:
第 8 页 共 12 页

思考:对比前后两次查询数据的结果,理解序列的使用。 实验 9-11 删除创建前面创建的名为 seqno 的序列。 请给出相应的语句和运行结果载图:

9.5 同义词
同义词是 Oracle 对象的别名。此对象可以是表、视图、程序、函数或另一个同义 词。同义词不是实际对象,而是对对象的参考。同义词非常有用,这是因为它们隐藏参 考的对象的身份。在重命名对象或修改对象的情况下,这十分有用,因为这样就只需要 重新定义同义词。这有助于缩短在项目中所花费的重新编译和修改时间。

创建同义词的语法如下:

CREATE SYNONYM synonymname FOR tablename
实验 9-12 创建一个名为“new”(新)的同义词,该同义词参考 Customer 表。请 给出如下所示的语句:

上面的查询中创建的同义词可通过给出下列语句进行查看。 SELECT * from new;

请给出运行结果载图:

第 9 页 共 12 页

要删除上面创建的同义词。 请给出相应的语句和运行结果载图:

9.6 作业与思考练习题
1、 完成以下练习,给出相应的代码: 、 完成以下练习,给出相应的代码: (1) 在 emp 表的 empno 字段上创建一个索引,检查是否可以创建。

(2) 在 emp 表的 sal 上创建一个索引。

删除所创建的索引。

第 10 页 共 12 页

2、完成以下练习: 完成以下练习: 1) 创建一个视图,包括所有的雇员信息,但是隐藏薪水和佣金(津贴)

请给出相应的语句和运行结果载图:

2)

创建一个视图,包括部门名和各部门的平均薪水

请给出相应的语句和运行结果载图:

4)

创建一个视图,显示部门 10 中的每一个雇员的姓名、部门号和总收入(sal+comm)、不充许通过视图修 改部门

请给出相应的语句和运行结果载图:

5)

创建一个视图,显示各部门名和各个部门所有雇员收入的总和

请给出相应的语句和运行结果载图:

6)

创建一个序列 deptid_seq,产生部门 ID(Dept 表中),创建另一个序列 empid_seq,产生雇员 ID(emp 表

第 11 页 共 12 页

中)。使用 deptid_seq 向 dept 表中新添加一个部门。现在,将自己作为一个新雇员添加进 emp 表中,其 部门是刚才新添加的 empid_seq。

请给出相应的语句和运行结果载图:

7)

删除创建有视图的基表,然后尝试查询视图,并观察查询的输出情况。

请给出相应的语句和运行结果载图:

第 12 页 共 12 页


相关文章:
实验九视图答案
实验9 索引视图序列... 12页 3下载券 实验九视图的使用 2页 免费 实验...实验九:视图的定义与操纵 学号 [ 实验目的 ] 通过实验进一步理解视图的建立和...
9实验九 索引
5实验五 视图的创建与使... 6实验六 存储过程 7实验七 触发器1...实验九 索引及数据库安全一、实验目的(1)理解索引的概念与类型。 (2)掌握使用...
大型数据库技术实验9
大型数据库技术实验9 - 实验 9 姓名:专业: 同组人: 无 视图序列和同义词 视图序列和同义词 学班 号级 :: 2012-5-16 实验日期: 【实...
实验九 视图和索引及数据关系图
实验九 视图和索引及数据关系图 - 实验九 视图和索引及数据库关系 一、实验目的 使学生掌握 SQL Server 中视图的创建、查看、修改和删除方法,掌握索引的创建和...
实验九 创建和管理视图和索引
实验九 创建和管理视图和索引实验目的:掌握创建和管理视图索引的方法。 实验准备: 1.在企业管理器中创建“教学数据库”(teaching); 2.在教学数据库(teaching)...
实验九 创建视图和索引
实验九 创建视图和索引 - 实验九 创建视图和索引 1、 实验目的 (1) 熟悉基本表联接查询; (2) 熟悉基本表子查询; (3) 理解视图的原理和创建; (4) 理解...
实验9 索引
实验9 索引_计算机软件及应用_IT/计算机_专业资料。实验九 索引及数据库安全一...实验9 视图和索引 暂无评价 1页 免费 Server实验9索引 2页 免费 实验目录2010...
实验九 创建和管理视图和索引
实验九 创建和管理视图和索引实验目的:掌握创建和管理视图索引的方法。 实验准备: 1.在企业管理器中创建“教学数据库”(teaching); 2.在教学数据库(teaching)...
实验9 文档与视图结构的实验报告
计算机学院 实验报告 实验名称 课程名称文档与视图结构 面向对象技术 姓名 日期 ...实验目的让用户自定义的学生成绩记录数据,通过文档序列化保存到文件中,达到永久...
实验九:索引
掌握创建和管理索引 2.掌握管理索引、维护索引 二、实验内容与步骤 1、创建惟一...实验九 创建和管理视图和... 暂无评价 2页 1下载券 实验九 视图和索引及...
更多相关标签: