1. 程式人生 > >SQL使用總結三(系統目錄)

SQL使用總結三(系統目錄)

系統目錄是一些表和檢視的集合,它們包含了關於資料庫的資訊。每個資料庫都有系統目錄,其中定義了資料庫的結構,還有資料庫所包含資料的資訊。舉例來說,用於資料庫裡所有表的資料目錄語言(DDL)就儲存在系統目錄裡。

在具體實現裡,系統目錄的內容會被劃分為物件的邏輯組,以表的形式供資料庫管理員(DBA)和其他資料庫使用者訪問。

系統目錄或者是在資料庫建立時自動建立的,或是有DBA在資料庫建立之後立即建立的。舉例來說,在Oracle裡,系統目錄的所有者是一個名為SYS的使用者,它對資料庫具有完全的許可權。在Microsoft SQL Server裡, SQL服務程式的系統目錄位於master資料庫裡。在MySQL裡,系統目錄位於mysql資料庫裡。

系統目錄包含的內容有:

  • 使用者賬戶和預設設定;
  • 許可權和其他安全資訊;
  • 效能統計;
  • 物件大小估計;
  • 物件變化;
  • 表結構和儲存;
  • 索引結構和儲存;
  • 資料庫其他物件的資訊,比如檢視、異名、觸發器和儲存過程;
  • 表約束和應用完整性資訊;
  • 使用者會話;
  • 審計資訊;
  • 內部資料庫設定;
  • 資料庫檔案的位置。

 

不同實現裡的系統目錄表格

產品

表格名稱

內容

SQL Server

SYSUSERS

資料庫使用者

SYS.DATABASES

全部資料庫片斷

SYS.DATABASE_PERMISSIONS

全部資料庫許可權

SYS.DATABASE_FILES

全部資料庫檔案

SYSINDEXES

全部索引

SYSCONSTRAINTS

全部約束

SYS.TABLES

全部資料庫表

SYS.VIEWS

全部資料庫檢視

Oracle

ALL_TABLES

使用者訪問的表

USER_TABLES

使用者擁有的表

DBA_TABLES

資料庫裡全部表

DBA_SEGMENTS

片斷儲存

DBA_INDEXES

全部索引

DBA_USERS

資料庫裡的全部使用者

DBA_ROLE_PRIVS

分配的角色

DBA_ROLES

資料庫裡的角色

DBA_SYS_PRIVS

分配的系統許可權

DBA_FREE_SPACE

資料庫剩餘空間

V$DATABASE

資料庫的建立

V$SESSION

當前會話

MySQL

COLUMNS_PRIV

欄位許可權

DB

資料庫許可權

FUNC

自定義函式的管理

HOST

與MySQL相關聯的主機名稱

TABLES_PRIV

表許可權

USER

表關係

 

警告:不要手動修改系統目錄中的表