官术网_书友最值得收藏!

4.2 用戶模式

視頻講解:光盤\TM\lx\4\用戶模式.mp4

在Oracle數據庫中,為了便于管理用戶所創建的數據庫對象(如數據表、索引、視圖等),引入了模式的概念,這樣某個用戶所創建的數據庫對象就都屬于該用戶模式。下面將對用戶模式的概念及其實例應用進行講解。

4.2.1 模式與模式對象

模式是一個數據庫對象的集合。模式為一個數據庫用戶所有,并且具有與該用戶相同的名稱,如SYSTEM模式、SCOTT模式等。在一個模式內部不可以直接訪問其他模式的數據庫對象,即使在具有訪問權限的情況下,也需要指定模式名稱才可以訪問其他模式的數據庫對象。

模式對象是由用戶創建的邏輯結構,用以存儲或引用數據。例如,前面章節中所講過的段(如表、索引等),以及用戶所擁有的其他非段的數據庫對象。這些非段的數據庫對象通常包括約束、視圖、同義詞、過程以及程序包等。

簡而言之,模式與模式對象之間的關系就是擁有與被擁有的關系,即模式擁有模式對象;而模式對象被模式所擁有。

注意

一個不為某個用戶所擁有的數據庫對象就不能稱之為模式對象,比如角色、表空間及目錄等數據庫對象。

4.2.2 示例模式SCOTT

為了便于后面章節的講解,這里介紹一個典型的示例模式—SCOTT模式,因為該模式及其所擁有的模式對象在本書中經常被作為示例。

Oracle提供的SCOTT模式的目的,就是給用戶提供一些示例表和數據來展示Oracle數據庫的一些特性。SCOTT模式擁有的模式對象(都是數據表)如圖4.1所示。

圖4.1 SCOTT模式擁有的模式對象

該模式演示了一個很簡單的公司人力資源管理的數據結構,它也是Oracle的各個版本中一直在沿用的示例模式(當然Oracle 11g還有很多其他示例模式,這里因篇幅限制,只介紹這個經典的模式),該用戶模式的連接密碼為tiger。通過連接到SCOTT用戶模式,查詢數據字典視圖USER_TABLES可以獲得該模式所包含的數據表,共計4個。

【例4.5】 在SCOTT模式下,通過檢索user_tables表來顯示SCOTT模式所擁有的4個數據表,代碼如下(實例位置:光盤\TM\sl\4\4)

        SQL> connect scott/tiger
        已連接。
        SQL> select table_name from user_tables;

本例運行結果如圖4.2所示。

圖4.2 顯示SCOTT模式中的表

另外,用戶也可以在SYSTEM模式下查詢SCOTT模式所擁有的數據表,但要求使用dba_tables數據表。

【例4.6】 在SYSTEM模式下,通過檢索dba_tables表來顯示SCOTT模式所擁有的4個數據表,代碼如下。

        SQL> connect system/1qaz2wsx
        已連接。
        SQL> select table_name from dba_tables where owner ='SCOTT';
主站蜘蛛池模板: 芦溪县| 张掖市| 田林县| 封开县| 红原县| 乌拉特前旗| 尼木县| 五指山市| 富源县| 常宁市| 满洲里市| 广平县| 台北市| 汉川市| 龙井市| 达拉特旗| 盐津县| 股票| 大厂| 平武县| 闻喜县| 治多县| 邢台县| 南陵县| 广汉市| 洪洞县| 台山市| 布尔津县| 洛扎县| 福贡县| 墨竹工卡县| 龙口市| 赤水市| 翼城县| 新沂市| 兴国县| 荆州市| 闵行区| 临澧县| 吴忠市| 湛江市|