- 數據庫系統教程(第2版)
- 何玉潔
- 1038字
- 2020-06-24 18:05:59
1.4 數據獨立性
數據獨立性是指應用程序不會因數據的物理表示方式和訪問技術的改變而改變,即應用程序不依賴于任何特定的物理表示方式和訪問技術,它包含兩個方面:物理獨立性和邏輯獨立性。物理獨立性是指當數據的存儲位置或存儲結構發生變化時,不影響應用程序的特性;邏輯獨立性是指當表達現實世界的信息內容發生變化時,如增加一些列、刪除無用列等,也不影響應用程序的特性。要準確理解數據獨立性的含義,可先了解一下什么是非數據獨立性。在數據庫技術出現前,也就是在使用文件管理數據時,實現的應用程序常常是數據依賴的。也就是說,數據的物理存儲方式和有關的存取技術都要在應用程序中考慮,而且,有關物理存儲的知識和訪問技術直接體現在應用程序的代碼中。例如,如果數據文件使用了索引,那么應用程序必須知道有索引存在,也要知道數據是按索引排序的,這樣應用程序的內部結構就是基于這些知識而設計的。一旦數據的物理存儲方式改變了,就會對應用程序產生很大的影響。例如,如果改變了數據的排序方式,則應用程序不得不做很大的修改。而且在這種情況下,應用程序修改的部分恰恰是與數據管理密切聯系的部分,而與應用程序最初要解決的問題毫不相干。
在用數據庫技術管理數據的方式中,可以盡量避免應用程序對數據的依賴,這里有以下兩種情況。
? 不同用戶關心的數據并不完全相同,即使對同樣的數據,不同用戶的需求也不盡相同。例如,學生基本信息數據包括學號、姓名、性別、出生日期、聯系電話、所在系、專業、班號,分配宿舍的部門可能只需要學號、姓名、班號,性別,教務部門可能只需要學號、姓名、所在系、專業和班號。好的實現方法應根據全體用戶對數據的需求存儲一套完整的數據,而且只編寫一個針對全體用戶的公共數據的應用程序,但能夠按每個用戶的具體要求只展示其需要的數據,而且當公共數據發生變化時(如增加新數據),可以不修改應用程序,每個不需要這些變化數據的用戶也不需要知道有這些變化。這種獨立性(邏輯獨立性)在文件管理方式下是很難實現的。
? 隨著科學技術的進步以及應用業務的變化,有時必須改變數據的物理存儲方式和存取方法,以適應技術發展及需求變化。例如,改變數據的存儲位置或存儲結構(就像一個單位可以搬到新的地址,或者是調整單位各科室的布局),以提高數據的訪問效率。理想情況下,這些變化不應該影響應用程序(物理獨立性)。這在文件管理方式下也是很難實現的。
因此,數據獨立性的提出是一種客觀應用的要求。數據庫技術的出現正好克服了應用程序對數據的物理表示和訪問技術的依賴。
- SoapUI Cookbook
- JavaScript 網頁編程從入門到精通 (清華社"視頻大講堂"大系·網絡開發視頻大講堂)
- Developing Middleware in Java EE 8
- Java程序員面試算法寶典
- INSTANT Weka How-to
- 精通Scrapy網絡爬蟲
- SQL基礎教程(視頻教學版)
- Flux Architecture
- Asynchronous Android Programming(Second Edition)
- 機器學習與R語言實戰
- SSM開發實戰教程(Spring+Spring MVC+MyBatis)
- ExtJS Web應用程序開發指南第2版
- 編程改變生活:用Python提升你的能力(進階篇·微課視頻版)
- 數據分析與挖掘算法:Python實戰
- ArcPy and ArcGIS(Second Edition)