oracle學習入門系列之六 模式,oracle入門系列之六

來源:互聯網
上載者:User

oracle學習入門系列之六 模式,oracle入門系列之六

oracle學習入門系列之六

模式

       上篇咱們學習記錄了ORACLE資料庫中的資料庫結構、記憶體結構和進程等,篇幅 蛤蟆感覺偏多了。這次要休整下,每次筆記不宜太多,不然與書籍有何區別。我們要保證的是每次做記錄都能所有收穫所有提升。

       上次中我們從總體上把握了下ORACLE系統結構,這次開始我們將涉及到ORACLE資料庫的具體方方面面了。本次就從模式對象入手。

       老規矩,先來兩個問題:

a)        什麼事模式

b)       為什麼需要

       搞清楚這兩個問題即可。

本人郵箱:appdevzw@163.com  

公眾號:HopToad

歡迎各界交流

 

1      模式schema

在學模式對象前,必須先講下使用者的概念。

我們知道在建立資料庫的時候會讓我輸入SYS使用者和SYSTEM使用者的密碼,這兩個使用者是系統管理員。這兩個賬戶由於權力很大,所以一般建立完資料庫後,都會自己再建立一些使用者,如:xiaoming,xiaohong,xiaogang等等。這些我們建立的就是使用者,那和模式是什麼關係呢?

模式的定義是這樣的,模式,schema,是指屬於特定使用者的資料庫物件集合。So,這個定義來看模式的定義是基於使用者之上的,沒有使用者就沒有模式之說。不過,很多ORACLE技術人員都會將使用者和模式替換,儘管他們是不同的事物。

       一般實際情況是這樣的,當我們部署資料庫應用的時候,要用到很多的對象,如表、索引、觸發器、約束等等,而這些對象最後是要歸屬給某個使用者的,比如xiaoming。那麼我們就擁有一個叫做xiaoming 的模式也叫schema. 模式是個邏輯結構。

       ORACLE在建立一個使用者的同時會建立一個同名的模式,所以schema和使用者是一一對應的。

       我們在訪問資料庫的時候有時候需要指定訪問那個schema,比如select * from scott.emp;

這個就是訪問scott模式中的emp表,如果不加scott,模式就是訪問使用者預設模式的schema了。

       這就是oracle的使用者和模式,user 和 schema.

       終於搞明白了什麼是schema,那我們來說說為什麼需要schema。

繼續往下走。

2      為什麼需要模式

很多事情我不光光要知道概念是什麼,也要知道為什麼需要它。這樣我們會記得更牢,併產生興趣,也會促使我們做出改變和創新。

       為什麼需要模式呢,我們知道使用者是要求輸入密碼才能登陸的,而模式和使用者是一一對應的,那麼對了,這個是處於安全考慮的。

       想想使用者小明有個表叫做工資,小紅也有個表叫做工資;他們的表各自屬於他們自己的schema. 如果小明沒有訪問小紅schema的許可權,那麼小明是不能看到小紅的工資表的,小紅也同理。此處我們需要知道訪問其他模式是需要許可權的。

       除了安全之外,還有一個方面就是整體管理方面。如果沒有schema,小紅有一個工資表,小明一個工資表,明天來了個小剛也一個工資表那不是亂套了麼。有個schema,那就方便了,小紅的工資表屬於小紅這個schema。(如果你說他們的工資表分別屬於他們各自的使用者啊,這樣辯也沒錯,不過你這個想法提煉一下不就是schema概念了嗎?)

       這篇筆記甚是舒服,下篇見。

相關文章

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.