複製鏈接
請複製以下鏈接發送給好友

數據獨立性

鎖定
數據的獨立性是數據庫系統的最基本的特徵之一 。數據獨立性是指應用程序數據結構之間相互獨立, 互不影響。在三層模式體系結構中數據獨立性是指數據庫系統在某一層次模式上的改變不會使它的上一層模式也發生改變的能力。正是三級模式間的兩層映像保證了數據庫系統中的數據具有較高的數據獨立性。數據獨立性包括數據邏輯獨立性和數據物理獨立性。 [1] 
數據獨立性也是數據庫系統的一個最重要的目標之一。它能使數據獨立於應用程序。
數據與程序的獨立,把數據的定義從程序中分離出去,加上數據的存取又由DBMS負 責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改。 [2] 
中文名
數據獨立性
外文名
Data independence
對    象
數據庫系統
性    質
最重要的目標之一
包    括
物理獨立性和邏輯獨立性

數據獨立性概念背景

一個數據庫結構從邏輯上可以分為外部模式,內部模式和 概念模式三層。為了提高數據庫系統中的數據獨立性,DBMS在 這三級模式之間提供了兩層映像。作為數據庫系統的基本特徵 的數據和程序的獨立性正是依靠於這三級模式和兩級映像。 [1] 
概念模式也稱模式,是由數據庫設計者綜合所有用户數 據,並且按照一定的觀點構造的對數據庫全局邏輯結構的描 述。在數據庫系統的三級模式中,概念模式處於中間層,一個 數據庫只有一個概念模式,它既不涉及數據的物理存儲細節和 硬件環境也與具體的應用程序和程序設計語言無關。外部模式 也稱為子模式,子模式是用户和數據庫之間的接口,是數據庫 用户能看得見的和使用的局部數據的邏輯結構和特徵的描述。 內部模式也稱為存儲模式,是對數據庫中數據物理結構和存儲 方式的描述,是數據在數據庫內部的表示方式。一個數據庫只 有一個內部模式。內部模式是DBMS管理的最底層,它是物理存 儲設備上存儲數據時的物理抽象。 [1] 
在某個層次上修改模式定義而不影響位於其上一層模式的能力叫做數據獨立性.有兩個層次的數據獨立性:物理獨立性和邏輯獨立性。

數據獨立性定義

物理獨立性是指用户的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。即,數據在磁盤上怎樣存儲由DBMS管理,用户程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。 [3] 
邏輯獨立性是指用户的應用程序與數據庫的邏輯結構是相互獨立的,即,當數據的邏輯結構改變時,用户程序也可以不變。 [3] 
邏輯數據獨立性比物理數據獨立性更難做到,這是因為應用程序對於它們所訪問的數據的邏輯結構依賴程度很大。
數據獨立性的概念同現代程序設計語言中抽象數據類型的槪念在許多方面是相似 的。兩者均為用户屏蔽具體實現的細節,使用户可以只考慮概括的結構,而不必考慮低層實現細節。 [3] 

數據獨立性分類

邏輯數據獨立性
為了實現數據庫系統的外模式與模式的聯繫和轉換,在外模式與模式之間建立映像,即外模式/模式映像。通過外模式與模式之間的映像把描述局部邏輯結構的外模式與描述全局邏輯結構的模式聯繫起來。由於一個模式與多個外模式對應,因此,對於每個外模式,數據庫系統都有一個外模式/模式映像,它定義了該外模式與模式之間的對應關係·這些映像定義通常包含在各自外模式的描述中。 [4] 
有了外模式/模式映像,模式改變時,如增加新的屬性、修改屬性的類型,只要對外模式/模式的映像做相應的改變,可使外模式保持不變,則以外模式為依據編寫的應用程序就不受影響,從而應用程序不必修改,保證了數據與程序之間的邏輯獨立性,也就是邏輯數據獨立性。
邏輯數據獨立性説明模式變化時一個應用的獨立程度。現今的系統,可以提供下列幾個方面的邏輯數據獨立性:
(1) 在模式中增加新的記錄類型,只要不破壞原有記錄類型之間的聯繫。
(2) 在原有記錄類型之間增加新的聯繫。
(3) 在某些記錄類型中增加新的數據項。 [4] 
物理數據獨立性
為了實現數據庫系統模式與內模式的聯繫和轉換,在模式與內模式之間提供了映像,即模式/內模式映像。通過模式與內模式之間的映像把描述全局邏輯結構的模式與描述物理結構的內模式聯繫起來。由於數據庫只有一個模式,也只有一個內模式,因此,模式/內模式 映像也只有一個,通常情況下,模式/內模式映像放在內模式中描述。 [4] 
有了模式/內模式映像,當內模式改變時,如存儲設備或存儲方式有所改變,只要對模式/內模式映像做相應的改變,使模式保持不變,則應用程序就不受影響,從而保證了數據與程序之間的物理獨立性,稱為存儲數據獨立性。
物理數據獨立性説明在數據物理組織發生變化時一個應用的獨立程度,例如不必修改或重寫應用程序。現今的系統,可以提供以下幾個方面的物理數據獨立性:
(1) 改變存儲設備或引進新的存儲設備。
(2) 改變數據的存儲位置,例如把它們從一個區域遷移到另-個區域。
(3) 改變物理記錄的體積。
(4) 改變數據物理組織方式,例如增加索引,改變Hash函數,或從一種結構改變為另一種結構。 [4] 

數據獨立性作用

數據與程序的獨立
把數據的定義從程序中分離出去,加上數據的存取又由DBMS負責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改。可以説數據處理的發展史就是數據獨立性不斷進化的歷史。在手工管理階段,數據和程序完全交織在一起,沒有獨立性可言,數據結構作任何改動,應用程序也需要做相應的修改。
獨立發展
文件系統出現後,雖然將兩者分離,但實際上應用程序中依然要反映文件在存儲設備上的組織方法、存取方法等物理細節,因而只要數據作了任何修改,程序仍然需要作改動。而數據庫系統的一個重要目標就是要使程序和數據真正分離,使它們能獨立發展。

數據獨立性舉例

CAD簡介
CAD即為計算機輔助設計,是研究計算機在工程設計中綜 合應用的學科。它綜合了計算機軟/硬件的最新成就,如圖形技 術、數據庫技術等,從而形成了一個應用範圍較廣的工程設計工具。在計算機輔助設計系統中,所需要的數據量非常大,因此在CAD系統中必須要有一個方便而且實用的對圖形信息和大量其 他數據資料進行合理組織和管理的管理軟件。EDRMS作為一個 主要用於圖形信息管理的工程數據庫管理系統就很好地解決了這一問題。 [1] 
DRMS系統和Datatrieve簡介
圖1 圖1
EDRMS系統是利用VAX-11 Datatrieve和VAX-11軟件在 VAX-11VMS操作系統支持下開發的管理軟件。它通過在VAX-11 Datatrieve管理軟件基礎上增加一層接口進行工程數據管理。 EDRMS系統結構如圖1所示:
EDRMS系統為用户提供了一個友好的界面,即允許用户交互訪問數據庫中的某一記錄,也可由用户通過高級語言訪問數據庫中的數據,並保證程序與數據的獨立性。VAX-11 Datatrieve是一種數據檢索語言,是信息管理的工具。VAX-11 Datatrieve提供調用,並允許運用其他語言編寫程序,利用 VAX-11 Datatrieve可以訪問、存儲和更新文件中的信息併產生報告。使用VAX-11 Datatrieve中的檢索服務等可以訪問數據庫。 [1] 
EDRMS系統的獨立性實現
EDRMS工程數據庫管理系統對於所支持的高級語言,為了保證程序與數據的獨立性以及為了方便用户,實現簡潔靈活的要 求,在系統初始化建庫的時候可以為每種高級語言自動生成兩個include文件。以FORTRAN語言為例,自動生成的兩個include 文件的名字分別為記錄名其前6個字符加.FOR及加O.FOR。而 PASCAL語言中自動產生的兩個文件名字分別為記錄名或其前6個宇符加. PAS及加O.PAS。 [1] 
參考資料
  • 1.    林樹民,數據獨立性及其實現,《無線互聯科技》, 2012(9):109-109
  • 2.    劉亞軍,高莉莎編著 . 《數據庫原理與應用 習題與解析》.北京:清華大學出版社,2013
  • 3.    姜同強主編 . 《計算機英語教師用書 第3版》 .北京:清華大學出版社 ,2013
  • 4.    徐大偉,楊麗萍主編 . 《數據庫技術及應用》 .北京:清華大學出版社 ,2012