天天看點

1. 資料庫基礎 - 簡活

1. 資料庫基礎

技術發展

先後經曆 人工管理、檔案系統、資料庫系統 等3個階段

人工管理階段

  • 資料 不儲存、不共享、不具有獨立性
  • 使用 應用程式管理資料

檔案系統階段

  • 資料長期儲存、共享性差、獨立性差
  • 資料備援大
  • 檔案系統管理資料

資料庫系統階段

  • 長期儲存、多使用者、多應用程式共享資料
  • 資料庫系統管理資料

系統組成

1. 資料庫基礎 - 簡活

體系結構

資料庫三級模式結構

模式

  • 也稱邏輯模式或概念模式,用于描述全體資料的邏輯結構和特征
  • 位于三級結構中間層
  • 1 個資料庫隻有 1 個模式

外模式

  • 也稱為使用者模式
  • 是資料庫使用者能看到的局部資料,是資料庫使用者的資料視圖
  • 外模式是模式的子集
  • 1個資料庫可有n個外模式

外模式是保護資料安全性的一個有力措施

内模式

  • 也稱為存儲模式
  • 資料實體結構和存儲方式的描述
  • 1個資料庫隻有1個内模式

三級模式之間的映射

外模式 - 模式

同一個模式 任意多個外模式,對于每個外模式,資料庫系統都存在一個 外模式 - 模式 映射

模式 - 内模式

隻有一個模式對應一個内模式,是以模式 - 内模式 是唯一的

資料模型

概念

  • 資料模型是資料庫系統的核心與基礎,是描述 資料與資料之間的聯系、資料含義、資料一緻性限制的概念性工具集合
  • 資料庫模型由資料結構、資料操作、完整性限制組成

資料結構:對資料庫系統的靜态描述,描述包括資料類型、性質、資料之間的互相關系

資料操作:對資料庫系統的動态描述,是對資料庫各種對象執行個體的操作

完整性限制:定義資料模型中資料及其聯系所具有的制約依存規則

常見的資料模型

常見的資料模型主要有層次模型、網狀模型、關系模型

層次模型

樹型結構表示實體類型及實體之間聯系

  • 每棵樹有且僅有一個無雙親節點:根
  • 樹中除根外的所有節點有且隻有一個雙親

網狀結構

有向圖結構表示實體類型與實體間聯系

  • 用網狀模型編寫應用程式極其複雜,資料獨立性差

關系模型

二維表來描述資料,關系模型資料結構簡單、清晰,很高的資料獨立性

關系模型基本術語

  • 關系:一個二維表就是一個關系
  • 元祖:二維表的一行,表中的記錄
  • 屬性:二維表的一列,用類型和值表示
  • 域:每個屬性的取值範圍,例如性别的域為{男、女}

關系模型資料限制

  • 實體完整性限制:主鍵屬性不能為空值
  • 參照完整性限制:關系之間的基本限制
  • 使用者自定義完整性限制:具體屬性的數值要求

關系資料庫的規範化

關系資料庫的規範化理論認為:關系資料庫中的每個關系都要滿足一定的範式。可分為5個等級。

一般情況下,滿足到第三範式即可 (NF 是Normal Form 縮寫)

第一範式 1NF

沒有多餘的重複字段

備援字段

符合第一範式的例子

1. 資料庫基礎 - 簡活

不符合第一範式的例子 

1. 資料庫基礎 - 簡活

 這裡有多個昵稱,不符合第一範式

第二範式 2NF

在第一範式的前提下,每個非主鍵的字段都要依賴主鍵字段

主鍵 -- 非主鍵 關系

1. 資料庫基礎 - 簡活

符合第二範式但不符合第三範式的例子 

1. 資料庫基礎 - 簡活
第三範式 3NF 

主鍵 -- 非主鍵 -- 非主鍵

在第二範式基礎上,主鍵和非主鍵的對應關系:a->b 而不是 a -> b -> c(主鍵 - 非主鍵 - 非主鍵)

第三範式要求,去除傳遞依賴

簡單一點來說,即一個表隻處理一個事情

例子:

1. 資料庫基礎 - 簡活
1. 資料庫基礎 - 簡活

關系資料庫的設計原則

  1. 最大限度的共享、最小的備援度(不是禁止備援,要在業務與資料表中做最好的權衡)
  2. 新增、修改資料時保證資料的一緻性和正确性
  3. 保證資料和使用資料的應用程式之間的獨立性

實體與關系

實體是指客觀存在并且可以互相區分的事物,實體即可以是實際事物,也可以是抽象的事物

資料庫中實體的3種關系

一對一

表A中存在1條資料與表B中有且隻有1條資料相比對

一對多

表A存在1條資料與表B中的多條資料比對

多對多

表A的多條資料與表B的多條資料比對,需要建立第3個表(稱為連接配接表)來實作

連接配接表包含兩個表的主鍵列

常見關系資料庫

Access資料庫

Microsoft Office 中包含Access資料庫,核心是Microsoft Jet 資料庫引擎

SQL Server資料庫

微軟開發的大型關系資料庫系統

優勢有2點:

  • 統一開發環境:SQL Server2005與VS2005擁有統一的開發環境。高版本未知
  • .net架構內建:SQL Server 2005包含.NET Framework 2.0。高版本未知

Oracle資料庫

美國甲骨文公司提供的分布式資料庫為核心的軟體産品

Oracle是全世界使用最為廣泛的關系型資料庫

Oracle在并行處理、實時性、資料處理和速度方面都有較好的性能

思維導圖

1. 資料庫基礎 - 簡活
1. 資料庫基礎 - 簡活