第2版前言
數(shù)據(jù)庫技術自20世紀60年代末誕生以來,在應用需求的推動下,一直在不斷地向前發(fā)展。為了反映數(shù)據(jù)庫學科的新技術和新進展,編者對本書的第1版進行了修訂。但編寫的基本宗旨和風格不變,保持講述數(shù)據(jù)庫的基本概念、基本理論和基本技術為主的特點。
第2版主要的修改包括如下內(nèi)容。
(1) 在第1章數(shù)據(jù)庫體系結構中,增加了的云數(shù)據(jù)庫架構的介紹。因數(shù)據(jù)庫管理系統(tǒng)的實現(xiàn)方法已有較大變化,因此刪除了相關內(nèi)容。
(2) 為了幫助讀者更好地理解數(shù)據(jù)庫的基礎理論,在關系代數(shù)、結構查詢語言(SQL)、數(shù)據(jù)庫保護等內(nèi)容中增加了一些圖示和例子。
(3) 在第3章關系數(shù)據(jù)庫標準語言SQL中,加強了對SQL標準的介紹,補充了不同DBMS對視圖更新的約定。
(4) 根據(jù)SQL的發(fā)展,刪除了目前已不常使用的嵌入式SQL。同時新增了一章數(shù)據(jù)庫編程,重點介紹幾種目前常見的數(shù)據(jù)庫編程方法,包括PL/SQL、存儲過程和函數(shù)、ODBC編程和JDBC編程。
(5) 因數(shù)據(jù)庫產(chǎn)品在不斷的變化中,第2版刪除了對數(shù)據(jù)庫產(chǎn)品的介紹,包括第1版第5章數(shù)據(jù)庫保護中對Oracle安全性、完整性、并發(fā)控制、恢復技術的介紹,以及第1版第7章關系數(shù)據(jù)庫管理系統(tǒng)實例。
(6) 對數(shù)據(jù)庫保護技術進行了擴充。在數(shù)據(jù)庫安全性內(nèi)容中補充了對強制存取控制的介紹,增加了SQL中的安全性控制,介紹如何用SQL定義安全性措施。數(shù)據(jù)庫完整性中增加了SQL中的完整性控制,介紹如何用SQL定義各類完整性規(guī)則,如何用觸發(fā)器定義復雜的完整性規(guī)則。
(7) 數(shù)據(jù)庫設計中,補充了UML的簡要介紹。
(8) 根據(jù)數(shù)據(jù)庫技術的進展,修訂了第1版第8章數(shù)據(jù)庫技術新進展。增加了反映數(shù)據(jù)庫發(fā)展的重要技術,包括數(shù)據(jù)模型的發(fā)展、云數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫、開源數(shù)據(jù)庫等,并介紹了數(shù)據(jù)管理技術的發(fā)展趨勢。
書中帶的章節(jié)為選學內(nèi)容。
在修訂本書的過程中,努力跟蹤數(shù)據(jù)庫學科的技術發(fā)展,有選擇地把它們納入教材中。但由于水平有限,書中難免存在不足之處,懇請讀者批評指正。
陳紅 王珊 張孝2021年4月于中國人民大學信息學院第1版前言
數(shù)據(jù)庫技術產(chǎn)生于20世紀60年代末,發(fā)展至今已有約30年的歷史。數(shù)據(jù)庫技術作為數(shù)據(jù)管理的有效的手段,它的出現(xiàn)極大地促進了計算機應用的發(fā)展,目前基于數(shù)據(jù)庫技術的計算機應用已成為計算機應用的主流。
30年來,數(shù)據(jù)庫技術本身也在不斷地發(fā)展和完善。關系數(shù)據(jù)庫已取代了早期的層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫,成為主流數(shù)據(jù)庫,而新一代數(shù)據(jù)庫也嶄露頭角。本書以關系數(shù)據(jù)庫為重點,比較全面系統(tǒng)地介紹了數(shù)據(jù)庫的基本概念和基本技術。取材上力圖反映當前數(shù)據(jù)庫技術的發(fā)展水平和發(fā)展趨勢。
本書共8章。
第1章緒論,概述了數(shù)據(jù)管理的進展、數(shù)據(jù)模型、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫工程的基本概念。
第2~4章講解了關系數(shù)據(jù)庫的數(shù)據(jù)模型、數(shù)據(jù)語言和設計理論,其中對關系數(shù)據(jù)庫的標準語言SQL進行了深入介紹。
第5章詳細討論了數(shù)據(jù)庫的安全性、完整性、并發(fā)控制和恢復等數(shù)據(jù)庫保護技術,并以一個關系數(shù)據(jù)庫產(chǎn)品為例,說明數(shù)據(jù)庫保護技術在實際產(chǎn)品中是如何實現(xiàn)的。
第6章講述了設計數(shù)據(jù)庫應用系統(tǒng)的方法。重點放在設計關系數(shù)據(jù)庫應用系統(tǒng)上。
第7章介紹關系數(shù)據(jù)庫產(chǎn)品的發(fā)展過程和5個關系數(shù)據(jù)庫產(chǎn)品實例。
第8章數(shù)據(jù)庫技術的新進展,介紹了數(shù)據(jù)庫技術的發(fā)展過程和新一代數(shù)據(jù)庫系統(tǒng),包括分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫、多媒體數(shù)據(jù)庫、主動數(shù)據(jù)庫、對象關系數(shù)據(jù)庫、數(shù)據(jù)倉庫、工程數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、空間數(shù)據(jù)庫等。
為了方便讀者學習,每章后面都附有一定量的習題。
在本書的編寫過程中,張基溫教授提出了許多寶貴意見,在此表示誠摯的謝意。由于水平有限,書中難免存在不足之處,懇請讀者批評指正。
王珊陳紅
于中國人民大學信息學院數(shù)據(jù)與知識工程研究所
第1章 緒論
1.1 引言
1.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)
1.1.2數(shù)據(jù)庫技術的產(chǎn)生與發(fā)展
1.2數(shù)據(jù)模型
1.2.1數(shù)據(jù)模型的組成要素
1.2.2 概念模型
1.2.3 常用的數(shù)據(jù)模型
1.3數(shù)據(jù)庫系統(tǒng)結構
1.3.1 數(shù)據(jù)庫系統(tǒng)的模式結構
1.3.2數(shù)據(jù)庫系統(tǒng)的體系結構
1.4數(shù)據(jù)庫管理系統(tǒng)
1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成
1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程
1.5數(shù)據(jù)庫工程與應用
1.5.1 數(shù)據(jù)庫設計的目標與特點
1.5.2數(shù)據(jù)庫設計方法
1.5.3數(shù)據(jù)庫設計步驟
1.5.4數(shù)據(jù)庫系統(tǒng)的組成習題
第2章關系數(shù)據(jù)模型
2.1關系數(shù)據(jù)庫概述
2.2關系數(shù)據(jù)結構
2.3關系的完整性
2.4關系代數(shù)
2.4.1傳統(tǒng)的集合運算
2.4.2專門的關系運算
2.5關系演算
2.5.1元組關系演算語言 ALPHA
2.5.2域關系演算語言QBE
2.6關系數(shù)據(jù)庫管理系統(tǒng)
習題
第3章 關系數(shù)庫標準語言SQL
3.1SQL概述
3.1.1 SQL的特點
3.1.2SQL的基本概念
3.2數(shù)據(jù)定義
3.2.1 創(chuàng)建、修改與刪除基本表
3.2.2創(chuàng)建與刪除索引
3.3查詢
3.3.1單表查詢
3.3.2連接查詢
3.3.3嵌套查詢
3.3.4集合查詢.
3.3.5小結
3.4數(shù)據(jù)更新
3.4.1插人數(shù)據(jù)
3.4.2修改數(shù)據(jù)
3.4.3刪除數(shù)據(jù)
3.5視圖
3.5.1定義視圖
3.5.2 查詢視圖
3.5.3 更新視圖
3.5.4視圖的用途
習題
第4章數(shù)據(jù)庫編程
4.1PL/SQL
4.1.1 PL/SQL的塊結構
4.1.2 變量和常量的定義
4.1.3 流程控制
4.1.4 游標
4.2存儲過程和函數(shù)
4.2.1 存儲過程
4.2.2函數(shù)
4.3 ODBC編程
4.3.1開放式數(shù)據(jù)庫互連概述
4.3.2ODBC工作原理
4.3.3 ODBC 編程
4.3.4ODBC的工作流程
4.4 JDBC編程
4.4.1概念
4.4.2實用例子
4.4.3 主要接口分類
習題
第5章 數(shù)據(jù)庫保護
5.1 安全性.
5.1.1安全性控制的一般方法
5.1.2SQL中的安全性控制
2 完整性
5.2.1 完整性約束條件
5.2.2完整性控制
5.2.3SQL中的完整性控制
5.3并發(fā)控制
5.3.1并發(fā)控制概述
5.3.2并發(fā)操作的調(diào)度
5.3.3封鎖
5.3.4活鎖和死鎖
5.4恢復.
5.4.1恢復的原理
5.4.2恢復的實現(xiàn)技術.
5.5數(shù)據(jù)庫復制與數(shù)據(jù)庫鏡像.
5.5.1數(shù)據(jù)庫復制
5.5.2數(shù)據(jù)庫鏡像.
習題..
第6章關系數(shù)據(jù)庫設計理論
6.1數(shù)據(jù)依賴
6.1.1 關系模式中的數(shù)據(jù)依賴.
6.1.2數(shù)據(jù)依賴對關系模式的影響..
6.1.3有關概念..
6.2范式
6.2.1范式(1NF).
6.2.2第二范式(2NF).
6.2.3第三范式(3NF)
6.2.4BC范式(BCNF)
6.2.5多值依賴與第四范式(4NF)
6.3關系模式的規(guī)范化
6.3.1關系模式規(guī)范化的步驟
6.3.2 關系模式的分解
習題
第7 章數(shù)據(jù)庫設計
7.1數(shù)據(jù)庫設計的步驟
7.2需求分析
7.2.1 需求分析的任務
7.2.2 需求分析的方法
7.2.3數(shù)據(jù)字典
7.3 概念結構設計
7.3.1概念結構設計的方法與步驟
7.3.2抽象數(shù)據(jù)并設計局部視圖
7.3.3集成局部視圖
7.3.4UML
7.4邏輯結構設計
7.4.1E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換
7.4.2數(shù)據(jù)模型的優(yōu)化
7.4.3設計用戶子模式
7.5數(shù)據(jù)庫物理設計
7.6數(shù)據(jù)庫實施
7.7 數(shù)據(jù)庫運行與維護
7.8小結
習題
第8章數(shù)據(jù)庫技術新進展
8.1數(shù)據(jù)庫技術發(fā)展概述
8.2數(shù)據(jù)模型及數(shù)據(jù)庫系統(tǒng)的發(fā)展
8.2.1代數(shù)據(jù)庫系統(tǒng)
8.2.2第二代數(shù)據(jù)庫系統(tǒng)
8.2.3 新一代數(shù)據(jù)庫系統(tǒng)
8.3 數(shù)據(jù)庫系統(tǒng)發(fā)展的特點
8.3.1數(shù)據(jù)模型的發(fā)展
8.3.2 數(shù)據(jù)庫技術與相關計算機技術相結合
8.3.3小結
8.4 數(shù)據(jù)倉庫與數(shù)據(jù)分析
8.4.1從數(shù)據(jù)庫到數(shù)據(jù)倉庫
8.4.2數(shù)據(jù)倉庫的基本特征
8.4.3分析工具.
8.4.4基于數(shù)據(jù)庫技術的數(shù)據(jù)倉庫系統(tǒng)
8.5開源數(shù)據(jù)庫
8.5.1 開源數(shù)據(jù)庫的特色
8.5.2三類開源數(shù)據(jù)庫
8.6 數(shù)據(jù)管理技術的發(fā)展趨勢
8.6.1數(shù)據(jù)管理與應用所面臨的巨大變化
8.6.2 數(shù)據(jù)管理技術面臨的挑戰(zhàn)
8.6.3數(shù)據(jù)管理技術的發(fā)展與展望
習題
參考文獻