數(shù)據(jù)庫管理系統(tǒng)通常由以下三部分組成:
第一,數(shù)據(jù)描述語言(Data Description Language,簡稱DDL)。為了對數(shù)據(jù)庫中的數(shù)據(jù)進行存取,必須正確地描述數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系,DBMS根據(jù)這些數(shù)據(jù)定義從物理記錄導(dǎo)出全局邏輯記錄,從而導(dǎo)出應(yīng)用程序所需的記錄。DBMS提供數(shù)據(jù)描述語言以完成這些描述工作。
第二,數(shù)據(jù)操縱語言(Data Manipulation Language,簡稱DML)。DML是DBMS中提供應(yīng)用程序員存儲、檢索、修改、刪除數(shù)據(jù)庫中數(shù)據(jù)的工具,又稱數(shù)據(jù)子語言(DSL)。DML有兩種基本類型:過程化DML和非過程化DML。過程化DML不僅要求用戶指出所需的數(shù)據(jù)是什么,還要指出如何存取這些數(shù)據(jù);非過程化DML只要求用戶指出所需的數(shù)據(jù)而不必指出存取這些數(shù)據(jù)的過程。
第三,數(shù)據(jù)庫例行程序。從程序的角度看,DBMS是由許多程序組成的一個軟件系統(tǒng),每個程序都有自己的功能,他們互相配合完成DBMS的工作,這些程序就是數(shù)據(jù)庫管理例行程序。在DBMS中,這些程序主要有以下三種:語言處理程序,系統(tǒng)運行控制程序,日常管理和服務(wù)性程序。
有兩種功能使數(shù)據(jù)庫管理系統(tǒng)區(qū)別于其他設(shè)計系統(tǒng):
1)管理固有數(shù)據(jù)的能力,以及
2)高效訪問大量數(shù)據(jù)的能力。
第一點只是表明現(xiàn)有一個固定存在的數(shù)據(jù)庫;而這個數(shù)據(jù)庫的內(nèi)容也就是 DBMS 所要 訪問和管理的那些數(shù)據(jù)。第二點將 DBMS 和同樣能管理固有數(shù)據(jù)的文件系統(tǒng)區(qū)分開來。通 常在數(shù)據(jù)量非常大的時候才需要用到 DBMS 系統(tǒng)的功能,因為對于小量數(shù)據(jù)而言,簡單的 訪問技術(shù)(如對數(shù)據(jù)的線性掃描)就足夠了。
雖然我們將以上兩點作為 DBMS 的基本特性,但是其他一些功能也是在商業(yè) DBMS 系 統(tǒng)中常見的,它們是:
·支持至少一種用戶可以據(jù)之瀏覽數(shù)據(jù)的數(shù)據(jù)模式或數(shù)學(xué)提取方式。
·支持某種允許用戶用來定義數(shù)據(jù)的結(jié)構(gòu)、訪問和操縱數(shù)據(jù)的高級語言。
·事務(wù)管理,即對多個用戶提供正確、同時訪問數(shù)據(jù)庫的能力。
·訪問控制,即限制未被授權(quán)用戶對數(shù)據(jù)的訪問能力,以及檢測數(shù)據(jù)有效性的能力。
·恢復(fù)功能,即能夠從系統(tǒng)錯誤中恢復(fù)過來而不丟失數(shù)據(jù)的能力。
數(shù)據(jù)模型