每個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
-----------------------------------------------------------------------------
數據字典就是一個用描述數據庫中表的字段名,字段長度,字段說明等信息的文擋;
--------------------------
數據詞典是對數據庫里字段的一種描述,說明
--------------------------
數據字典就是存儲數據庫中基本元素的一個集合!它可以存儲基本表的數據結構,存儲過程,等等...
-------------------------
數據字典是一張表,記錄某些數據庫的信息
-------------------------
數據字典都包括些什么東西?格式怎么樣子的?
最好能給個實例 問題點數:20、回復次數:4Top
1 樓summerICEREDTEA(從基礎學起)回復于 2005-07-08 14:54:29 得分 5
use northwind
go
select name from sysobjects where xtype = 'u'Top
2 樓phantomMan()回復于 2005-07-08 17:26:53 得分 5
數據字典 (data dictionary)
存儲在目錄中的一組系統表,包括數據庫結構和相關信息的定義(如權限)。
數據字典分為兩種:
一位DBMS里面的 向SQL 中的某些 sys表 里面記錄著系統字段的定義關系 觸發器 視圖 存儲過程……
二為 用戶的數據字典 相當于在系統的上面進行加工 用與對用戶對象進行描述和管理等等
Top
3 樓bugchen888(臭蟲)回復于 2005-07-08 18:31:58 得分 5
對數據庫中各種對象的信息,如
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 記錄數據庫中所有用戶的信息Top
4 樓bugchen888(臭蟲)回復于 2005-07-08 18:34:45 得分 5
詳細的格式和含義可以看幫助文件中的:T-SQL參考----系統表
如:
syscolumns
每個表和視圖中的每列在表中占一行,存儲過程中的每個參數在表中也占一行。該表位于每個數據庫中。
Oracle 高級編程
實際上,您希望知道的關于Oracle數據庫的各種信息都可以通過參考數據字典而得到。本章從概念的角度思考數據字典,然后,再研究其結構及內容。最后,通過討論當在Oracle環境中進行編程的時候,您是否可以利用數據字典作為結束。
如果已經使用了另外的關系型數據庫管理系統,您或許會發現對數據字典概念性的描述已經非常熟悉了。換而言之,如果在編程過程中,始終帶有文件系統,我們希望您會發現概念性的討論是新的,并且是很有啟發的。
6.1 數據字典的概念
每個編程環境都有兩個基本成分:程序邏輯—— 程序需要進行的工作說明—— 及數據。可以在程序內部,或者持久穩固地在外部以變量的方式臨時保存數據,如文件或者數據庫中。傳統的文件結構需要開發員進行理解,然后描述文件結構,以使程序可以適當地訪問,并且處理文件的字段或者記錄。但是,在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命令。
posted on 2007-10-11 23:19
譚明 閱讀(1222)
評論(0) 編輯 收藏 所屬分類:
Oracle