查看匯總:2014軟件水平考試《數(shù)據(jù)庫系統(tǒng)工程師》重點匯總
數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)
1.DBMS的目標
(1)用戶界面友好 對一個實用DBMS來說,用戶界面的質量直接影響其生命力。DBMS的用戶接口應面向應用,采用適合最終用戶的交互式、表格式、菜單式、窗口式等界面形式,以方便使用和保持靈活性。一般地說,用戶界面應具有可靠性、簡單性、靈活性和立即反饋等特性。
(2)功能完備 DBMS功能隨系統(tǒng)的規(guī)模的大小而異。大型DBMS功能齊全,小型DBMS功能弱一些。DBMS主要功能包括數(shù)據(jù)定義、數(shù)據(jù)庫數(shù)據(jù)存取、事務控制、數(shù)據(jù)庫組織和存儲管理、數(shù)據(jù)庫安全保護等等。我們在下面討論這些功能的內(nèi)容。
(3)效率高 系統(tǒng)效率包括三個方面:一是計算機系統(tǒng)內(nèi)部資源的使用效率。能充分利用資源(包括存儲空間、設備、CPU等),并注意使各種資源負載均衡以提高整個系統(tǒng)的效率,二是DBMS本身的運行效率。三是用戶的生產(chǎn)率。這是指用戶學習、使用DBMS和在DBMS基礎上開發(fā)的應用系統(tǒng)的效率。
2.DBMS的基本功能
(1)數(shù)據(jù)庫定義 對數(shù)據(jù)庫的結構進行描述,包括外模式、模式、內(nèi)模式的定義;數(shù)據(jù)庫完整性的定義;安全保密定義(如用戶口令、級別、存取權限);存取路徑(如索引)的定義。這些定義存儲在數(shù)據(jù)字典(亦稱為系統(tǒng)目錄)中,是DBMS運行的基本依據(jù)。為此,提供數(shù)據(jù)定義語言DDL。
(2)數(shù)據(jù)存取 提供用戶對數(shù)據(jù)的操縱功能,實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的檢索、插入、修改和刪除。一個好的DBMS應該提供功能強易學易用的數(shù)據(jù)操縱語言(DML)、方便的操作方式和較高的數(shù)據(jù)存取效率。DML有兩類:一類是宿主型語言,一類是自含型語言。前者的語句不能獨立使用而必須嵌入某種主語言,如C語言、COBOL語言中使用。而后者可以獨立使用,通常以供終端用戶交互使用和批處理方式兩種形式使用。
(3)數(shù)據(jù)庫運行管理 這是指DBMS運行控制、管理功能。包括多用戶環(huán)境下的并發(fā)控制、安全性檢查和存取權限控制、完整性檢查和執(zhí)行、數(shù)據(jù)加密、運行日志的組織管理、事務的管理和自動恢復(保證事務的正確性),這些功能保證了數(shù)據(jù)庫系統(tǒng)的正常運行。
(4)數(shù)據(jù)組織、存儲和管理 DBMS要分門別類地組織、存儲各類數(shù)據(jù),包括數(shù)據(jù)字典(亦稱系統(tǒng)目錄)、用戶數(shù)據(jù)、存取路徑等等。要確定以何種文件結構和存取方式在存儲級上組織這些數(shù)據(jù),如何實現(xiàn)數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)組織和存儲的基本目標是提高存儲空間利用率,選擇合適的存取方法確保較高存取(如隨機查找、順序查找、增、刪、改)效率。
(5)數(shù)據(jù)庫的建立和維護 包括數(shù)據(jù)庫的初始建立、數(shù)據(jù)的轉換、數(shù)據(jù)庫的轉儲和恢復、數(shù)據(jù)庫的重組織和重構造以及有性能監(jiān)測分析等功能。
(6)其它功能 包括DBMS與網(wǎng)絡中其它軟件系統(tǒng)的通信功能;一個DBMS與另一個DBMS或文件系統(tǒng)的數(shù)據(jù)轉換功能等。
3.DBMS與操作系統(tǒng)
通常DBMS是建立在操作系統(tǒng)環(huán)境之上的。根據(jù)具體操作系統(tǒng)的特點,DBMS可以用不同的方法利用操作系統(tǒng)的基本功能來實現(xiàn)DBMS。一般有下面3類方法:
(1)共享模塊法
(2)分離進程法
(3)和操作系統(tǒng)融合
4.DBMS程序模塊的組成
作為一個龐大的系統(tǒng)軟件,DBMS由眾多程序模塊組成,它們分別實現(xiàn)DBMS復雜而繁多的功能。數(shù)據(jù)庫定義方面 有DDL翻譯處理程序(包括外模式、模式、存儲模式處理程序)、保密定義處理程序(如授權定義處理程序)、完整性約束定義處理程序等。這些程序接收相應的定義,進行語法、語義檢查,把它們翻譯為內(nèi)部格式存儲在數(shù)據(jù)字典中。DDL翻譯程序還根據(jù)模式定義負責建立數(shù)據(jù)庫的框架(即形式一個空庫),等待裝入數(shù)據(jù)。數(shù)據(jù)庫操縱方面 有DML處理程序、終端查詢語言解釋程序、數(shù)據(jù)存取程序、數(shù)據(jù)更新程序等。DML處理程序或終端查詢語言解釋程序對用戶數(shù)據(jù)操縱請求進行語法、語義檢查、由數(shù)據(jù)存取或更新程序完成對數(shù)據(jù)庫的存取操作。數(shù)據(jù)庫運行管理方面 有系統(tǒng)初啟程序,負責初始化DBMS、建立DBMS的系統(tǒng)緩沖區(qū)、系統(tǒng)工作區(qū) 打開數(shù)據(jù)字典等等。還有安全性控制、完整性檢查、并發(fā)控制、事務管理、運行日志管理等程序模塊,在數(shù)據(jù)庫運行過程中監(jiān)視著對數(shù)據(jù)庫的所有操作,控制管理數(shù)據(jù)庫資源,處理多用戶的并發(fā)操作等。它們一方面保證用戶事務的正常運行,一方面保證數(shù)據(jù)庫的安全性和完整性。數(shù)據(jù)庫組織、存儲和管理方面 有文件讀寫與維護程序、存取路徑(如索引)管理程序、緩沖區(qū)管理程序(包括緩沖區(qū)讀、寫、淘汰等模塊),這些程序負責維護數(shù)據(jù)庫的數(shù)據(jù)和存取路徑,提供有效的存取的方法。數(shù)據(jù)庫建立、維護和其它。有數(shù)據(jù)庫初始數(shù)據(jù)裝入程序、轉儲程序、恢復程序、數(shù)據(jù)庫重構造程序、數(shù)據(jù)轉換程序、通信程序等。DBMS的這些組成模塊互相聯(lián)系,互相依賴,共同完成DBMS復雜的功能。這些模塊之間的聯(lián)系有一定的層次關系。
5.DBMS的層次結構
和操作系統(tǒng)一樣,可以也應該將DBMS劃分成若干層次。許多DBMS實際上就是分層實現(xiàn)的。最上層是應用層,位于DBMS核心之處。它處理的對象包括各種各樣的數(shù)據(jù)庫應用,如用宿主語言編寫的應用程序、終端用戶通過應用接口(如FORMS)發(fā)出的事務請求等。該層是DBMS的最終用戶和應用程序的界面層。第二層是語言翻譯處理層。它處理的對象是數(shù)據(jù)庫語言,如SQL。提供的數(shù)據(jù)接口是關系、視圖,即元組的集合。其功能是對數(shù)據(jù)庫語言的各類語句進行語法分析、視圖轉換、授權檢查、完整性檢查、查詢優(yōu)化等。通過對下層基本模塊的調用,生成可執(zhí)行代碼。這些代碼的運行,即可完成數(shù)據(jù)庫語句的功能要求。第三層是數(shù)據(jù)存取層。該層處理的對象是單個元組。它把上層的集合操作轉化為單記錄操作。執(zhí)行掃描、排序、元組的查找、插入、修改、刪除、封鎖等基本操作。完成數(shù)據(jù)記錄的存取、存取路徑維護、并發(fā)控制、事務管理等工作。第四層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū),執(zhí)行文件的邏輯打開、關閉、讀頁、寫頁、緩沖區(qū)讀和寫、頁面淘汰等操作,完成緩沖區(qū)管理、內(nèi)外存交換、外存管理等功能。操作系統(tǒng)是DBMS的基礎,它處理的對象是數(shù)據(jù)文件的物理塊。執(zhí)行物理文件的讀寫操作,保證DBMS對數(shù)據(jù)邏輯上的讀寫真實地映射到物理文件上。操作系統(tǒng)提供的存取原語和基本的存取方法通常作為和DBMS存儲層的接口。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |