數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)_第1頁
數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)_第2頁
數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)_第3頁
數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)_第4頁
數(shù)據(jù)庫管理系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、僅供個人參考數(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ù) 庫安全保護等等。我們在下面討論這些功能的內容。(3)效率高 系統(tǒng)效率包括三個方面:一是計算機系統(tǒng)

2、內部資源 的使用效率。能充分利用資源(包括存儲空間、設備、 CPU等),并 注意使各種資源負載均衡以提高整個系統(tǒng)的效率,二是DBMS本身的運行效率。三是用戶的生產率。這是指用戶學習、使用 DBMS和 在DBMS基礎上開發(fā)的應用系統(tǒng)的效率。2.DBMS的基本功能(1)數(shù)據(jù)庫定義 對數(shù)據(jù)庫的結構進行描述,包括外模式、模式、 內模式的定義;數(shù)據(jù)庫完整性的定義;安全保密定義(如用戶口令、級 別、存取權限);存取路徑(如索引)的定義。這些定義存儲在數(shù)據(jù)字典(亦稱為系統(tǒng)目錄)中,是DBMS 運行的基本依據(jù)。為此,提供數(shù)據(jù)定義語言DDL 。( 2) 數(shù)據(jù)存取提供用戶對數(shù)據(jù)的操縱功能,實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的檢索、

3、插入、修改和刪除。一個好的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ù)組織、存儲和管

4、理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 是建立

5、在操作系統(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 翻譯處理程序(包括外模式、模式、存儲模式處理程序)、保密定義處理程序(如授權定義處理程序)、完整性約束定義處理程序等。這些程序接收相應的定義,進行語法、語義檢查,把它們翻譯為內部格式存儲在數(shù)據(jù)字典中。DDL 翻譯程序還根據(jù)模式定義負責建立數(shù)據(jù)庫的框架(即形式

6、一個空庫),等待裝入數(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ù)庫組織、存儲和管

7、理方面有文件讀寫與維護程序、存取路徑(如索引)管理程序、緩沖區(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ù)庫應用,如用宿主語言編寫

8、的應用程序、終端用戶通過應用接口(如 FORMS)發(fā)出的事務請求 等。該層是DBMS 的最終用戶和應用程序的界面層。第二層是語言翻譯處理層。它處理的對象是數(shù)據(jù)庫語言,如 SQL。 提供的數(shù)據(jù)接口是關系、視圖,即元組的集合。其功能是對數(shù)據(jù)庫語言的各類語句進行語法分析、視圖轉換、授權檢查、完整性檢查、查詢優(yōu)化等。通過 對下層基本模塊的調用,生成可執(zhí)行代碼。這些代碼的運行,即可完成數(shù)據(jù)庫語句的功能要求。第三層是數(shù)據(jù)存取層。該層處理的對象是單個元組。它把上層的集合操作轉化為單記錄操作。執(zhí)行掃描、排序、元組的查找、插入、修改、 刪除、 封鎖等基本操作。完成數(shù)據(jù)記錄的存取、存取路徑維護、并發(fā)控制、事務管理

9、等工作。第四層是數(shù)據(jù)存儲層。該層處理的對象是數(shù)據(jù)頁和系統(tǒng)緩沖區(qū),執(zhí)行文件的邏輯打開、關閉、讀頁、寫頁、緩沖區(qū)讀和寫、頁面淘汰等操作,完成緩沖區(qū)管理、內外存交換、外存管理等功能。操作系統(tǒng)是 DBMS 的基礎,它處理的對象是數(shù)據(jù)文件的物理塊。執(zhí)行物理文件的讀寫操作,保證DBMS 對數(shù)據(jù)邏輯上的讀寫真實地映射到物理文件上。操作系統(tǒng)提供的存取原語和基本的存取方法通常作為和DBMS 存儲層的接口。6 .語言處理語言翻譯處理層的任務就是把用戶在這兩種方式下提交給DBMS 的數(shù)據(jù)庫語句轉換成對DBMS 內層可執(zhí)行的基本存取模塊的調用序列。數(shù)據(jù)庫語言通常包括DDL、 DML 、 DCL 三部分語句。DDL 語

10、句處理相對獨立和簡單。DML 和 DCL 則較為復雜。具體來說,對DDL 語句,語言翻譯處理層首先把它翻譯成內部表示, 然后把它存儲在系統(tǒng)的數(shù)據(jù)字典中。對 DCL 語句的定義部分,如安全保密定義、存取權限定義、完整性約束條件定義等處理與DDL相同。在 RDBMS 中數(shù)據(jù)字典通常采用和普通數(shù)據(jù)同樣的表示方式。數(shù)據(jù)字典包括關系定義表、屬性表、視圖表、視圖屬性表、視圖表達式表、用戶表、存取權限表、。( 1)解釋方法一些數(shù)據(jù)庫系統(tǒng)(如 dBASEHI)對上述方法進行了改進,通過盡量推遲聚束過程來贏得數(shù)據(jù)獨立性。具體做法是:直到執(zhí)行前,數(shù)據(jù)庫 DML 語句都以原始字符串的形式保存。隨著數(shù)據(jù)庫系統(tǒng)的發(fā)展,

11、這種方法已逐步為預編譯技術所取代。( 2)預編譯方法已經看到,將聚束過程提前,固然可達到系統(tǒng)的高效率,但失去了數(shù)據(jù)庫的一個主要優(yōu)點數(shù)據(jù)獨立性 ;將聚束時間推遲,贏得了數(shù)據(jù)獨立性,卻增加了執(zhí)行高效率的代價。預編譯方法就是為了克服它們的缺點,保持兩者的優(yōu)點而提出的。其基本思想是,在用戶提供了 DML 語句后,在運行前對它進行翻譯處理,保存產生好的執(zhí)行代碼,運行時加以執(zhí)行。但是,使用這種方法會遇到這樣的問題:在聚束過程中進行優(yōu)化所依據(jù)的條件可能在運行前已不存在,或者數(shù)據(jù)結構被修改,因而導致已作出的規(guī)劃在執(zhí)行時不再有效。例如, 假設在聚束過程中決定使用某一索引來加快存取速度,而在程序編譯完成之后,運行

12、之前,該索引被刪除了。那么,運行時就會出現(xiàn)不可預測的現(xiàn)象。為了解決這類問題,采用了重編譯方法。即當數(shù)據(jù)庫中某些成分的改變而使一些程序的編譯結果無效時,再對它們執(zhí)行一次編譯。重編譯可在不同時刻進行。為了提高整個系統(tǒng)的效率,不應在數(shù)據(jù)庫某一成分改變后就馬上對受影響的那些源程序重編譯,較好的方法是將受影響的編譯結果置 “無效” 標志, 在其被執(zhí)行時才進行自動重編譯。自動重編譯技術使得編譯方法既擁有了編譯時進行束縛所帶來的高效率,又具備了執(zhí)行時束縛所帶來的數(shù)據(jù)獨立性。實踐證明,預編譯方法的效率比其它方法高兩倍以上。7 .數(shù)據(jù)存取層數(shù)據(jù)存取層介于語言處理層和數(shù)據(jù)存儲之間。它向上提供單元組接口, 即導航式

13、的一次一個元組的存取操作。向下則以系統(tǒng)緩沖區(qū)的存儲器接口作為實現(xiàn)基礎。( 1)提供一次一個元組的查找、插入、刪除、修改等基本操作。( 2) 提供元組查找所循的存取路徑以及對存取路徑的維護操作。如對索引記錄的查找、插入、刪除、修改。( 3)對記錄和存取路徑的封鎖、解鎖操作。( 4)日志文件的登記和讀取操作。( 5)輔助操作。如掃描、合并/排序,其操作對象有關系、有序表、索引等。為了完成上述功能,通常把存取層又劃分為若干功能子系統(tǒng)加以實現(xiàn)。8 .緩沖區(qū)管理數(shù)據(jù)存取層的下面是數(shù)據(jù)存儲層(簡稱存儲層)。存儲層的主要功能是存儲管理。包括緩沖區(qū)管理、內外存交換、外存管理等。其中緩沖管理是最主要的。存儲層向

14、存取層提供的接口是由定長頁面組成的系統(tǒng)緩沖區(qū)。系統(tǒng)緩沖區(qū)的設立是出于兩方面的原因:一是它把存儲層以上各系統(tǒng)成分和實在的外存設備隔離。外存設備的變更不會影響其它系統(tǒng)成分,使DBMS 具有設備獨立性。二是提高存取效率。DBMS 利用系統(tǒng)緩沖區(qū)滯留數(shù)據(jù)。當存取層需要讀取數(shù)據(jù)時存儲子系統(tǒng)首先到系統(tǒng)緩沖區(qū)中查找。只有當緩沖區(qū)不存在該數(shù)據(jù)時才真正從外存讀入該數(shù)據(jù)所在的頁面。當存取層寫回一元組到數(shù)據(jù)庫中時,存儲子系統(tǒng)并不把它立即寫回外存,僅把該元組所在的緩沖區(qū)頁面作一標志,表示可以釋放。只有當該用戶事務結束或結束緩沖區(qū)已滿需要調入新頁時才按一定的淘汰策略把緩沖區(qū)中已有釋放標志的頁面寫回外存。這樣可以減少內外

15、存交換的次數(shù),提高存取效率。系統(tǒng)緩沖區(qū)可由內存或虛存組成。由于內存空間緊張,緩沖區(qū)的大小、 緩沖區(qū)內存和虛存部分的比例要精心設計。針對不同的應用和環(huán)境按一定的模型進行調整。既不能讓緩沖區(qū)占據(jù)太大內存空間,也不能因空間太小而頻頻缺頁調頁,造成“抖動”,影響效率。緩沖區(qū)由控制信息和若干定長頁面組成。緩沖區(qū)管理模塊向上層提供的操作是緩沖區(qū)的讀(READBUF ) 、寫( WRITEBUF ) 。緩沖區(qū)內部的管理操作有:查找頁、申請頁、淘汰頁。緩沖區(qū)管理調用OS的操作有 :讀(READ) 、寫( WEITE) 。9 .數(shù)據(jù)庫的物理組織數(shù)據(jù)庫是大量數(shù)據(jù)的有結構的綜合性的集合,如何將這樣一個龐大的數(shù)據(jù)集合

16、以最優(yōu)的形式組織起來存放在外存上是一個非常重要的問題。所謂“優(yōu)”應包括兩方面 :一是存儲效率高,節(jié)省存儲空間;二是讀取效率高,速度快、代價小。數(shù)據(jù)庫實現(xiàn)的基礎是文件,對數(shù)據(jù)庫的任何操作最終要轉化為對文件的操作。所以在數(shù)據(jù)庫物理組織中,基本的問題是如何設計文件組織或者利用操作系統(tǒng)提供的基本的文件組織方法。但是, 在數(shù)據(jù)庫中表和文件不必具有一一對應關系。這和操作系統(tǒng)中不一樣。DBMS可以建立只能自己讀寫的文件,在其中存儲多個表的數(shù)據(jù)。數(shù)據(jù)系統(tǒng)是文件系統(tǒng)的發(fā)展。文件系統(tǒng)中每個文件存儲同質實體的數(shù)據(jù),各文件是孤立的,沒有體現(xiàn)實體之間的聯(lián)系。數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的物理組織必須體現(xiàn)實體之間的聯(lián)系,支持數(shù)據(jù)庫的

17、邏輯結構各種數(shù)據(jù)模型。因此數(shù)據(jù)庫中要存儲 4 個方面的數(shù)據(jù):數(shù)據(jù)描述。即數(shù)據(jù)外模式、模式、內模式。數(shù)據(jù)本身。數(shù)據(jù)之間的聯(lián)系。存取路徑。這 4 個方面的數(shù)據(jù)內容都要采用一定的文件組織方式組織、存儲起來。(1)數(shù)據(jù)字典(DD)的組織有關數(shù)據(jù)的描述存儲在數(shù)據(jù)庫的數(shù)據(jù)字典中。數(shù)據(jù)字典的特點是數(shù)據(jù)量比較?。ㄅc數(shù)據(jù)本身比)、使用頻繁, 因為任何數(shù)據(jù)庫操作都要參照數(shù)據(jù)字典的內容。數(shù)據(jù)字典在網(wǎng)狀、 層次數(shù)據(jù)中常常用一個特殊的文件來組織。所有關于數(shù)據(jù)的描述信息存放在一個文件中。( 2) 數(shù)據(jù)及數(shù)據(jù)聯(lián)系的組織關于數(shù)據(jù)自身的組織,DBMS 可以根據(jù)處理的要求自己設計文件結構,也可以從操作系統(tǒng)提供的文件結構中選擇合適

18、的加以實現(xiàn)。目前,操作系統(tǒng)提供的常用文件結構有:順序文件、索引文件、索引順序文件、HASH 文件(雜湊文件)和B樹類文件等等。數(shù)據(jù)庫中數(shù)據(jù)組織與數(shù)據(jù)之間聯(lián)系是緊密結合的。在數(shù)據(jù)的組織和存儲中必須直接或間接、顯式或隱含地體現(xiàn)數(shù)據(jù)之間的聯(lián)系,這是數(shù)據(jù)庫物理組織中主要考慮和設計的內容。關系數(shù)據(jù)庫中實現(xiàn)了數(shù)據(jù)表示的單一性。實體及實體之間的聯(lián)系都用一種數(shù)據(jù)結構“表”來表示。在數(shù)據(jù)庫的物理組織中,每一個表通??梢詫环N文件結構。因此數(shù)據(jù)和數(shù)據(jù)之間的聯(lián)系兩者組織方式相同。( 3) 存取路徑的組織關系數(shù)據(jù)庫中,存取路徑和數(shù)據(jù)是分離的,對用戶是隱蔽的。存取路徑可以動態(tài)建立、刪除。存取路徑的物理組織通常采用B

19、樹類文件結構和HASH 文件結構。在一個關系上可以建立若干個索引。有的系統(tǒng)支持組合屬性索引,即在兩個或兩個以上的屬性上建立索引。索引可以由用戶用CRETR INDEX 語句建立,用DROP INDEX 語句刪除。在執(zhí)行查詢時,DBMS 查詢優(yōu)化模塊也會根據(jù)優(yōu)化策略自動地建立索引,以提高查詢效率。由此可見,關系數(shù)據(jù)庫中存取路徑的建立是十分靈活的。不得用于商業(yè)用途僅供個人參考僅供個人用于學習、研究;不得用于商業(yè)用途For personal use only in study and research; not for commercial use.Nur fur den pers?nlichen

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論