理解什麼是資料字典
每個Oracle資料庫包括一個被稱為“中繼資料”的集合,或者說包含用來描述資料庫有關資料結構的資料。包含這些中繼資料的表和視圖稱為Oracle資料字典。
資料字典中有首碼V$或GV$的表是動態表,它們會不斷更新以反映出Oracle資料庫當前的狀態。待用資料字典表都有一個形如DBA_、ALL_或USER_的首碼,表示該視圖中列出的物件範圍。
資料庫組件 資料庫字典中的表和視圖
資料庫 V$DATABASE
資料表空間 DBA_TABLESPACE,DBA_DATA_FILES,
DBA_FREE_SPACE
控制檔案 V$CONTROLFILE,V$PARAMETER,
V$CONTROLFILE_RECORD_SECTION
資料檔案 V$DATAFILE,V$DATAFILE_HEADER,V$FILESTAT,
DBA_DATA_FILES
段 DBA_SEGMENTS
資料範圍 DBA_EXTENTS
日誌線程、日誌組和 V$THREAD,V$LOG,V$LOGFILE
記錄序號
歸檔狀態 V$DATABASE,V$LOG,V$ARCHIVED_LOG,
V$ARCHIVE_DEST
資料庫執行個體 V$INSTANCE,V$PARAMETER,
V$SYSTEM_PARAMETER
記憶體結構 V$SGA,V$SGASTAT,V$DB_OBJECT_CACHE,V$SQL,
V$SQLTEXT,V$SQLAREA
後台進程 V$BGPROCESS,V$SESSION
-----------------------------------------------------------------------------
資料字典就是一個用描述資料庫中表的欄位名,欄位長度,欄位說明等資訊的文擋;
--------------------------
資料詞典是對資料庫裡欄位的一種描述,說明
--------------------------
資料字典就是儲存資料庫中基本元素的一個集合!它可以儲存基本表的資料結構,預存程序,等等...
-------------------------
資料字典是一張表,記錄某些資料庫的資訊
-------------------------
每個編程環境都有兩個基本成分:程式邏輯—— 程式需要進行的工作說明—— 及資料。可以在程式內部,或者持久穩固地在外部以變數的方式臨時儲存資料,如檔案或者資料庫中。傳統的檔案結構需要開發員進行理解,然後描述檔案結構,以使程式可以適當地訪問,並且處理檔案的欄位或者記錄。但是,在Oracle關係型資料庫內部,整個資料庫結構(包括它的表、視圖、索引、使用者、安全規則等)儲存在一組特殊的表及視圖中,稱其為資料字典。
Oracle資料字典由特殊的使用者賬戶所擁有,稱其為SYS。SYS賬戶與Unix系統的根超級使用者是一樣的。通常開發員將永遠不需要與共用資料庫進行串連,作為特權賬戶。甚至不鼓勵資料庫管理員使用SYS賬戶進行任何工作,但是僅有很少的操作需要該等級的能力。如果您既是開發人員,又是DBA,或許在Oracle資料庫的個人複製上,需要理解當作為SYS進行串連的時候,進行互動工作的潛在危機。
另外一個關於Oracle資料字典的普通條目將它的表格儲存體在一些特殊的資料表空間(如SYSTEM以及SYSAUX)中。在這些特殊的資料表空間中,永遠不建立其他的應用程式資料庫對象。
Oracle資料字典的關鍵在於可以使用相同的SQL語言,在資料庫內部訪問應用程式的資料結構,對其進行訪問。通常,直接地訪問字典限於SELECT語句(永遠不針對字典對象發布INSERT、UPDATE或者DELETE語句)。通過特殊的SQL語句間接地修改資料字典,通常稱其為資料處理語言(DML)命令。DML語句,如CREATE TABLE、DROP INDEX、GRANT等,需要特殊的許可。它們通常由開發機構中的DBA來執行,該機構在DBA及開發人員之間進行責任分配。為了建立並且維護自己的資料庫環境,獨立地進行工作的學生或者開發人員將必須學習SLQ DML命令。
SQL Server中資料字典中的概念
資料字典分為兩種:
一位DBMS裡面的 向SQL 中的某些 sys表 裡面記錄著系統欄位的定義關係 觸發器 視圖 預存程序……
二為 使用者的資料字典 相當於在系統的上面進行加工 用與對使用者物件進行描述和管理等等
對資料庫中各種對象的資訊,如
dbo.syscolumns 記錄table中列、預存程序中的參數、index中的列
dbo.syscomments 記錄預存程序、視圖等的建立語句
dbo.sysdepends 記錄對象之間的依賴關係
dbo.sysfilegroups 記錄檔案組的資訊
dbo.sysfiles 記錄資料檔案的資訊
dbo.sysfiles1 。。。。。
dbo.sysforeignkeys 記錄外鍵的資訊
dbo.sysfulltextcatalogs 記錄全文索引的資訊
dbo.sysfulltextnotify 。。。。。
dbo.sysindexes 記錄索引和相關table的資訊
dbo.sysindexkeys 。。。。。
dbo.sysmembers 。。。。。
dbo.sysobjects 記錄所有資料庫物件
dbo.syspermissions
dbo.sysproperties
dbo.sysprotects
dbo.sysreferences
dbo.systypes 記錄資料庫中所有資料類型的資訊
dbo.sysusers 記錄資料庫中所有使用者的資訊