第1章 數據庫系統概論
1.0 課程概論
-
數據庫原理
-
數據庫應用
-
數據庫設計
-
推薦教材:計算機科學叢書:數據庫系統概念(原書第6版·本科教學版)楊冬青 西爾伯沙茨 機械工業出版社
1.3 數據庫(DB)與數據庫管理系統(DBMS)
1.3.1 數據庫
1.數據庫概念
數據庫(Database),簡稱DB,就是存儲數據的倉庫。一般定義爲長期存儲在計算機內的、有組織的、可共享的數據集合。
2.數據庫分類
- 物理數據庫
應用數據的集合,是數據庫的主體 - 描述數據庫
各級數據結構的描述
3.數據庫特點
- 數據結構化
數據庫的結構化是數據庫應用區別於文件系統的根本特徵 - 數據共享
數據共享大大減少了數據冗餘度和不一致性,提高了數據的利用率和工作效率 - 數據獨立性
- 物理獨立性 用戶的應用程序與存儲在磁盤上的數據庫的數據是相互獨立的
- 邏輯獨立性 用戶的應用程序與數據庫的邏輯結構是相互獨立的
1.3.2 數據庫管理系統(DBMS)
1.概念
數據庫管理系統(Database Management System),簡稱DBMS,介於用戶和操作系統之間,是數據庫系統中對數據進行管理的一組大型軟件系統,是數據庫系統的核心組成部分。
DBMS的作用類似於倉庫管理人員,主要是對數據庫進行各種操作和維護。
2.DBMS的主要功能
- 數據庫定義功能
提供**數據定義語言DDL(Database Definition Language)**來定義:- 數據的結構(物理+邏輯)、數據完整性和安全限制等約束條件
- 數據庫的三級模式、兩級映像
- 數據庫操縱功能
DBMS提供**數據操縱語言DML(Data Manipulation Language)**來實現對數據庫的操作,如查詢、 插入、刪除和修改。
DML有兩類:- 宿主型DML 嵌入在如C、Java、Delph、PowerBuilder等高級語言中
- 自主型/自含型DML 如Transact SQL、SQL Plus等
- 數據庫保護功能
DBMS對數據庫的保護主要包括四個方面:- 數據安全性控制 鑑別合法用戶、權限控制、數據加密、日誌審計、防止未被授權的用戶操作數據庫中的數據。
- 數據完整性控制 保持進入數據庫中的存儲數據的語義的正確性、有效性和相容性,防止操作對數據造成違反其語義的改變。
- 併發控制 DBMS允許多用戶併發訪問數據庫,解決多用戶下的併發衝突。
- 恢復功能 把處於故障的數據庫恢復到以前的某個正確的狀態,保證數據庫的一致性
- 數據庫維護功能 數據庫初始數據的裝入、轉換、數據庫的轉儲、重組、性能監視、分析等維護功能。
- 數據字典DD 數據字典(Data Dictionary),簡稱DD,是對數據庫結構的描述,存放着對實際數據庫三級模式的定義,是數據庫系統中各種描述信息和控制信息的集合。還存放數據庫運行時的統計信息。只有DBMS才能訪問。
3.DBMS的組成
- 語言編譯處理程序
- 數據定義語言DDL編譯程序
- 數據操縱語言DML編譯程序
- 系統運行控制程序
- 系統總控程序 DBMS運行程序的核心
- 安全性控制程序 防止未被授權用戶存取數據庫中的數據
- 完整性控制程序 檢查完整性約束條件,確保進入數據庫中的數據的正確性、有效性和相容性
- 併發控制程序 協調併發操作,保證數據一致性
- 數據存取和更新程序 實施增刪查改等操作
- 通信控制程序 用戶程序與DBMS之間的通信
- 事務管理程序
- 運行日誌管理程序
- ··· ···
- 系統建立、維護程序
- 裝配程序 完成初始數據庫的裝入
- 重組程序 當數據庫系統性能降低時,重新組織數據庫,重新裝入數據
- 系統恢復程序 數據庫系統收到破壞時,將數據庫恢復
- 數據字典系統程序
管理數據字典,實現數據字典功能。
4.DBMS對數據存取的步驟
- 用戶使用某種特定的數據操作語言向DBMS發出存取請求。
- DBMS接受請求並解釋。
- DBMS依次檢查外模式、外模式/模式映像、模式、模式/內模式映像及存儲結構定義。
- DBMS對存儲數據執行操作。
1.3.3 數據庫系統
數據庫系統(Database System),簡稱DBS,是採用了數據庫技術的計算機系統,通常由以下四部分組成:
- 數據庫
- 軟件
- 硬件
- 用戶
1.數據庫
數據庫是一個長期存儲在計算機內的,有組織的、可共享的、統一管理的數據集合。它是一個按數據結構來存儲和管理數據的計算機軟件系統。
2.硬件
包括中央處理器、內存、外存、輸入/輸出設備等硬件設備。
3.軟件
主要包括操作系統(Operation System),簡稱OS、數據庫管理系統DBMS、各種宿主語言和應用開發支撐軟件等程序。
4.用戶
- 普通用戶
- 應用程序員
- 數據管理員DBA(Database Administrator)
1.3.4 數據庫系統的主要研究領域
- 數據庫管理系統軟件的研製
- 數據庫設計
- 數據庫理論
1.4 數據庫體系結構
1.4.1 數據庫系統的結構
- 內部體系結構 三級模式結構
- 外部體系結構
- 單用戶結構
- 主從式結構
- 分佈式結構
- 客戶/服務機結構
1.4.2 數據庫模式
對於某一類數據的結構、特徵和約束的描述與刻畫。
在給定的數據模式下可以得到實例。
三個級別:
- 模式
- 又稱概念模式或邏輯模式
- 外模式
- 局部邏輯結構
- 又稱子模式或用戶視圖
- 內模式
- 數據在數據庫文件內部的表示方式
- 對一般用戶透明
1.4.3 數據庫的三級模式結構
- 模式
- 外模式
- 內模式
1.4.4 數據庫的兩級映像功能
1.模式間的映像
- 外模式/模式映像
- 模式/內模式映像
2.兩級數據獨立性
- 物理數據獨立性
- 邏輯數據獨立性
1.5 數據模型
數據模型是對現實世界數據特徵的抽象,是用來描述數據的一組概念和定義。
1.5.1 數據之間的聯繫
1.三個世界的劃分
- 現實世界
- 信息世界
- 機器世界
2.信息世界中的數據描述
- 實體
- 屬性 實體的某一特徵
- 碼 能唯一標識實體的屬性或屬性集
- 實體集 同一類型的實體的集合
- 域 屬性的取值範圍
- 實體型 用實體名和屬性名來描述同類實體 如:學生(學號,姓名,性別)
3.機器世界中的數據描述
- 字段
- 記錄
- 文件
- 鍵
4.三個世界術語的對應關係
現實世界 | 信息世界 | 機器世界 |
---|---|---|
事物總體 | 實體集 | 文件 |
事物個體 | 實體 | 記錄 |
特徵 | 屬性 | 字段 |
事物之間的聯繫 | 實體模型 | 數據模型 |
1.5.2 數據模型概述
1.分類
- 概念模型
- 結構數據模型 簡稱數據模型
2.數據模型三要素
- 數據結構
- 描述數據庫系統的靜態特性
- 通常按照數據結構的類型來命名數據模型 如層次結構對應層次模型
- 數據操作
- 描述數據庫系統的動態特性
- 主要有檢索和更新兩大類
- 數據的約束條件
- 一組完整性規則的集合
1.5.3 概念數據模型
E-R 實體聯繫模型
1.E-R圖三要素
- 實體 矩形框表示
- 屬性 橢圓形表示
- 實體間的聯繫 菱形框表示
2.實體間聯繫的兩種方式
- 同一實體集間的聯繫
- 不同實體集的實體間的聯繫(主要研究)
類型
- 一對一聯繫 1:1
- 一對多聯繫 1:n
- 多對多聯繫 m:n
1.5.4 關係模型及格式化模型
主要數據模型有:
- 關係模型
- 層次模型
- 網狀模型
- 面向對象模型
1.6 數據庫技術的應用與發展
1.6.1 數據庫技術的應用
- 網絡信息存儲
- 移動數據庫
- 空間數據庫
- 分佈式信息存儲
- 專家決策系統
1.6.2 數據庫技術的發展
- 人工管理階段
- 文件系統階段
- 數據庫階段
- 高級數據庫技術階段
- 分佈式數據庫系統
- 面向對象數據庫系統
- 能完整描述現實世界的數據結構,能表達數據間的嵌套、遞歸的聯繫
- 具有面向對象技術的封裝性和繼承性
- 各種新型的數據庫系統
本章小結
本章概述了信息、數據與數據處理的基本概念以及數據庫管理技術發展的歷史和現狀。
數據庫管理技術經歷了人工管理、文件系統、數據庫和高級數據庫技術四個階段。數據庫系統是在文件系統的基礎上發展而來的,同時克服了文件系統的三個缺陷:數據的冗餘度過大、數據不一致和文件間缺乏有機聯繫。
一個完整的數據庫系統應包含數據庫、硬件、軟件和用戶等幾部分。
數據庫是指長期存儲在計算機內、有組織的、可共享的數據集合。計算機硬件是數據庫系統存在和運行的硬件基礎。在計算軟件系統中,數據庫管理系統和操作系統是核心軟件。數據庫的用戶就是使用數據庫的人員,包括數據庫管理員(超級用戶)、普通用戶和應用程序員。
數據庫採用三級模式結構,構成了數據庫系統內部的體系結構,採用二級映像保證了數據庫系統的邏輯獨立性和物理獨立性。
數據模型是對現實世界進行抽象的工具,用於描述現實世界的數據、數據聯繫、數據語義和數據約束等方面的內容。數據模型分爲概念模型和結構模型兩大類。前者的代表是E-R模型,後者的代表是層次、網狀、關係和麪向對象模型。關係模型是當今的主流模型,面向對象模型則代表了未來的發展方向。