享受老公帶給我的依靠、孩子帶給我的快樂、家庭帶給我的溫馨、學習帶給我的充實……
DBMS的主要功能和組成部分
上一篇 /
下一篇 2008-05-09 11:28:06
1.數據庫的定義功能。DBMS提供DDL定義數據庫的結構、包括外模式、內模式及其相互之間的映象,定義數據的完整性約束、保密限制等約束條件。定義工作是由DBA完成的。因此在DBMS中包括DDL的編譯程序,它把用DDL編寫的各種源模式編譯成相應的目標模式。這些目標模式是對數據庫的描述,而不是數據本身,它們是數據庫的框架(即結構),并被保存在數據字典中,供以后進行數據操縱或數據控制時查閱使用。
2.數據庫操縱功能。DBMS提供DML實現對數據庫的操作;镜臄祿僮饔兴姆N:檢索、插入、刪除和修改。DML有兩類,一類是嵌入在宿主語言中使用,例如嵌入在COBOL、FORTRAN、C等高級語言中,這類DML稱為宿主型DML。另一類是可以獨立性交互使用的DML,稱為自主型或自含型DML。因而DBMS中必須包括DML的編譯程序或解釋程序。
3.數據庫運行控制功能。DBMS對數據庫的控制主要通過四個方面實現:數據安全性控制數據完整性控制、多用戶環境下的并發控制和數據庫的恢復。
(a)數據庫安全性的控制是對數據庫的一種保護。它的作用是防止被未授權的用戶存取數據庫中的數據。要想使用數據的用戶,首先必須向DBMS標識自己,然后系統確定他是否可以對指定的數據進行存取。防止被未授權的用戶蓄謀或無意地修改數據是很重要的,否則會導致數據完整性的破壞,從而使企業蒙受巨大的損失。
(b)數據完整性控制是DBMS對數據庫提供保護的另一個重要方面。完整性是數據的準確性和一致性的測度。當數據加入到數據庫時,對數據的合法性和一致性的檢驗將會提高數據的完整性程度。完整性控制的目的保持進入數據庫中的存儲數據的語義的正確性和有效性,防止任何操作對數據造成違反其語義的改變。因此,DBMS都允許對數據庫中各類數據定義若干語義完整性約束,由DBMS強制實行。
(c)并發控制是DBMS的第三類控制機制。數據庫技術的一個優點是數據的共享性。但多應用程序同時對數據庫進行操作可能會破壞數據的正確性:或者在數據庫內存儲了錯誤的數據,或者用戶讀取了不正確的數據(稱為臟數據)。并發控制機構能防止上述情況發生,正確處理好多用戶、多任務環境下的并發操作。
(d)數據庫的恢復機構是保護數據庫的又一個重要方面。在數據庫建立后運行中要不斷地對數據庫進行操作,就可能會出現各種故障,例如停電、軟硬件各種錯誤、人為破壞等,從而導致數據庫損壞,或者數據不正確了。此時DBMS的恢復機構就有能力把數據庫從被破壞的、不正確的狀態,恢復至以前某個正確的狀態。為了保證恢復工作的正常進行,系統要經常為數據庫建立若干備份副本(一般放在磁帶上)。
DBMS的其它控制功能還有系統緩沖區的管理以及數據存儲的某些自適應調節機制等。
(4)數據庫的維護功能。這一部分包括數據庫的初始數據的載入、轉換功能、數據庫的轉儲功能、數據庫的重組織功能和性質監視、分析功能等。這些功能大都由各個實用程序來完成。例如裝配程序(裝配數據庫)、重組程序(重新組織數據庫)、日志程序(用于更新操作和數據庫的恢復)、統計分析程序等。
(5)數據字典(Data Dictionary,記為DD)。DD中存放著數據庫三級結構的描述。對于數據庫的操作都要通過查閱DD進行,F在有的大型系統中,把DD單獨抽出來自成一個系統,成為一個軟件工具,使得DD成為一個比DBMS更高級的用戶和數據庫之間的接口。
上面是一般的DBMS所具備的功能。通常在大、中型機上實現的DBMS功能較強、較全,在微機上實現的DBMS功能較弱。
還應指出,用宿主語言編寫的應用程序并不屬于DBMS的范圍。應用程序是用主語言和DML編寫的。程序中的DML語句是由DBMS解釋執行的,而其余部分仍由主語言編譯系統去編譯。
為了進一步加深了解DBMS的功能,我們考察一個應用程序A如何通過DBMS讀取數據庫中的一個記錄的全過程(圖1.8)。在應用程序A運行時,DBMS開辟一個數據庫的系統緩沖區,用于輸入輸出數據。外模式、模式、內模式的定義存放在數據字典中。
(1) 用戶在其應用程序中安排一條讀記錄的DML語句。該語句給出被涉及的外模式中記錄類型名及欲讀記錄的關鍵碼值。當計算機執行該DML語句時,立即啟動DBMS,并向DBMS發出讀記錄的命令。
(2)DBMS接到命令后,首先訪問該用戶對應的外模式,檢查該操作是否在合法授權范圍內,若不合法則拒絕執行并向應用程序狀態返回區發出不成功的狀態信息;若合法則執行下一步。
(3)DBMS讀取相應的模式描述,并從外模式映象到模式,也就是把外模式的外部記錄格式映象到概念模式的概念記錄格式,決定概念模式應讀入哪些記錄。
(4)DBMS調用相應的內模式描述,并從把概念模式映象到內模式,即把概念模式的概念記錄格式映象到內模式的內部記錄格式,確定應讀入哪些物理記錄以及具體的地址信息。
(5)DBMS向操作系統(OS)發出從指定地址讀物理記錄的命令。
(6)DBMS操作系統執行讀命令,按指定地址從數據庫中把記錄讀入數據庫的系統緩沖區,并在操作結束后向DBMS作出回答。
(7)DBMS收到OS讀操作結束的回答后,參照模式,將讀入系統緩沖區中的內容變換成概念記錄,再參照外模式,變換成用戶要求讀取的外部記錄。
(8)DBMS所導出的外部記錄從系統緩沖區送到應用程序A的“程序工作區”中。
(9)DBMS向運行日志數據庫發出讀一條記錄的信息。以備以后查詢使用數據庫的情況。
(10)DBMS將操作執行成功與否的狀態信息返回給用戶。 (11)DBMS應用程序根據返回的狀態信息決定是否使用工作區中的數據。
如果用戶需修改一個記錄內容,其過程與此類似。這時首先讀出目標記錄,并在用戶工作區中用主語言的語句進行修改,然后向DBMS發出寫回修改記錄的命令。DBMS在系統緩沖區進行必要的轉換(轉換的過程與讀數據時相反)后向操作系統發出寫命令,即可達到修改數據的目的。
相關閱讀:
- 功能點分析方法在軟件需求管理中的應用 (seanhe, 2008-5-08)
- 數據庫相關:SQL Server數據庫維度表和事實表概述 (小小眼, 2008-5-08)
- 數據庫基礎:如何查看并導出數據表中字段的注釋信息 (小小眼, 2008-5-08)
- 數據庫相關:全面解析關系數據模型存在的不足之處 (小小眼, 2008-5-08)
- 帶你輕松接觸數據庫命名規范的相關概念 (IT新貴, 2008-5-08)
- 在Informix數據庫中釋放異常的鎖資源 (IT新貴, 2008-5-08)
- 數據庫相關:Microsoft SQL Server數據庫日志截斷 (limin, 2008-5-08)
- 數據庫基礎:存儲過程中如何執行帶輸出參數的動態SQL (limin, 2008-5-08)
- 數據庫進階:優化SQl語句的十個重要步驟 (limin, 2008-5-08)
- J2EE綜合--業務邏輯和數據庫訪問決策 (wangxin8279, 2008-5-09)
導入論壇
引用鏈接
收藏
分享給好友
推薦到圈子
管理
舉報
TAG:
DBMS
功能
數據庫
組成部分