07.13 「每天五分鐘,備戰架構師-8」數據庫系統

對於IT從業人員,一定聽到過數據庫的概念。顧名思義,數據庫系統就是管理數據存儲的軟件。本篇就軟件等級考試相關的數據庫系統知識從整體上進行總結,方便大家複習。

1. 數據庫管理系統的類型

數據庫系統有不同的分類方法(見下圖),現代的數據庫系統大多具有多用戶、分佈式的特點,因此最重要的區別就在於所採用的數據模型。對於關係型數據庫比較出名的有Mysql、Oracle,對於層次性數據庫典型的有IMS,還有圖數據庫等等其它類型的數據庫。

「每天五分鐘,備戰架構師-8」數據庫系統

2. 數據庫模式與範式

模式:

範式:

2.1 數據庫的結構與模式

數據庫結構分為多個層次,最著名的是美國ANSI/SPARC數據庫系統研究組1975年提出的三級劃分法。

這一部分幾乎每年都會考。

「每天五分鐘,備戰架構師-8」數據庫系統

2.1.1 三級抽象

分為三個抽象級別:用戶級、概念級、物理級。

  • 用戶級:對應於外模式,最接近用戶,又稱用戶視圖。
  • 概念級:對應於概念模式,是所有用戶視圖的最小並集,是數據庫管理員看到和使用的數據庫。
  • 物理級:對應於內模式,描述數據的實際存儲組織,又稱內部視圖。物理級數據庫並不是真正的物理存儲,而是最接近於物理存儲的級。

2.1.2 三級模式

三級模式分別為:概念模式、外模式、內模式。

  • 概念模式:又叫模式、邏輯模式,描述數據庫的邏輯結構,描述現實世界的實體及其性質與聯繫,是數據項值的框架。是數據庫全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據試圖。一個數據庫只有一個概念模式。
  • 外模式:描述用戶看到、使用部分數據的邏輯結構,用戶根據外模式用DML語句操作數據。一個數據庫可以有多個外模式,一個應用程序只能使用一個外模式。
  • 內模式:定義存儲記錄的類型、存儲域及存儲記錄的物理順序。一個數據庫只有一個內模式。

2.1.3 兩級獨立性

  • 物理獨立性:應用程序與數據庫的物理存儲是相獨立的,存儲發生變化時,應用程序不需要變化。
  • 邏輯獨立性:應用程序與數據庫的邏輯結構相互獨立,存在於外模式和概念模式之間的映射轉換。

2.2 數據模型

  • 概念數據模型:也叫實體聯繫模型 E-R模型。按照用戶的觀點對數據和信息建模,用於數據庫設計。
  • 基本數據模型:也叫結構數據模型。按照計算機系統的觀點來對數據和信息建模,用於DBMS的實現。是數據庫系統的核心和基礎,包括數據結構、數據操作、完整性約束三部分。
  • 層次模型:使用樹型結構表示實體類型及實體間聯繫。優點是查詢效率高,缺點m:n聯繫實現複雜。
  • 網狀模型:使用有向圖表示實體類型及實體間聯繫。優點查詢效率高,缺點應用程序編寫複雜。
  • 關係模型:使用表格結構表達實體集,外鍵表示實體間聯繫。
  • 面向對象模型

2.3 數據規範化

關係模型滿足確定的約束條件稱為範式,根據約束條件的級別,由低到高分為:1NF(第一範式)、2NF(第二範式)、3NF(第三範式)、BCNF(BC範式)、4NF(第四範式)等。

規範化的過程是指把一個低一級的關係模型分解為高一級關係模型的過程,必須遵恤兩個原則:1、無損連接性,信息不失真(增減);2、函數依賴保持,不破壞屬性間的依賴關係。

  • 1NF:最低的規範化要求。達到元素(屬性)不可再分即可,是數據庫設計中必須達到的。
  • 2NF:所有的非主屬性都完全依賴於主屬性,則稱之為第二範式。
  • 3NF:屬於第二範式,且每個非主屬性不傳遞依賴於主屬性。
  • BCNF:第三範式的改進,考的較少。沒有屬性完全函數依賴於一組非主屬性。
  • 4NF:

規範化設計會帶來性能的降低,實際工作中要根據實際情況決定數據規範的級別。有時會進行反規範化操作,利用更多的空間來換來執行效率的提升。

歡迎大家關注我,瞭解更多的軟考相關的內容。我會陪伴大家一起準備軟件等級考試的複習,同時也會不定期分享一些互聯網技術資料,同大家一起成長。

「每天五分鐘,備戰架構師-8」數據庫系統


分享到:


相關文章: