码迷,mamicode.com
首页 > 数据库 > 详细

oracle视图及其他对象操作

时间:2015-06-08 09:53:33      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:

 视图及其他对象操作

实验目的

 (1) 掌握视图的建立、查询、修改、删除操作。

 (2) 掌握同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的操作是否一致。

 (3) 掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。

  

实验内容

1.创建视图

(1) 利用企业管理器为实现显示医保卡信息创建视图,该视图中包括医保卡信息、医保卡所属人信息和所属人单位信息,视图名为“ygbx_card_view”。

(1)

 

 

 

(2)利用SQL*Plus或iSQL*Plus为实现员工持医保卡到医院消费的功能创建视图,该视图中包括员工的信息、医保卡信息、医保信息和消费等信息,视图名为“consume_view”。

 

SQL> create view consume_view as select staff.sno,sname,ssex,sbirthday,

 

  2  saddress,stel,staff.cno,staff.bno,ctype,cmoney,idate,imoney,see.hno,csdate,mname,mnum,csmoney

  3  from staff,insurance,card,consume,see

  4  where staff.sno=see.sno and see.hno=consume.cno and consume.cno=card.cno and card.cno=insurance.cno ;

 

(3) 利用SQL*Plus或iSQL*Plus为企业医保缴费信息功能创建视图,该视图中包括医保缴费的企业信息,医保卡信息和企业医保缴费费用等信息,视图名为“insurnce_view”。

 

SQL> create view insurance_view as select insurance.bno,bname,btype,baddress,btel,card.cno,ctype,cmoney,

  2  hno,csdate,mname,mnum,csmoney

  3  from insurance,business,card,consume

  4  where insurance.bno=business.bno and insurance.cno=card.cno

  5  ;

 

(4) 利用SQL*Plus或iSQL*Plus为企业表创建视图,视图名为“business_view”。

     

SQL> create view  business_view as

  2  select bno,bname,btype,baddress,btel

  3  from business;

 

 

2.查看视图

(1) 利用企业管理器查看“ygbx_user”方案下的视图。

 

(2) 利用企业管理器查看“consume_view”视图的信息。

 

(3)利用SQL*Plus或iSQL*Plus查看“card_view”视图的子查询语句。

 

SQL> select text from user_views where view_name=‘YGBX_CARD_UIEW‘

  2  ;

 

(4)利用SQL*Plus或iSQL*Plus显示“insurance_view”视图的信息。

 

SQL> select view_name,view_type,read_only,text,text_length from user_views

  2  where view_name=‘insurance_view‘

  3  ;

 

 

3.视图数据的更新

(1) 利用SQL*Plus或iSQL*Plus向“business_view”插入一个记录,企业编号为“B1997010287”,企业名称为“格林制药”,企业类型为“企业”,企业地址为“鸭绿江街98号”,联系电话为“84692315”。

 

SQL> alter table business modify(bno char(20));

表已更改。

SQL> insert into business_view values(‘B1997010287‘,‘格林制药‘,‘企业‘,‘鸭绿江街98‘,‘84692315‘);

已创建 行。

 

(2) 利用SQL*Plus或iSQL*Plus查看“business”表是否有变化。

SQL> select * from business;

 

 

4.删除视图

(1) 利用企业管理器删除“business_view”视图。

 

(2) 利用企业管理器删除“card_view”视图。

 

(3) 利用SQL*Plus或iSQL*Plus删除“consume_view”视图。

SQL> drop view consume_view;

 

 

(4) 利用SQL*Plus或iSQL*Plus删除“insurnce_view”视图。

SQL> drop view insurance_view;

 

 

5.创建同义词

(1) 利用企业管理器创建企业表同义词,名为“qyb”。

SQL> grant create public synonym to scott;

授权成功。

 

 (2) 利用SQL*Plus或iSQL*Plus创建医保卡表的同义词,名为“ybk”。

 

SQL> create synonym ybk for card;

 

同义词已创建。

 

6.查询同义词

(1) 利用企业管理器查看同义词“qyb”。

 

(2) 利用SQL*Plus或iSQL*Plus查看同义词“ybk”。

 

SQL> select * from user_synonyms where synonym_name=‘ybk‘;

 

7.删除同义词

(1) 利用企业管理器删除同义词“qyb”。

 

(2) 利用SQL*Plus或iSQL*Plus删除同义词“ybk”。

 

SQL> drop synonym ybk;

 

同义词已删除。

 

8.创建序列

(1) 利用企业管理器创建序列,该序列最大值为“28000”,最小值为“60”,步长为“1”,可循环,序列名为“ygbx_seq1”。

 

(2) 利用SQL*Plus或iSQL*Plus创建序列,该序列最大值无限制,最小值为“1”,步长为“10”,序列名为“ygbx_seq2”。

SQL> create sequence ygbx_seq2 nocycle noorder nomaxvalue minvalue 1

  2  increment by 10 start with 1;

序列已创建。

 

9.查询序列

(1) 利用企业管理器查看序列“ygbx_seq1”。

 

(2) 利用SQL*Plus或iSQL*Plus查看同义词“ygbx_seq2”。

 

SQL> select * from user_sequences where sequence_name=‘ygbx_seq2‘;

 

10.修改序列

(1) 利用企业管理器修改序列“ygbx_seq1”,将该序列最大值设为“82000”,最小值设为“100”,步长设为“5”。

最小值不能大于当前值,所以最小值为60

 

(2) 利用SQL*Plus或iSQL*Plus修改序列“ygbx_seq2”,将该序列最大值设为“1000”。

 

SQL> alter sequence ygbx_seq2 maxvalue 1000;

 

序列已更改。

 

 

11.删除序列

(1) 利用企业管理器删除序列“ygbx_seq1”。

 

 

(2) 利用SQL*Plus或iSQL*Plus删除序列“ygbx_seq2”。

 

SQL> drop sequence ygbx_seq2;

 

序列已删除。

 

附录:员工医疗保险系统表

企业(business)表结构

2医院(hospital)表结构

3医保卡(card)表结构

4员工(staff)表结构

5就诊表(see)结构

6消费(consume)表结构

7医保(insurance)表结构

 

实验总结:

1. 可以采用CREATE OR REPLACE VIEW 语句修改视图,实质是删除原视图并重建该视图,但是会保留该视图上授予的各种权限。

2. 序列用于产生惟一序号的数据库对象,用于为多个数据库用户依次生成不重复的连续整数。通常使用序列自动生成表中的主键值。序列不占用实际的存储空间,在数据字典中只存储序列的定义描述。

3. 视图是从一个或多个表或视图中提取出来的数据的一种表现形式。在数据库中只有视图的定义,而没有实际对应“表”的存在,因此视图是一个“虚”表。当对视图进行操作时,系统根据视图定义临时生成数据。

4. 可以使用DROP VIEW语句删除视图。删除视图后,该视图的定义从数据字典中删除,同时该视图上的权限被回收,但是对数据库表没有任何影响。

5. 同义词是数据库中表、索引、视图或其他模式对象的一个别名。利用同义词,一方面为数据库对象提供一定的安全性保证,例如可以隐藏对象的实际名称和所有者信息,或隐藏分布式数据库中远程对象的位置信息;另一个方面是简化对象访问。

6. 视图创建后,就可以对视图进行操作,包括数据查询、DML操作等。因为视图是“虚表”,因此对视图的操作最终转换为对基本表的操作。

oracle视图及其他对象操作

标签:

原文地址:http://blog.csdn.net/u012701023/article/details/46404539

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!