『壹』 數據字典的分類
數據字典在需求分析階段被建立。
數據字典是一個預留空間,一個資料庫,這是用來儲存信息資料庫本身。
數據字典可能包含的信息,例如:
資料庫設計資料
儲存的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可以使用動態視圖來監視和調節數據。
『貳』 數據字典的組成
數據字典的組成:
1、數據項
2、數據結構
3、數據流
4、數據存儲
5、處理過程
數據字典
數據字典是資料庫的重要組成部分。它存放有資料庫所用的有關信息,對用戶來說是一組只讀的表。數據字典內容包括:
1、資料庫中所有模式對象的信息,如表、視圖、簇、及索引等。
2、分配多少空間,當前使用了多少空間等。
3、列的預設值。
4、約束信息的完整性。
5、用戶的名字。
6、用戶及角色被授予的許可權。
7、用戶訪問或使用的審計信息。
8、其它產生的資料庫信息。
資料庫數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中。
資料庫數據字典不僅是每個資料庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問資料庫數據字典。
關於數據的信息集合,是一種用戶可以訪問的記錄資料庫和應用程序元數據的目錄,是對資料庫內表信息的物理與邏輯的說明
『叄』 數據字典有哪些類型
數據字典中有四種類型的條目:數據流,數據存儲,數據項和加工。
數據字典中包括數據定義,但除了它之外,還包含其它一些信息:
一般信息,包括名字,別名和描述;
數據定義,包括數據類型,數據長度和結構組成;
數據的使用特點,包含數據的取值范圍,使用頻率和使用方式;
數據的控制信息,包括數據來源,用戶,使用它的程序和改變權。