[oracle] Data Dictionary


Data Dictionary

Data Dictionary是由Oracle Server創建和維護。
它是Oracle Database 的核心,也是User的重要工具。
可使用SQL查詢Data Dictionary,只能讀取不能做其他動作(READ ONLY)。

Data Dictionary可查詢資訊如下:
  • 資料庫中定義的object
    (例如:tables, views, indexes(索引), synonyms,sequences(序列), procedures(程序), functions(函式), packages, triggers(觸發器)...等)
  • 欄位的預設值
  • 完整的constraint資訊
  • Oracle的使用者(user)名稱
  • 每個用戶的權限(privileges)和角色(roles)
  • 其他一般資料庫資訊

---------------------------------------------------------------------


Data Dictionary的結構分為兩部分:


1.Base Table

Base Table儲存有關資料庫的資訊。
只有Oracle server會寫入或讀取這些表,使用者很少會直接使用base Table。



2.User-accessible views

User-accessible views可以顯示base table的數據資訊,大多數的使用者都是訪問view而不是base table。




*Oracle有一個預設的user SYS,

SYS擁有所有Data Dictionary的base table和User-accessible views,

我們不該更改(UPDATE, DELETE, INSERT),

因為這樣的動作可能會危及data的完整性。



---------------------------------------------------------------------



要熟悉Data Dictionary,可以查看Data Dictionary裡的view DICTIONARY


VIEW名稱:DICTIONARY


VIEW描述:查看Data Dictionary 所有有權利訪問的VIEW的名稱(TABLE_NAME)、簡短描述(COMMENTS)。



SQL>
SELECT *
FROM DICTIONARY


NAME       Type

--------------------------------

TABLE_NAME    VARCHAR2(30)

COMMENTS     VARCHAR2(30)






















留言