數據字典

數據字典

數據字典它存放有資料庫所用的有關信息,對用戶來說是一組唯讀的表。數據字典內容包括:資料庫中所有模式對象的信息,如表、視圖、簇、及索引等。數據字典(Data dictionary)是一種用戶可以訪問的記錄資料庫和應用程式源數據的目錄。主動數據字典是指在對資料庫或應用程式結構進行修改時,其內容可以由DBMS自動更新的數據字典。被動數據字典是指修改時必須手工更新其內容的數據字典。資料庫數據字典不僅是每個資料庫的中心,而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問資料庫數據字典。

基本信息

定義

數據字典數據字典
數據字典在需求分析階段被建立。
數據字典是一個預留空間,一個資料庫,這是用來儲存信息資料庫本身。
數據字典可能包含的信息,例如:
資料庫設計資料
儲存的SQL程式
用戶許可權
用戶統計
資料庫的過程中的信息
資料庫增長統計
資料庫性能統計
數據字典則是系統中各類數據描述的集合,是進行詳細的數據收集和數據分析所獲得的主要成果。
數據字典通常包括數據項\數據結構\數據流\數據存儲和處理過程五個部分。
其中數據項是數據的最小組成單位若干個數據項可以組成一個數據結構數據字典通過對數據項和數據結構的定義來描述數據流、數據存儲的邏輯內容。
數據字典是關於數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合.
數據字典還有另一種含義,是在資料庫設計時用到的一種工具,用來描述資料庫中基本表的設計,主要包括欄位名、數據類型、主鍵、外鍵等描述表的屬性的內容。

作用

數據字典最重要的作用是作為分析階段的工具。任何字典最重要的用途都是供人查詢對不了解的條目的解釋,在結構化分析中,數據字典的作用是給數據流圖上每個成分加以定義和說明。換句話說,數據流圖上所有的成分的定義和解釋的文字集合就是數據字典,而且在數據字典中建立的一組嚴密一致的定義很有助於改進分析員和用戶的通信。

組成

數據字典的組成:
1、數據項
2、數據結構
3、數據流
4、數據存儲
5、處理過程
數據字典
數據字典是資料庫的重要組成部分。它存放有資料庫所用的有關信息,對用戶來說是一組唯讀的表。數據字典內容包括:
1、資料庫中所有模式對象的信息,如表、視圖、簇、及索引等。
2、分配多少空間,當前使用了多少空間等。
3、列的預設值。
4、約束信息的完整性。
5、用戶的名字。
6、用戶及角色被授予的許可權。
7、用戶訪問或使用的審計信息。
8、其它產生的資料庫信息。
資料庫數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中。
資料庫數據字典不僅是每個資料庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問資料庫數據字典。
關於數據的信息集合,是一種用戶可以訪問的記錄資料庫和應用程式元數據的目錄,是對資料庫內表信息的物理與邏輯的說明

描述

數據字典各部分的描述
①數據項:數據流圖中數據塊的數據結構中的數據項說明
數據項是不可再分的數據單位。對數據項的描述通常包括以下內容:
數據項描述={數據項名,數據項含義說明,別名,數據類型,長度,
取值範圍,取值含義,與其他數據項的邏輯關係}
其中“取值範圍”、“與其他數據項的邏輯關係”定義了數據的完整性約束條件,是設計數據檢驗功能的依據。
若干個數據項可以組成一個數據結構。
②數據結構:數據流圖中數據塊的數據結構說明
數據結構反映了數據之間的組合關係。一個數據結構可以由若干個數據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構混合組成。對數據結構的描述通常包括以下內容:
數據結構描述={數據結構名,含義說明,組成:{數據項或數據結構}}
③數據流:數據流圖中流線的說明
數據流是數據結構在系統內傳輸的路徑。對數據流的描述通常包括以下內容:
數據流描述={數據流名,說明,數據流來源,數據流去向,組成:{數據結構},平均流量,高峰期流量}
其中“數據流來源”是說明該數據流來自哪個過程,即數據的來源。“數據流去向”是說明該數據流將到哪個過程去,即數據的去向。“平均流量”是指在單位時間(每天、每周、每月等)里的傳輸次數。“高峰期流量”則是指在高峰時期的數據流量。
④數據存儲:數據流圖中數據塊的存儲特性說明
數據存儲是數據結構停留或保存的地方,也是數據流的來源和去向之一。對數據存儲的描述通常包括以下內容:
數據存儲描述={數據存儲名,說明,編號,流入的數據流,流出的數據流,組成:{數據結構},數據量,存取方式}
其中“數據量”是指每次存取多少數據,每天(或每小時、每周等)存取幾次等信息。“存取方法”包括是批處理,還是在線上處理;是檢索還是更新;是順序檢索還是隨機檢索等。
另外“流入的數據流”要指出其來源,“流出的數據流”要指出其去向。
⑤處理過程:數據流圖中功能塊的說明
數據字典中只需要描述處理過程的說明性信息,通常包括以下內容:
處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},處理:{簡要說明}}
其中“簡要說明”中主要說明該處理過程的功能及處理要求。功能是指該處理過程用來做什麼(而不是怎么做);處理要求包括處理頻度要求,如單位時間裡處理多少事務,多少數據量,回響時間要求等,這些處理要求是後面物理設計的輸入及性能評價的標準。

分類

數據字典數據字典
數據字典數據字典
以Oracle資料庫字典為例:數據字典分為數據字典表和數據字典視圖
Oracle資料庫字典通常是在創建和安裝資料庫時被創建的,Oracle數據字典是Oracle資料庫系統工作的基礎,沒有數據字典的支持,Oracle資料庫系統就不能進行任何工作。數據字典中的表是不能直接被訪問的,但是可以訪問數據字典中的視圖。
數據字典表里的數據是Oracle系統存放的系統數據,而普通表存放的是用戶的數據。為了方便的區別這些表,這些表的名字都是用"$"結尾,這些表屬於SYS用戶。
數據字典表由$ORACLE_HOME/rdbms/admin/sql.bsq腳本創建,
這個腳本里又調用了其他的腳本來創建這些數據字典表。在那些創建腳本里有基表的創建SQL。
Oracle對數據字典表的說明:
Theseunderlyingtablesstoreinformationaboutthedatabase.
OnlyOracleDatabaseshouldwritetoandreadthesetables.Usersrarelyaccess
thebasetablesdirectlybecausetheyarenormalizedandmostdataisstoredin
acrypticformat.
這些數據字典表,只有Oracle能夠進行讀寫。
SYS用戶下的這些數據字典表,存放在system表空間下面,表名都用"$"結尾,為了便於用戶對數據字典表的查詢,
Oracle對這些數據字典都分別建立了用戶視圖,這樣即容易記住,還隱藏了數據字典表表之間的關係,Oracle針對這些對象的範圍,分別把視圖命名為DBA_XXXX,
ALL_XXXX和USER_XXXX。
數據字典視圖分2類:靜態數據字典(靜態性能視圖)和動態數據字典(動態性能視圖)。
靜態數據字典中的視圖分為三類,它們分別由三個前綴夠成:user_*、all_*、dba_*。
user_*:該視圖存儲了關於當前用戶所擁有的對象的信息。(即所有在該用戶模式下的對象)
all_*:該試圖存儲了當前用戶能夠訪問的對象的信息,而不是當前用戶擁有的對象。(與user_*相比,all_*
並不需要擁有該對象,只需要具有訪問該對象的許可權即可)
dba_*:該視圖存儲了資料庫中所有對象的信息。(前提是當前用戶具有訪問這些資料庫的許可權,一般來說必須具有管理員許可權)
這些視圖由SYS用戶創建的,所以使用需要加上SYS,為了方便,
Oracle為每個數據字典表的視圖頭建立了同名字的公共同義詞(publicsynonyms).這樣簡單的處理就省去了寫sys.的麻煩。
除了靜態數據字典中三類視圖,其他的字典視圖中主要的是V$視圖,之所以這樣叫是因為他們都是以V$或GV$開頭的。這些視圖會不斷的進行更新,從而提供了關於記憶體和磁碟的運行情況,所以我們只能對其進行唯讀訪問而不能修改它們。
Throughoutitsoperation,OracleDatabasemaintainsasetof
virtualtablesthatrecordcurrentdatabaseactivity.Theseviewsare
calleddynamicperformanceviewsbecausetheyarecontinuouslyupdatedwhilea
databaseisopenandinuse.Theviews,alsosometimescalledV$views。
V$視圖是基於X$虛擬視圖的。V$視圖是SYS用戶所擁有的,在預設狀況下,只有SYS用戶和擁有DBA系統許可權的用戶可以看到所有的視圖,沒有DBA許可權的用戶可以看到USER_和ALL_視圖,但不能看到DBA_視圖。與DBA_,ALL,和USER_視圖中面向資料庫信息相反,這些視圖可視的給出了面向實例的信息。
動態性能表用於記錄當前資料庫的活動,只存於資料庫運行期間,實際的信息都取自記憶體和控制檔案。
DBA可以使用動態視圖來監視和調節數據。

相關詞條

相關搜尋

熱門詞條

聯絡我們