ANSI/SPARC 資料庫三層架構是什麼
- 一種標準化的資料庫設計模型。模型是什麼?簡化的表示,如地圖是現實世界的模型。
- 分層架構,為解決資料庫設計問題,提供資料抽象化與獨立性。
ANSI/SPARC 資料庫三層架構
外部層(External/View layer):
不同使用者/應用程式觀點,不同終端使用者(End User)看到資料庫不同部分的資料(有不同view)。
概念層(Conceptual/Logical layer):
以資料庫管理員觀點,看到資料庫的整體性資料(基礎表格base table)。
內部層(Internal/Physical layer):
看到資料存在資料庫之資料結構。
資料獨立
改資料庫系統某層綱要,不用跟著該其上層綱要,類型:
邏輯資料獨立(logical data independence)定義/做法
改資料庫邏輯結構(概念綱要),不用跟著改使用者/應用程式(外部綱要),如擴大資料規模。
例如:在員工資料庫增加欄位,不影響現有應用程式對資料庫查詢。
實體資料獨立(physical data independence)定義/做法
改資料實際儲存方式(內部綱要),不用跟著改資料庫邏輯結構(概念綱要),與使用者/應用程式(外部綱要),如重組某些實體檔案結構。
例子:加一個新的索引來提高效能,不影響應用程式操作。
優點
減少應用程序的維護成本:因改資料庫的邏輯結構或物理存儲結構不影響應用程式,故能節省時間和資源。
靈活性:資料庫的設計和存儲方式可靈活變動。如,據需要優化查詢效能或存儲空間,而不影響應用程式的運行。
改進系統性能:資料庫管理員可以根據硬體和效能需求對物理存儲結構進行優化(如添加索引、調整存取方法),從而提高數據存取速度,這一切都不會影響數據庫的邏輯結構或應用程式。
簡化資料庫設計:設計者可以專注於數據的邏輯結構,而不必過度關注數據如何實際存儲。這種抽象層級的設計,使得數據模型的構建和管理更加容易和可控。
應對資料結構變更:隨著業務需求的改變,可能需要修改資料庫結構。資料獨立性允許在不影響應用層的情況下進行這些修改,從而提高了資料庫系統的可擴展性。
ANSI/SPARC 資料庫三層架構之綱要
或稱資料庫管理系統之三層模式(三層綱要架構/three-schema architecture),由 ANSI/SPARC討論,在資料庫系統內描述描述資料的資料(schema/meta data)亦分為三層。
三層定義參考ANSI/SPARC資料庫三層架構定義。
建三層綱要目的
實現資料獨立性:
邏輯資料獨立性:通過概念模式,應用程式可以在不依賴物理存儲結構的情況下正常運作,即使底層的物理結構發生改變,應用層不會受到影響。
物理資料獨立性:內部模式的改變(如文件結構或索引的優化)不會影響概念模式,這樣應用程式和使用者不需要知道資料如何具體存儲,只需關注數據的邏輯結構。
2. 提供靈活性:
三層架構允許數據在不同層次上進行獨立變更。例如,內部模式的變更不會影響概念模式或外部模式,這樣可以靈活地調整存儲結構、優化效能或應對硬體更新,而不會干擾應用層邏輯。
3. 加強數據的安全性和隱私性:
外部模式允許為不同的使用者和應用程式定義專屬的數據視圖,從而控制每個使用者能夠存取的數據範圍。這樣可以保護敏感資料,防止未經授權的存取或操作,從而增強資料庫系統的安全性。
4. 簡化資料庫的管理和維護:
通過三層架構,資料庫管理員可以專注於不同層次上的問題。例如,內部層主要關注存儲效率和資源使用,概念層則關注數據模型設計和約束條件,外部層則關注使用者需求和應用程式的整合。這樣可以簡化資料庫系統的設計、優化和管理。
常見題目
- 繪圖說明ANSI/SPARC 資料庫架構
- 指出資料獨立概念在架構圖的位置與意義
- 舉例描述三層資料庫綱要與定義
沒有留言:
張貼留言
寫下幸福點子吧!