黨的二十大報告指出: 教育、科技、人才是全面建設社會主義現代化國家的基礎性、戰(zhàn)略性支撐。必須堅持科技是第一生產力、人才是第一資源、創(chuàng)新是第一動力,深入實施科教興國戰(zhàn)略、人才強國戰(zhàn)略、創(chuàng)新驅動發(fā)展戰(zhàn)略,這三大戰(zhàn)略共同服務于創(chuàng)新型國家的建設。高等教育與經濟社會發(fā)展緊密相連,對促進就業(yè)創(chuàng)業(yè)、助力經濟社會發(fā)展、增進人民福祉具有重要意義。
數據庫技術是計算機科學技術中發(fā)展最快的技術之一,它已成為計算機信息系統(tǒng)與應用系統(tǒng)的核心技術和重要基礎。數據庫技術已在當代的社會生活中得到廣泛的應用,并形成一個巨大的軟件產業(yè)。
數據庫技術始于20世紀60年代末,經過50多年的發(fā)展,經歷3次演變,形成以數據建模和DBMS核心技術為主,具有相當規(guī)模的理論體系和實用技術的一門學科,目前已成為計算機軟件領域的一個重要分支。通常,人們把早期的層次數據庫系統(tǒng)與網狀數據庫系統(tǒng)稱為第一代數據庫系統(tǒng),把當今流行的關系數據庫系統(tǒng)稱為第二代數據庫系統(tǒng),當前正在發(fā)展的熱點是新型的第三代乃至第四代數據庫系統(tǒng)。數據庫技術的發(fā)展方興未艾,新原理、新技術不斷出現,然而,這些新型數據庫系統(tǒng)大多建立在基本的數據庫技術基礎之上。
本書是上海市精品課程數據庫原理及應用配套教材的第3版。本書共11章,結合電力企業(yè)數據庫應用案例,較為詳細地介紹了數據庫系統(tǒng)的基本概念、原理、方法和應用技術。
第1章介紹數據庫系統(tǒng)的幾個重要概念,回顧數據管理技術的發(fā)展過程,并在此基礎上介紹數據庫系統(tǒng)結構和數據庫管理系統(tǒng)的體系結構。
第2章介紹關系數據庫的基本概念、關系模型的運算理論關系代數和關系演算。
第3章介紹結構化查詢語言的應用,提供了很多有實際應用價值的實例。
第4章介紹數據庫編程和存儲程序,詳細介紹了數據庫的流程控制語句和存儲過程。
第5章基于MySQL和SQL Server兩個不同的DBMS介紹觸發(fā)器的應用,并進一步介紹數據完整性的概念。
第6章介紹索引的概念及基于索引的查詢優(yōu)化。
第7章介紹關系數據庫設計理論,包括函數依賴、規(guī)范化、公理系統(tǒng)和模式分解等內容。
第8章介紹一些常用的數據庫設計方法,主要介紹數據庫的概念設計、邏輯設計以及物理設計,并給出一個電力系統(tǒng)數據庫應用的實例。
第9章介紹數據庫安全的概念,以及MySQL和SQL Server系統(tǒng)的安全機制。
第10章介紹數據庫保護,包括事務、并發(fā)控制和數據庫的恢復,并介紹
MySQL和SQL Server中的數據庫備份與恢復。
第11章介紹非關系數據庫的概念及大數據應用。
附錄A和附錄B分別介紹MySQL 8.0和SQL Server 2012的安裝與使用。
附錄C和附錄D基于MySQL和SQL Server的實驗,緊密結合本書內容分別提供8個上機實驗,力求使實驗內容詳細、實用。
每章結尾均配有適量的習題,以加強讀者對數據庫系統(tǒng)概念、方法的理解和掌握。
本書的最大特點是理論和應用并重,在系統(tǒng)介紹關系數據庫基本原理的基礎上,給出了非常多的應用實例,并且給出了MySQL和SQL Server兩種DBMS的實現。
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、電子教案、程序源碼、教學進度表、在線作業(yè)、習題答案和600分鐘的微課視頻。
資源下載提示
課件等資源: 掃描封底的課件下載二維碼,在公眾號書圈下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,再掃描自測題二維碼在線做題及查看答案。
微課視頻: 掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)的視頻講解二維碼,可以在線學習。
本書可作為高等院校計算機、軟件工程、信息安全、信息管理與信息系統(tǒng)、信息與計算科學、電氣工程等相關專業(yè)學生數據庫
相關課程的教材。
在具體講授時應根據需要對內容進行適當取舍。
本書由上海電力大學葉文珺老師負責內容的取材、組織和統(tǒng)稿,參與本書編寫的老師有葉文珺、馮莉、杜海舟、徐菲菲、殷脂。還有很多老師為本書提供了資料或提出了寶貴意見,在此一并表示感謝。
在本書的編寫過程中,編者盡可能引入新的技術和方法,力求反映當前的技術水平和未來的發(fā)展方向。由于編者水平有限,書中難免存在不足之處,敬請廣大讀者批評指正。
編者
2024年3月
源碼下載
第1章緒論
1.1數據庫系統(tǒng)概述
1.1.1數據庫的發(fā)展歷史
1.1.2數據庫技術的基本術語
1.1.3數據管理技術的發(fā)展
1.2數據模型
1.2.1數據的3個范疇
1.2.2數據模型的組成要素及分類
1.2.3常用的數據模型
1.3數據庫系統(tǒng)結構
1.3.1三級模式結構
1.3.2數據庫系統(tǒng)的二級獨立性
1.3.3數據庫系統(tǒng)的二級映像
1.4數據庫管理系統(tǒng)
1.4.1DBMS的主要功能
1.4.2DBMS的組成概述
1.4.3DBMS的工作過程
小結
習題1
第2章關系數據庫
2.1關系數據模型
2.1.1關系數據模型概述
2.1.2基本術語
2.1.3關系的性質
2.2關系的完整性
2.3關系代數
2.3.1傳統(tǒng)的集合運算
2.3.2專門的關系運算
2.3.3關系代數運算的應用實例
2.3.4關系代數的擴充操作
2.4關系演算
2.4.1元組關系演算
2.4.2域關系演算
2.4.3關系演算的安全約束和等價性
小結
習題2
第3章結構化查詢語言
3.1SQL概述
3.1.1SQL的發(fā)展
3.1.2SQL的特點
3.1.3SQL的基本概念
3.2數據定義語句
3.2.1基本表的定義
3.2.2基本表的修改
3.2.3基本表的刪除
3.2.4約束的添加和刪除
3.3查詢
3.3.1單表查詢
3.3.2連接查詢
3.3.3嵌套查詢
3.3.4集合查詢
3.3.5通過中間表查詢
3.4數據更新
3.4.1插入數據
3.4.2修改數據
3.4.3刪除數據
3.5視圖
3.5.1視圖的建立與刪除
3.5.2查詢視圖
3.5.3更新視圖
3.5.4視圖的作用
小結
習題3
第4章數據庫編程和存儲程序
4.1基本編程語法
4.1.1變量
4.1.2流程控制語句
4.1.3注釋語句
4.2存儲過程
4.2.1存儲過程的基本概念
4.2.2創(chuàng)建和管理MySQL存儲過程
4.2.3創(chuàng)建和管理SQL Server存儲過程
4.3MySQL存儲函數
4.3.1創(chuàng)建存儲函數
4.3.2刪除存儲函數
小結
習題4
第5章觸發(fā)器和數據完整性
5.1觸發(fā)器
5.1.1觸發(fā)器的基本概念
5.1.2創(chuàng)建MySQL觸發(fā)器
5.1.3創(chuàng)建SQL Server觸發(fā)器
5.1.4刪除觸發(fā)器
5.2數據庫完整性
小結
習題5
第6章索引及查詢優(yōu)化
6.1索引
6.1.1索引的概念
6.1.2聚集索引
6.1.3非聚集索引
6.1.4索引的結構
6.1.5何時創(chuàng)建索引
6.1.6系統(tǒng)如何訪問表中的數據
6.2查詢優(yōu)化技巧
小結
習題6
第7章關系數據庫設計理論
7.1問題的提出
7.2基本概念
7.2.1函數依賴
7.2.2碼
7.3規(guī)范化
7.3.1第一范式
7.3.2第二范式
7.3.3第三范式
7.3.4BC范式
7.3.5多值依賴與第四范式
7.3.6關系模式的規(guī)范化
7.4函數依賴的公理系統(tǒng)
7.4.1Armstrong公理系統(tǒng)
7.4.2閉包
7.4.3函數依賴集的等價和最小化
7.5模式分解
7.5.1模式分解的準則
7.5.2分解的函數依賴保持性和無損連接性
7.5.3模式分解的算法
小結
習題7
第8章數據庫設計
8.1數據庫設計概述
8.1.1數據庫的生命周期
8.1.2數據庫設計方法
8.1.3數據庫的設計過程
8.2需求分析階段
8.3概念設計階段
8.3.1概念模型的特點
8.3.2實體聯(lián)系模型
8.3.3概念模型的設計方法與步驟
8.4邏輯設計階段
8.5物理設計階段
8.6數據庫實現階段
8.7數據庫的運行與維護階段設計
8.8數據庫設計實例: 電網設備搶修物資管理數據庫設計
8.8.1需求分析
8.8.2概念模型
8.8.3邏輯模型
小結
習題8
第9章數據庫安全
9.1數據庫安全概述
9.1.1數據庫安全要求
9.1.2數據庫安全威脅
9.2數據庫安全控制
9.2.1用戶標識與鑒別
9.2.2存取控制
9.2.3視圖機制
9.2.4審計
9.2.5數據加密
9.3MySQL的安全性
9.3.1MySQL權限系統(tǒng)的工作原理
9.3.2MySQL的用戶管理
9.3.3MySQL的權限管理
9.3.4MySQL的角色管理
9.4SQL Server的安全性
9.4.1SQL Server的身份驗證模式
9.4.2SQL Server的安全機制
9.4.3SQL Server的用戶管理
9.4.4SQL Server的角色管理
9.4.5SQL Server的權限管理
小結
習題9
第10章數據庫保護
10.1事務
10.1.1事務的定義
10.1.2事務的ACID性質
10.1.3事務的狀態(tài)
10.2并發(fā)控制
10.2.1并發(fā)操作與數據的不一致性
10.2.2封鎖
10.2.3并發(fā)操作的調度
10.3數據庫的恢復
10.3.1存儲器的結構
10.3.2故障的種類
10.3.3數據轉儲技術
10.3.4使用日志的數據庫恢復技術
10.3.5緩沖技術
10.3.6檢查點技術
10.3.7恢復策略
10.4MySQL數據庫備份與恢復
10.4.1MySQL數據庫備份的類型
10.4.2MySQL數據庫備份
10.4.3MySQL數據庫恢復
10.4.4導出和恢復表數據
10.4.5通過二進制日志還原數據庫
10.5SQL Server數據庫備份與恢復
10.5.1SQL Server數據庫備份
10.5.2SQL Server數據庫恢復
小結
習題10
第11章非關系數據庫系統(tǒng)概述
11.1NoSQL概述
11.1.1NoSQL簡介
11.1.2NoSQL興起的原因
11.1.3NoSQL與傳統(tǒng)關系數據庫的比較
11.1.4NoSQL的四大類型
11.1.5CAP理論
11.1.6BASE
11.1.7最終一致性
11.2典型NoSQL數據庫介紹
11.2.1Redis數據庫(鍵值數據庫)
11.2.2HBase數據庫(列式數據庫)
11.2.3Neo4j 數據庫(圖數據庫)
11.2.4MongoDB(文檔數據庫)
11.3大數據應用
11.3.1大數據在電力行業(yè)的應用
11.3.2大數據在政府中的應用
11.3.3大數據在金融行業(yè)的應用
11.3.4大數據在交通行業(yè)的應用
11.3.5大數據應用的發(fā)展趨勢
小結
習題11
附錄AMySQL的安裝與使用
附錄BSQL Server 2012的安裝與使用
附錄C實驗(MySQL版)
附錄D實驗(SQL Server版)
參考文獻