當前位置:成語大全網 - 新華字典 - 數據字典的分類

數據字典的分類

數據字典在需求分析階段被建立。

數據字典是壹個預留空間,壹個數據庫,這是用來儲存信息數據庫本身。

數據字典可能包含的信息,例如:

數據庫設計資料

儲存的SQL程序

用戶權限

用戶統計

數據庫的過程中的信息

數據庫增長統計

數據庫性能統計

數據字典則是系統中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。

數據字典通常包括數據項\數據結構\數據流\數據存儲和處理過程五個部分。

其中數據項是數據的最小組成單位若幹個數據項可以組成壹個數據結構數據字典通過對數據項和數據結構的 定義來描述數據流、數據存儲的邏輯內容。

數據字典是關於數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合.

數據字典還有另壹種含義,是在數據庫設計時用到的壹種工具,用來描述數據庫中基本表的設計,主要包括字段名、數據類型、主鍵、外鍵等描述表的屬性的內容。

以Oracle數據庫字典為例:數據字典分為數據字典表和數據字典視圖

Oracle數據庫字典通常是在創建和安裝數據庫時被創建的,Oracle數據字典是Oracle數據庫系統工作的基礎,沒有數據字典的支持,Oracle數據庫系統就不能進行任何工作。數據字典中的表是不能直接被訪問的,但是可以訪問數據字典中的視圖。

數據字典表裏的數據是Oracle系統存放的系統數據,而普通表存放的是用戶的數據。為了方便的區別這些表,這些表的名字都是用$結尾,這些表屬於SYS用戶。

數據字典表由$ORACLE_HOME/rdbms/admin/sql.bsq 腳本創建, 這個腳本裏又調用了其他的腳本來創建這些數據字典表。 在那些創建腳本裏有基表的創建SQL。

Oracle 對數據字典表的說明:

These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.

這些數據字典表,只有Oracle 能夠進行讀寫。

SYS用戶下的這些數據字典表,存放在system 表空間下面,表名都用$結尾,為了便於用戶對數據字典表的查詢, Oracle對這些數據字典都分別建立了用戶視圖,這樣即容易記住,還隱藏了數據字典表表之間的關系,Oracle針對這些對象的範圍,分別把視圖命名為DBA_XXXX, ALL_XXXX和USER_XXXX。

數據字典視圖分2類:靜態數據字典(靜態性能視圖) 和 動態數據字典(動態性能視圖)。

靜態數據字典中的視圖分為三類,它們分別由三個前綴構成:user_*、 all_*、 dba_*。

user_*:該視圖存儲了關於當前用戶所擁有的對象的信息。(即所有在該用戶模式下的對象)

all_*:該試圖存儲了當前用戶能夠訪問的對象的信息, 而不是當前用戶擁有的對象。(與user_*相比,all_* 並不需要擁有該對象,只需要具有訪問該對象的權限即可)

dba_*:該視圖存儲了數據庫中所有對象的信息。(前提是當前用戶具有訪問這些數據庫的權限,壹般來說必須具有管理員權限)

這些視圖由SYS用戶創建的,所以使用需要加上SYS,為了方便, Oracle為每個數據字典表的視圖頭建立了同名字的公***同義詞(public synonyms). 這樣簡單的處理就省去了寫sys.的麻煩。

除了靜態數據字典中三類視圖,其他的字典視圖中主要的是V$視圖,之所以這樣叫是因為他們都是以V$或GV$開頭的。這些視圖會不斷的進行更新,從而提供了關於內存和磁盤的運行情況,所以我們只能對其進行只讀訪問而不能修改它們。

Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are calleddynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes calledV$ views。

V$視圖是基於X$虛擬視圖的。V$視圖是SYS用戶所擁有的,在缺省狀況下,只有SYS用戶和擁有DBA系統權限的用戶可以看到所有的視圖,沒有DBA權限的用戶可以看到USER_和ALL_視圖,但不能看到DBA_視圖。與DBA_,ALL,和USER_視圖中面向數據庫信息相反,這些視圖可視的給出了面向實例的信息。

動態性能表用於記錄當前數據庫的活動,只存於數據庫運行期間,實際的信息都取自內存和控制文件。 DBA可以使用動態視圖來監視和調節數據。