首頁 > 專家說

數(shù)據(jù)庫DBMS的主要組成部分是什么?各部分的主要功能是什么

來源:新能源網(wǎng)
時間:2024-08-17 11:57:10
熱度:

數(shù)據(jù)庫DBMS的主要組成部分是什么?各部分的主要功能是什么【專家解說】:1.數(shù)據(jù)庫的定義功能。DBMS提供DDL定義數(shù)據(jù)庫的結(jié)構(gòu)、包括外模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完

【專家解說】:1.數(shù)據(jù)庫的定義功能。DBMS提供DDL定義數(shù)據(jù)庫的結(jié)構(gòu)、包括外模式、內(nèi)模式及其相互之間的映象,定義數(shù)據(jù)的完整性約束、保密限制等約束條件。定義工作是由DBA完成的。因此在DBMS中包括DDL的編譯程序,它把用DDL編寫的各種源模式編譯成相應(yīng)的目標(biāo)模式。這些目標(biāo)模式是對數(shù)據(jù)庫的描述,而不是數(shù)據(jù)本身,它們是數(shù)據(jù)庫的框架(即結(jié)構(gòu)),并被保存在數(shù)據(jù)字典中,供以后進(jìn)行數(shù)據(jù)操縱或數(shù)據(jù)控制時查閱使用。    2.數(shù)據(jù)庫操縱功能。DBMS提供DML實現(xiàn)對數(shù)據(jù)庫的操作。基本的數(shù)據(jù)操作有四種:檢索、插入、刪除和修改。DML有兩類,一類是嵌入在宿主語言中使用,例如嵌入在COBOL、FORTRAN、C等高級語言中,這類DML稱為宿主型DML。另一類是可以獨立性交互使用的DML,稱為自主型或自含型DML。因而DBMS中必須包括DML的編譯程序或解釋程序。   3.數(shù)據(jù)庫運(yùn)行控制功能。DBMS對數(shù)據(jù)庫的控制主要通過四個方面實現(xiàn):數(shù)據(jù)安全性控制數(shù)據(jù)完整性控制、多用戶環(huán)境下的并發(fā)控制和數(shù)據(jù)庫的恢復(fù)。    (a)數(shù)據(jù)庫安全性的控制是對數(shù)據(jù)庫的一種保護(hù)。它的作用是防止被未授權(quán)的用戶存取數(shù)據(jù)庫中的數(shù)據(jù)。要想使用數(shù)據(jù)的用戶,首先必須向DBMS標(biāo)識自己,然后系統(tǒng)確定他是否可以對指定的數(shù)據(jù)進(jìn)行存取。防止被未授權(quán)的用戶蓄謀或無意地修改數(shù)據(jù)是很重要的,否則會導(dǎo)致數(shù)據(jù)完整性的破壞,從而使企業(yè)蒙受巨大的損失。   (b)數(shù)據(jù)完整性控制是DBMS對數(shù)據(jù)庫提供保護(hù)的另一個重要方面。完整性是數(shù)據(jù)的準(zhǔn)確性和一致性的測度。當(dāng)數(shù)據(jù)加入到數(shù)據(jù)庫時,對數(shù)據(jù)的合法性和一致性的檢驗將會提高數(shù)據(jù)的完整性程度。完整性控制的目的保持進(jìn)入數(shù)據(jù)庫中的存儲數(shù)據(jù)的語義的正確性和有效性,防止任何操作對數(shù)據(jù)造成違反其語義的改變。因此,DBMS都允許對數(shù)據(jù)庫中各類數(shù)據(jù)定義若干語義完整性約束,由DBMS強(qiáng)制實行。   (c)并發(fā)控制是DBMS的第三類控制機(jī)制。數(shù)據(jù)庫技術(shù)的一個優(yōu)點是數(shù)據(jù)的共享性。但多應(yīng)用程序同時對數(shù)據(jù)庫進(jìn)行操作可能會破壞數(shù)據(jù)的正確性:或者在數(shù)據(jù)庫內(nèi)存儲了錯誤的數(shù)據(jù),或者用戶讀取了不正確的數(shù)據(jù)(稱為臟數(shù)據(jù))。并發(fā)控制機(jī)構(gòu)能防止上述情況發(fā)生,正確處理好多用戶、多任務(wù)環(huán)境下的并發(fā)操作。   (d)數(shù)據(jù)庫的恢復(fù)機(jī)構(gòu)是保護(hù)數(shù)據(jù)庫的又一個重要方面。在數(shù)據(jù)庫建立后運(yùn)行中要不斷地對數(shù)據(jù)庫進(jìn)行操作,就可能會出現(xiàn)各種故障,例如停電、軟硬件各種錯誤、人為破壞等,從而導(dǎo)致數(shù)據(jù)庫損壞,或者數(shù)據(jù)不正確了。此時DBMS的恢復(fù)機(jī)構(gòu)就有能力把數(shù)據(jù)庫從被破壞的、不正確的狀態(tài),恢復(fù)至以前某個正確的狀態(tài)。為了保證恢復(fù)工作的正常進(jìn)行,系統(tǒng)要經(jīng)常為數(shù)據(jù)庫建立若干備份副本(一般放在磁帶上)。   DBMS的其它控制功能還有系統(tǒng)緩沖區(qū)的管理以及數(shù)據(jù)存儲的某些自適應(yīng)調(diào)節(jié)機(jī)制等。   (4)數(shù)據(jù)庫的維護(hù)功能。這一部分包括數(shù)據(jù)庫的初始數(shù)據(jù)的載入、轉(zhuǎn)換功能、數(shù)據(jù)庫的轉(zhuǎn)儲功能、數(shù)據(jù)庫的重組織功能和性質(zhì)監(jiān)視、分析功能等。這些功能大都由各個實用程序來完成。例如裝配程序(裝配數(shù)據(jù)庫)、重組程序(重新組織數(shù)據(jù)庫)、日志程序(用于更新操作和數(shù)據(jù)庫的恢復(fù))、統(tǒng)計分析程序等。   (5)數(shù)據(jù)字典(Data Dictionary,記為DD)。DD中存放著數(shù)據(jù)庫三級結(jié)構(gòu)的描述。對于數(shù)據(jù)庫的操作都要通過查閱DD進(jìn)行。現(xiàn)在有的大型系統(tǒng)中,把DD單獨抽出來自成一個系統(tǒng),成為一個軟件工具,使得DD成為一個比DBMS更高級的用戶和數(shù)據(jù)庫之間的接口。    上面是一般的DBMS所具備的功能。通常在大、中型機(jī)上實現(xiàn)的DBMS功能較強(qiáng)、較全,在微機(jī)上實現(xiàn)的DBMS功能較弱。    還應(yīng)指出,用宿主語言編寫的應(yīng)用程序并不屬于DBMS的范圍。應(yīng)用程序是用主語言和DML編寫的。程序中的DML語句是由DBMS解釋執(zhí)行的,而其余部分仍由主語言編譯系統(tǒng)去編譯。       為了進(jìn)一步加深了解DBMS的功能,我們考察一個應(yīng)用程序A如何通過DBMS讀取數(shù)據(jù)庫中的一個記錄的全過程(圖1.8)。在應(yīng)用程序A運(yùn)行時,DBMS開辟一個數(shù)據(jù)庫的系統(tǒng)緩沖區(qū),用于輸入輸出數(shù)據(jù)。外模式、模式、內(nèi)模式的定義存放在數(shù)據(jù)字典中。   (1) 用戶在其應(yīng)用程序中安排一條讀記錄的DML語句。該語句給出被涉及的外模式中記錄類型名及欲讀記錄的關(guān)鍵碼值。當(dāng)計算機(jī)執(zhí)行該DML語句時,立即啟動DBMS,并向DBMS發(fā)出讀記錄的命令。   (2)DBMS接到命令后,首先訪問該用戶對應(yīng)的外模式,檢查該操作是否在合法授權(quán)范圍內(nèi),若不合法則拒絕執(zhí)行并向應(yīng)用程序狀態(tài)返回區(qū)發(fā)出不成功的狀態(tài)信息;若合法則執(zhí)行下一步。   (3)DBMS讀取相應(yīng)的模式描述,并從外模式映象到模式,也就是把外模式的外部記錄格式映象到概念模式的概念記錄格式,決定概念模式應(yīng)讀入哪些記錄。   (4)DBMS調(diào)用相應(yīng)的內(nèi)模式描述,并從把概念模式映象到內(nèi)模式,即把概念模式的概念記錄格式映象到內(nèi)模式的內(nèi)部記錄格式,確定應(yīng)讀入哪些物理記錄以及具體的地址信息。   (5)DBMS向操作系統(tǒng)(OS)發(fā)出從指定地址讀物理記錄的命令。   (6)DBMS操作系統(tǒng)執(zhí)行讀命令,按指定地址從數(shù)據(jù)庫中把記錄讀入數(shù)據(jù)庫的系統(tǒng)緩沖區(qū),并在操作結(jié)束后向DBMS作出回答。   (7)DBMS收到OS讀操作結(jié)束的回答后,參照模式,將讀入系統(tǒng)緩沖區(qū)中的內(nèi)容變換成概念記錄,再參照外模式,變換成用戶要求讀取的外部記錄。   (8)DBMS所導(dǎo)出的外部記錄從系統(tǒng)緩沖區(qū)送到應(yīng)用程序A的“程序工作區(qū)”中。   (9)DBMS向運(yùn)行日志數(shù)據(jù)庫發(fā)出讀一條記錄的信息。以備以后查詢使用數(shù)據(jù)庫的情況。   (10)DBMS將操作執(zhí)行成功與否的狀態(tài)信息返回給用戶。   參考: http://www.examda.com/gwy/Profess/Instructs/20060713/171229435.html  希望對你有幫助!
  1. 大家好,我是太陽能薄膜材料的新手,想搜索一下銅銦鎵硒CIGS的文章,最有用的數(shù)據(jù)庫有哪些啊
    2024-08-17
  2. 哪位能提供下讀取mdb數(shù)據(jù),存入mysql數(shù)據(jù)庫中的c、c++程序啊
    2024-08-17
  3. 中國核心期刊(遴選)數(shù)據(jù)庫收錄期刊是什么水平
    2024-08-17
  4. SQL數(shù)據(jù)庫如何設(shè)計表的格式
    2024-08-17
  5. 中國期刊全文數(shù)據(jù)庫分哪些支輯,每一個支輯包括哪些內(nèi)容
    2024-08-17
  6. 數(shù)據(jù)庫中的十種數(shù)據(jù)類型都是什么
    2024-08-17
  7. 列出10種中文數(shù)據(jù)庫名稱,并簡要注明其資源特點(每一數(shù)據(jù)庫不超過100字)。
    2024-08-17
  8. 誰能給個數(shù)據(jù)庫的論文研究方向啊.謝謝
    2024-08-17
  9. 誰能給個數(shù)據(jù)庫的論文研究方向啊.謝謝
    2024-08-17
  10. 如何檢索湖北工業(yè)大學(xué)師生的論文被sci數(shù)據(jù)庫收錄的情況
    2024-08-17
  11. 高工論文發(fā)表 有中國科技期刊數(shù)據(jù)庫 工業(yè)B 這個刊物不,有人在這里發(fā)表過論文不
    2024-08-17
  12. 我在萬方數(shù)據(jù)庫買了論文卻下載不了...
    2024-08-17
  13. 論文查重主要是哪個數(shù)據(jù)庫?內(nèi)蒙古工業(yè)大學(xué)
    2024-08-17
  14. 《石油天然氣學(xué)報》(增刊)上的文章能否在中國學(xué)術(shù)期刊網(wǎng)等網(wǎng)上數(shù)據(jù)庫檢索?
    2024-08-17
  15. 畢業(yè)論文查重(cnki(TMLC))范圍會加入本校已經(jīng)畢業(yè)的碩士論文數(shù)據(jù)庫嗎
    2024-08-17