oracle視圖及其他對象操作

來源:互聯網
上載者:User

標籤:

 視圖及其他對象操作

實驗目的

 (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‘);

已建立 1 行。

 

(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;

 

序列已刪除。

 

附錄:員工醫學保險系統資料表

表1 企業(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視圖及其他對象操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.