实验四 约束、索引、视图、序列和同义词
班级: 座号: 姓名: 时间:2011-4-15
一、 实验目的
1.理解如何在表中定义各种约束,以保证数据的完整性
2. 理解索引的作用,了解Oracle提供的主要索引类型,以及各自的特点,掌握如何创建各种索引
3.在用户模式中创建视图、可更新视图,理解视图的相关性 4. 对序列对象进行管理 5.管理同义词 二、实验设备
一台PC机,widows操作系统,oracle 10g 三、实验内容
1.创建表Student的主键,外键,唯一和其他约束。
2.为SCHOOL模式中的STUDENT表创建索引,并查看索引的使用情况。 1) 在STUDENT表的SNAME列上创建B树非唯一索引: 2) 在STUDENT的班级信息列上创建位图索引: 3) 查看Oracle的执行路径。
4. 在SCHOOL模式中创建视图,查询视图的定义,并对视图进行更新。
1)创建一个视图Student_Math。这个视图基于SCHOOL模式中的STUDENT表,并且该视图只包括那些系别为“数学系”的学生信息。在创建视图时使用WITH CHECK OPTION,防止更新视图时,输入非数学系的学生信息。
2)创建一个连接视图Department_Class,它包含CLASS表中的CLASSNAME列和DEPARTMENT表的DEPNAME列,在WHERER子句中将两个表连接在一起。 3)查看视图各个列是否允许更新。
5. 创建序列,序列的开始数字为100,每次递增10,无限增长。 6. 创建公有同义词emp 为hr.employees 四、实验步骤
1.创建表Student的主键,外键,唯一和其他约束。 1)在TEMPUSER模式中创建表student,class Connect TEMPUSER/oracle; Create table Student( ID varchar2(20), NAME varchar2(8), SEX number(1),
CLASSID varchar2(20)) Tablespace users; Create table Class( ID varchar2(20),
PRINCIPAL varchar2(20), TEL varchar2(20))
2)使用sql或可视化工具创建表Student的主键,外键,唯一和其他约束。 2.为SCHOOL模式中的STUDENT表创建索引,并查看索引的使用情况。
1) 连接到SCHOOL模式,使用如下语句在STUDENT表的SNAME列上创建B树非唯一索引:
connect school/school;
create index sname_index_index on Student(Sname)
tablespace users;
2) 在STUDENT的班级信息列上创建位图索引: create bitmap index sclass_index on Student(Sclass) tablespace users;
3)输入并执行如下语句,查看该语句是否会使用索引。 set autotrace traceonly select * from student where sname=’刘丽’;
4. 在SCHOOL模式中创建视图,查询视图的定义,并对视图进行更新。
1)创建一个视图Student_Math。这个视图基于SCHOOL模式中的STUDENT表,并且该视图只包括那些系别为“数学系”的学生信息。在创建视图时使用WITH CHECK OPTION,防止更新视图时,输入非数学系的学生信息。
create or replace view Student_Math as select * from school.student where sclass in (
select c.cname from class c,department d where c.department=d.did AND D.DNAME=’数学系’) WITH CHECK OPTION;
2)创建一个连接视图Department_Class,它包含CLASS表中的CLASSNAME列和DEPARTMENT表的DEPNAME列,在WHERER子句中将两个表连接在一起。
输入并执行下列SQL语句:
create or replace view Department_Class as select d.dname,c.cname from class c,department d where c.department=d.did;
3)查看视图各个列是否允许更新。 输入并执行语句: col owner format a20
col table_name format a20 col column_name format a20 select *
from user_updatable_columns
where table_name=UPPER('department_class');
5. 创建序列,序列的开始数字为100,每次递增1,无限增长。 输入并执行如下语句: create sequence Incr_id start with 100 increment by 1 nomaxvalue nocycle order;
6. 创建公有同义词hr_emp 为hr.employees 输入并执行如下语句:
Create public synonym hr_emp for hr.employees 五、实验小结
通过本次实验初步掌握如何创建表各种约束,以保证数据的完整性 理解索引的作用,掌握创建各种索引、创建视图、创建序列和同义词。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验四在线全文阅读。
相关推荐: