四個基本概念
數據 Data
即數據庫中存儲的基本對象,有多個屬性,有類型,有屬性名,有長度大小的定義等等。
數據的意義是由數據的語意來決定的。
數據庫 Database
數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合
特征
- 數據按一定的數據模型組織、描述和儲存
- 可為各種用戶共享
- 冗余度較小
- 數據獨立性較高
- 易擴展
數據庫管理系統 DBMS
是一個基礎軟件,負責數據庫與上層數據庫用戶直接的交互,提供交互接口,往下管理數據庫,組織數據庫的存儲,查詢等操作。
- 提供數據定義語言DDL。
- 數據組織,存儲,管理
- 數據操控:增刪查改等
- 數據庫的事務管理和運行管理
- 數據庫的建立與維護
- 與其他系統之間交流
數據庫系統 DBS
數據庫系統的構成
- 數據庫
- 數據庫管理系統(及其開發工具)
- 應用系統
- 數據庫管理員 (DBA, DataBase Adminintrator)
數據庫系統的示意圖
獨立性
物理獨立性
指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不用改變
邏輯獨立性
指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不變, 從而簡化了應用程序的編制,減少了應用程序的維護和修改。
物理和邏輯上的獨立,將數據和應用程序真正解耦,降低了軟件開發的復雜度,提升了應用的可維護性。
數據庫系統模式
從數據庫管理系統角度看,數據庫系統通常采用三級模式結構,是數據庫系統DBS內部的系統結構。
通常采用三級模式結構:模式Schema,外模式External Schema,內模式Internal Schema。
模式
模式也稱為邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。是數據庫系統模式結構的中間層,和具體的應用程序以及具體的硬件環境都無關。
外模式
外模式也稱為子模式,用戶模式,它是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特征描述,是數據庫用戶的數據視圖,是與某一應用程序有關的數據的邏輯表示。
內模式
內模式也稱為存儲模式,一個數據庫只有一個內模式,他是數據物理結構和存儲方式的描述,是數據在數據庫內部的描述方式。
示例圖
外模式與外部應用程序交互,提供交互定義語言,以及交互的接口。
內模式與物理存儲進行交互,管理數據庫文件的物理存儲方式,組織數據的查詢,修改,維護等操作。
二級映射
模式和外模式之間的映射
模式描述的的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。一個模式可以對應多個外模式。
當模式改變是,可以保證外模式不變,而應用程序是根據外模式來編寫的,所以應用程序也無需修改,這種數據與應用程序之間的獨立性叫做邏輯獨立性。
模式和內模式之間的映射
數據庫之中只有一個模式,就是內模式,所以內模式和模式之間的映射是唯一的,塔頂了數據的全局邏輯結構和物理存儲結構之間的對應關系。
當存儲結構(物理上)發生改變時,可以使模式不變,從而保證了上一層的模式與外模式之間的映射的穩定性,所以應用程序也無需改變。這樣就保證了數據與程序之間的物理獨立性。
外模式相當於接口層,內模式相當於底層/移植層,中間的Schema與具體的硬件環境,使用數據庫的編程語言無關,是數據庫設計的邏輯層,所以也稱之為邏輯模式。
- 數據庫中全體數據的邏輯結構和特征的描述
- 所有用戶的公共數據視圖,綜合了所有用戶的需求
- 一個數據庫只有一個模式
三種模式的總結
數據模型
- 數據結構
- 數據操作
- 完整性約束條件