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