- 數據庫原理與應用教程(第5版)
- 何玉潔編著
- 1031字
- 2023-11-07 16:32:14
1.3 數據獨立性
數據獨立性是指應用程序不會因數據的物理表示方式和訪問技術的改變而改變,即應用程序不依賴于任何特定的物理表示方式和訪問技術,它包含兩個方面:物理獨立性和邏輯獨立性。物理獨立性是指當數據的存儲位置或存儲結構發生變化時,不影響應用程序的特性;邏輯獨立性是指當表達現實世界的信息內容發生變化時,比如增加一些列、刪除無用列等,也不影響應用程序的特性。要理解數據獨立性的含義,最好先搞清什么是非數據獨立性。在數據庫技術出現之前,也就是在使用文件管理數據的時候,實現的應用程序常常是數據依賴的,也就是說數據的物理表示方式和有關的存取技術都要在應用程序中考慮,而且,有關物理表示的知識和訪問技術直接體現在應用程序的代碼中。例如,如果數據文件使用了索引,那么應用程序必須知道有索引存在,也要知道記錄是按什么索引項排序的,這樣應用程序的內部結構就是基于這些知識而設計的。一旦數據的物理表示方式改變了,就會對應用程序產生很大的影響。例如,如果改變數據的排序方式,則應用程序不得不做很大的修改。在這種情況下,應用程序修改的部分恰恰是與數據管理密切聯系的,而與應用程序最初要解決的問題毫不相干。
在數據庫管理方式中,可以盡量避免應用程序對數據的依賴,具體如下。
1)不同的用戶關心的數據并不完全相同,即使對同樣的數據,不同用戶的需求也不盡相同。比如前邊的學生基本信息數據,包括學號、姓名、性別、出生日期、聯系電話、所在系、專業、班號。分配宿舍的部門可能只需要學號、姓名、班號、性別,教務部門可能只需要學號、姓名、所在系、專業和班號。好的實現方法應根據全體用戶對數據的需求存儲一套完整的數據,而且只編寫一個針對全體用戶的公共數據的應用程序,但能夠按每個用戶的具體要求只展示其需要的數據,而且當公共數據發生變化時(比如增加新信息),可以不修改應用程序,每個不需要這些變化數據的用戶也不需要知道發生了這些變化。這種獨立性(邏輯獨立性)在文件管理方式下是很難實現的。
2)隨著科學技術的進步以及應用業務的變化,有時必須要改變數據的物理表示方式和訪問技術以適應技術發展及需求變化。比如改變數據的存儲位置或存儲方式(就像一個單位可以搬到新的地址,或者調整單位各科室的布局)以提高數據的訪問效率。理想情況下,這些變化不應該影響應用程序(物理獨立性)。這在文件管理方式下也是很難實現的。
因此,數據獨立性的提出反映了客觀應用的要求。數據庫技術的出現正好克服了應用程序對數據的物理表示和訪問技術的依賴。