[Oracle]Data Dictionary

Una
2 min readApr 29, 2019

--

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)

--

--

Una
Una

Written by Una

Hello. This is my code note.

No responses yet