本書以關系數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019為平臺, 通過案例全面而系統(tǒng)地從數(shù)據(jù)庫基礎、數(shù)據(jù)庫原理和數(shù)據(jù)庫應用與實踐3個方面闡述了數(shù)據(jù)庫的基本理論和設計方法。數(shù)據(jù)庫基礎知識主要從宏觀角度介紹了數(shù)據(jù)庫系統(tǒng)的相關概念、數(shù)據(jù)管理技術(shù)的發(fā)展、大數(shù)據(jù)時代數(shù)據(jù)庫架構(gòu)的多元化發(fā)展、數(shù)據(jù)模型和數(shù)據(jù)庫的體系結(jié)構(gòu), 數(shù)據(jù)庫原理包括關系數(shù)據(jù)庫基本理論、關系規(guī)范化理論、數(shù)據(jù)庫設計的方法和步驟。
第1章數(shù)據(jù)庫系統(tǒng)概述
1.1數(shù)據(jù)庫基礎知識
1.1.1認識數(shù)據(jù)庫及其應用
1.1.2數(shù)據(jù)庫的相關概念
1.2數(shù)據(jù)管理技術(shù)的發(fā)展
1.2.1數(shù)據(jù)管理技術(shù)的發(fā)展階段
1.2.2數(shù)據(jù)庫技術(shù)的發(fā)展
1.2.3當代信息系統(tǒng)環(huán)境對數(shù)據(jù)庫技術(shù)的要求
1.3大數(shù)據(jù)時代數(shù)據(jù)庫面臨的挑戰(zhàn)
1.3.1關系數(shù)據(jù)庫面臨的問題
1.3.2NoSQL數(shù)據(jù)庫
1.3.3NewSQL數(shù)據(jù)庫與云數(shù)據(jù)庫
1.4數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)
1.4.1相關概念
1.4.2數(shù)據(jù)庫系統(tǒng)的內(nèi)部體系結(jié)構(gòu)
1.4.3數(shù)據(jù)庫系統(tǒng)的外部體系結(jié)構(gòu)
1.4.4用戶訪問數(shù)據(jù)庫的過程
1.5數(shù)據(jù)模型
1.5.1信息的三個世界
1.5.2數(shù)據(jù)模型及其分類
習題1
第2章關系數(shù)據(jù)庫基本理論
2.1關系的概念
2.1.1關系的定義
2.1.2相關術(shù)語
2.2關系數(shù)據(jù)模型
2.2.1關系模型及其要素
2.2.2關系的性質(zhì)及類型
2.3關系代數(shù)
2.3.1關系代數(shù)概述
2.3.2傳統(tǒng)的集合運算
2.3.3專門的關系運算
2.4關系演算
2.4.1關系演算概述
2.4.2元組關系演算
2.4.3域關系演算
2.5關系數(shù)據(jù)庫的查詢優(yōu)化
2.5.1表達式的查詢樹
2.5.2查詢優(yōu)化
習題2
第3章數(shù)據(jù)庫設計
3.1數(shù)據(jù)庫設計概述
3.1.1數(shù)據(jù)庫設計的基本任務和目標
3.1.2數(shù)據(jù)庫設計的特點與方法
3.1.3數(shù)據(jù)庫設計步驟
3.2需求分析
3.2.1需求分析的任務
3.2.2用例建模
3.2.3對象模型
3.2.4需求分析案例
3.3數(shù)據(jù)庫概念結(jié)構(gòu)設計
3.3.1概念結(jié)構(gòu)設計概述
3.3.2概念結(jié)構(gòu)設計的任務
3.3.3概念結(jié)構(gòu)設計案例
3.3.4概念結(jié)構(gòu)設計的其他問題
3.4數(shù)據(jù)庫邏輯結(jié)構(gòu)設計
3.4.1邏輯結(jié)構(gòu)設計的任務
3.4.2概念模型轉(zhuǎn)換為關系模型的方法
3.4.3關系模型優(yōu)化
3.4.4邏輯結(jié)構(gòu)設計案例
3.5數(shù)據(jù)庫的物理結(jié)構(gòu)設計
3.5.1影響物理結(jié)構(gòu)的主要因素
3.5.2物理結(jié)構(gòu)設計的任務
3.5.3物理結(jié)構(gòu)設計案例
3.6數(shù)據(jù)庫的實施
3.7數(shù)據(jù)庫的運行和維護
習題3
第4章關系數(shù)據(jù)庫規(guī)范化理論
4.1問題導入
4.1.1關系模式規(guī)范化的必要性
4.1.2關系模式的規(guī)范化
4.2函數(shù)依賴及關系的范式
4.2.1函數(shù)依賴的定義及分類
4.2.2關系的范式及其規(guī)范化
4.3函數(shù)依賴的公理系統(tǒng)
4.3.1Armstrong公理系統(tǒng)
4.3.2函數(shù)依賴集的等價和最小化
4.4關系模式的分解
4.4.1模式分解的準則
4.4.2模式分解的算法
習題4
第5章數(shù)據(jù)庫管理系統(tǒng)SQL Server 2019
5.1SQL Server 2019簡介
5.1.1SQL Server 2019的體系結(jié)構(gòu)
5.1.2SQL Server 2019的主要亮點
5.2SQL Server 2019常用管理工具
5.2.1SQL Server Management Studio
5.2.2SQL Server 2019的配置工具
5.2.3SQL Server Profiler
5.2.4數(shù)據(jù)庫引擎優(yōu)化顧問
5.3SQL Server 2019服務器的管理
5.3.1服務器組的創(chuàng)建與刪除
5.3.2服務器的注冊、刪除和連接
5.3.3啟動和關閉SQL Server 2019服務器
5.4SQL Server 2019數(shù)據(jù)庫的創(chuàng)建與管理
5.4.1SQL Server數(shù)據(jù)庫與架構(gòu)
5.4.2SQL Server 2019的數(shù)據(jù)庫基本結(jié)構(gòu)
5.4.3用戶數(shù)據(jù)庫的創(chuàng)建與修改
5.4.4數(shù)據(jù)庫的管理
5.5SQL Server 2019數(shù)據(jù)庫基本對象操作
5.5.1SQL Server 2019的數(shù)據(jù)類型
5.5.2表的創(chuàng)建和維護
5.5.3數(shù)據(jù)庫關系圖的創(chuàng)建和維護
5.5.4索引的創(chuàng)建和維護
5.5.5視圖的創(chuàng)建和維護
5.5.6存儲過程的創(chuàng)建和維護
5.5.7觸發(fā)器的創(chuàng)建和維護
習題5
第6章TSQL在SQL Server 2019中的應用
6.1SQL概述
6.1.1SQL的發(fā)展歷程
6.1.2TSQL組成和特點
6.1.3TSQL的基礎知識
6.1.4批處理和腳本
6.2數(shù)據(jù)定義語言在SQL Server 2019中的使用
6.2.1數(shù)據(jù)庫定義
6.2.2基本表的定義
6.2.3索引的定義
6.2.4視圖的定義
6.3數(shù)據(jù)查詢在SQL Server 2019中的應用
6.3.1SELECT語句介紹
6.3.2簡單查詢
6.3.3連接查詢
6.3.4嵌套查詢
6.3.5組合查詢
6.4數(shù)據(jù)更新在SQL Server 2019中的使用
6.4.1插入數(shù)據(jù)
6.4.2修改數(shù)據(jù)
6.4.3刪除數(shù)據(jù)
6.5數(shù)據(jù)控制在SQL Server 2019中的應用
6.5.1數(shù)據(jù)控制方法與SQL Server的數(shù)據(jù)庫操作權(quán)限
6.5.2數(shù)據(jù)控制實例分析
習題6
第7章數(shù)據(jù)庫編程
7.1TSQL常用的語言元素
7.1.1變量
7.1.2流程控制語句
7.2存儲過程編程
7.2.1創(chuàng)建和執(zhí)行存儲過程
7.2.2存儲過程應用實例
7.2.3管理存儲過程
7.2.4優(yōu)化存儲過程
7.3觸發(fā)器編程
7.3.1觸發(fā)器的創(chuàng)建與工作原理
7.3.2觸發(fā)器應用實例
7.3.3管理觸發(fā)器
7.4函數(shù)
7.4.1標量函數(shù)
7.4.2表值函數(shù)
7.5游標
7.5.1游標的概念
7.5.2游標的使用
7.5.3游標實例
習題7
第8章數(shù)據(jù)庫的安全性和完整性控制
8.1數(shù)據(jù)庫的安全性控制
8.1.1數(shù)據(jù)庫安全性控制方法
8.1.2SQL Server 2019系統(tǒng)的安全體系結(jié)構(gòu)
8.1.3SQL Server 2019的用戶和角色管理
8.1.4SQL Server 2019的架構(gòu)管理
8.1.5SQL Server 2019的權(quán)限管理
8.2數(shù)據(jù)庫的完整性控制
8.2.1完整性約束條件及完整性控制
8.2.2SQL Server 2019的數(shù)據(jù)庫完整性實現(xiàn)方法
習題8
第9章數(shù)據(jù)庫的事務管理與并發(fā)控制
9.1事務管理
9.1.1問題背景
9.1.2事務的概念和特性
9.1.3事務的類型
9.1.4事務的控制
9.2并發(fā)控制
9.2.1問題導入
9.2.2鎖概述
9.2.3基于封鎖的協(xié)議
9.2.4封鎖帶來的問題
9.2.5并發(fā)調(diào)度的可串行性
9.2.6SQL Server 2019的并發(fā)控制機制
習題9
第10章數(shù)據(jù)庫的備份與恢復
10.1數(shù)據(jù)庫備份與恢復概述
10.1.1故障的分類
10.1.2數(shù)據(jù)轉(zhuǎn)儲
10.1.3登記日志文件
10.2數(shù)據(jù)庫的備份
10.2.1SQL Server 2019備份設備的管理
10.2.2SQL Server 2019數(shù)據(jù)庫備份
10.3數(shù)據(jù)庫的恢復
10.3.1事務故障的恢復
10.3.2系統(tǒng)故障的恢復
10.3.3具有檢查點的數(shù)據(jù)恢復技術(shù)
10.3.4SQL Server 2019數(shù)據(jù)庫恢復
習題10
第11章大數(shù)據(jù)技術(shù)
11.1引例
11.1.1大數(shù)據(jù)概念
11.1.2大數(shù)據(jù)的特征及意義
11.1.3大數(shù)據(jù)的應用場景
11.2大數(shù)據(jù)的相關技術(shù)介紹
11.2.1大數(shù)據(jù)采集技術(shù)
11.2.2大數(shù)據(jù)預處理技術(shù)
11.2.3大數(shù)據(jù)存儲與管理技術(shù)
11.2.4大數(shù)據(jù)分析與挖掘技術(shù)
11.3NoSQL數(shù)據(jù)庫
11.3.1NoSQL簡介
11.3.2NoSQL數(shù)據(jù)庫解決的核心問題
11.3.3NoSQL的常見模式
11.3.4NoSQL的三大基石
11.4NewSQL數(shù)據(jù)庫
11.5數(shù)據(jù)庫云平臺
11.5.1數(shù)據(jù)庫云平臺的概念
11.5.2數(shù)據(jù)庫云平臺的特點
11.5.3數(shù)據(jù)庫云平臺的分類
習題11
參考文獻