1. 數據庫基礎

技術發展

前後經歷 人工管理、文件系統、數據庫系統 等3個階段數據庫

 

人工管理階段

  • 數據 不保存、不共享、不具備獨立性安全

  • 使用 應用程序管理數據數據結構

 

文件系統階段

  • 數據長期保存、共享性差、獨立性差框架

  • 數據冗餘分佈式

  • 文件系統管理數據工具

 

數據庫系統階段

  • 長期保存、多用戶、多應用程序共享數據性能

  • 數據庫系統管理數據spa

 

 

 

系統組成

 

 

 

 

 

體系結構

數據庫三級模式結構

模式

  • 也稱邏輯模式概念模式,用於描述全體數據的邏輯結構和特徵.net

  • 位於三級結構中間層設計

  • 1 個數據庫只有 1 個模式

 

外模式

  • 也稱爲用戶模式

  • 是數據庫用戶能看到的局部數據,是數據庫用戶的數據視圖

  • 外模式是模式的子集

  • 1個數據庫可有n個外模式

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

 

內模式

  • 也稱爲存儲模式

  • 數據物理結構存儲方式的描述

  • 1個數據庫只有1個內模式

 

 

三級模式之間的映射

外模式 - 模式

同一個模式 任意多個外模式,對於每一個外模式,數據庫系統都存在一個 外模式 - 模式 映射

 

模式 - 內模式

只有一個模式對應一個內模式,因此模式 - 內模式 是惟一的

 

 

 

數據模型

概念

  • 數據模型是數據庫系統的核心與基礎,是描述 數據與數據之間的聯繫、數據含義、數據一致性約束的概念性工具集合

  • 數據庫模型由數據結構、數據操做、完整性約束組成

 

數據結構:對數據庫系統的靜態描述,描述包括數據類型、性質、數據之間的相互關係

數據操做:對數據庫系統的動態描述,是對數據庫各類對象實例的操做

完整性約束:定義數據模型中數據及其聯繫所具備的制約依存規則

 

 

常見的數據模型

常見的數據模型主要有層次模型、網狀模型、關係模型

 

層次模型

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

  • 每棵樹有且僅有一個無雙親節點:根

  • 樹中除根外的全部節點有且只有一個雙親

 

網狀結構

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

  • 用網狀模型編寫應用程序極其複雜,數據獨立性差

 

關係模型

二維表來描述數據,關係模型數據結構簡單、清晰,很高的數據獨立性

 

關係模型基本術語

  • 關係:一個二維表就是一個關係

  • 元祖:二維表的一行,表中的記錄

  • 屬性:二維表的一列,用類型和值表示

  • 域:每一個屬性的取值範圍,例如性別的域爲{男、女}

 

關係模型數據約束

  • 實體完整性約束:主鍵屬性不能爲空值

  • 參照完整性約束:關係之間的基本約束

  • 用戶自定義完整性約束:具體屬性的數值要求

 

關係數據庫的規範化

關係數據庫的規範化理論認爲:關係數據庫中的每一個關係都要知足必定的範式。可分爲5個等級。

通常狀況下,知足到第三範式便可 (NF 是Normal Form 縮寫)

 

第一範式 1NF

沒有多餘的重複字段

冗餘字段

符合第一範式的例子


不符合第一範式的例子 


 這裏有多個暱稱,不符合第一範式

 

第二範式 2NF

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

主鍵 -- 非主鍵 關係


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

 

第三範式 3NF 

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

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

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

簡單一點來講,即一個表只處理一個事情

例子:

 

 

 

 

關係數據庫的設計原則

  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在並行處理、實時性、數據處理和速度方面都有較好的性能

 

 

 

思惟導圖

 

相關文章
相關標籤/搜索