機 械 工 業(yè) 出 版 社本書將數(shù)據(jù)庫基本原理、方法和應用技術相結合,以關系數(shù)據(jù)庫系統(tǒng)為核心,完整地介紹了數(shù)據(jù)庫系統(tǒng)的基本概念及基本原理,并對Microsoft SQL Server等主流數(shù)據(jù)庫管理系統(tǒng)、Visio和PowerDesigner、ASPNET和ADONET等數(shù)據(jù)庫設計與軟件開發(fā)工具進行了講解,還對數(shù)據(jù)倉庫、數(shù)據(jù)挖掘、大數(shù)據(jù)等技術進行了介紹。本書主要內容包括:數(shù)據(jù)庫系統(tǒng)概述、數(shù)據(jù)模型、數(shù)據(jù)庫系統(tǒng)的體系結構、關系數(shù)據(jù)庫方法、關系數(shù)據(jù)庫的結構化查詢語言、關系模式的規(guī)范化理論、數(shù)據(jù)庫設計、數(shù)據(jù)庫保護、Microsoft SQL Server 2019、ASPNET和ADONET數(shù)據(jù)庫開發(fā)技術、數(shù)據(jù)庫新技術等。通過本書的學習,讀者可熟練使用現(xiàn)有的數(shù)據(jù)庫管理系統(tǒng)和軟件設計與開發(fā)工具,進行數(shù)據(jù)庫結構的設計和數(shù)據(jù)庫應用系統(tǒng)開發(fā)。
本書可作為高等院校計算機類專業(yè)、信息管理與信息系統(tǒng)專業(yè)以及其他相關專業(yè)的數(shù)據(jù)庫相關課程教材,還可作為廣大軟件設計與開發(fā)人員、在信息領域工作的相關人員的參考書。圖書在版編目(CIP)數(shù)據(jù)
前言
第1章數(shù)據(jù)庫系統(tǒng)概述1
1.1數(shù)據(jù)庫技術的產生與發(fā)展1
1.1.1數(shù)據(jù)管理的發(fā)展1
1.1.2數(shù)據(jù)和數(shù)據(jù)管理技術2
1.1.3數(shù)據(jù)庫系統(tǒng)的3個發(fā)展階段3
1.2數(shù)據(jù)庫系統(tǒng)基本概念4
1.2.1數(shù)據(jù)庫4
1.2.2數(shù)據(jù)庫系統(tǒng)4
1.3數(shù)據(jù)庫系統(tǒng)的特點6
第2章數(shù)據(jù)模型8
2.1數(shù)據(jù)模型概述8
2.1.1數(shù)據(jù)模型的基本組成8
2.1.2數(shù)據(jù)模型的發(fā)展9
2.2ER數(shù)據(jù)模型9
2.2.1基本概念9
2.2.2ER圖11
2.2.3擴充ER數(shù)據(jù)模型12
2.3層次數(shù)據(jù)模型14
2.3.1基本概念和結構14
2.3.2數(shù)據(jù)操作15
2.3.3數(shù)據(jù)約束16
2.3.4層次數(shù)據(jù)模型的優(yōu)缺點18
2.4網(wǎng)狀數(shù)據(jù)模型18
2.4.1基本概念和結構18
2.4.2數(shù)據(jù)操作20
2.4.3數(shù)據(jù)約束20
2.4.4網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點21
2.5關系數(shù)據(jù)模型21
2.5.1基本概念21
2.5.2關系數(shù)據(jù)模型的數(shù)據(jù)結構21
2.5.3數(shù)據(jù)操作23
2.5.4數(shù)據(jù)約束23
2.5.5關系數(shù)據(jù)模型的優(yōu)缺點24
2.6面向對象數(shù)據(jù)模型24
2.6.1對象和對象標識符25
2.6.2屬性和方法25
2.6.3封裝和消息傳遞25
2.6.4類和實例26
2.6.5類層次結構和繼承26
2.6.6持久性和版本27
2.6.7面向對象數(shù)據(jù)模型與關系數(shù)據(jù)
模型的比較27
第3章數(shù)據(jù)庫系統(tǒng)的體系結構28
3.1數(shù)據(jù)庫的體系結構28
3.1.1三級模式結構28
3.1.2兩級映像和兩級數(shù)據(jù)獨立性29
3.2數(shù)據(jù)庫系統(tǒng)(DBS)30
3.2.1DBS的組成30
3.2.2DBS的全局結構32
3.2.3DBS結構的分類34
3.3數(shù)據(jù)庫管理系統(tǒng)(DBMS)35
3.3.1DBMS的工作模式35
3.3.2DBMS的主要功能36
3.3.3DBMS的組成37
第4章關系數(shù)據(jù)庫方法40
4.1關系數(shù)據(jù)庫的基本概念40
4.1.1關系的形式化定義40
4.1.2關系模式、關系子模式和存儲
模式42
4.1.3關系模型的完整性規(guī)則44
4.1.4關系數(shù)據(jù)庫模式45
4.2關系代數(shù)46
4.2.1關系代數(shù)的5個基本操作46
4.2.2關系代數(shù)的組合操作50
4.2.3關系代數(shù)表達式應用舉例54
4.3關系演算55
4.3.1元組關系演算55
4.3.2域關系演算56
4.4關系查詢優(yōu)化57
4.4.1查詢優(yōu)化的一般策略58
4.4.2關系代數(shù)優(yōu)化58
4.4.3基于存取路徑的規(guī)則優(yōu)化63
第5章關系數(shù)據(jù)庫的結構化查詢
語言71
5.1SQL概述71
5.2SQL的數(shù)據(jù)定義語言72
5.2.1數(shù)據(jù)類型72
5.2.2數(shù)據(jù)庫模式的定義73
5.2.3基本表、主關鍵字、外部關鍵字的
定義74
5.2.4基本表的修改和刪除77
5.2.5索引的建立和刪除78
5.3SQL數(shù)據(jù)更新79
5.3.1元組插入79
5.3.2元組刪除80
5.3.3元組修改81
5.4SQL數(shù)據(jù)查詢82
5.4.1SQL查詢語句格式82
5.4.2簡單查詢83
5.4.3復雜查詢85
5.5SQL聚集函數(shù)91
5.5.1聚集函數(shù)的運算符92
5.5.2數(shù)據(jù)分組92
5.5.3數(shù)據(jù)排序93
5.6SQL中的視圖93
5.6.1視圖定義94
5.6.2視圖查詢95
5.6.3視圖更新95
5.6.4視圖刪除96
5.6.5視圖的作用96
第6章關系模式的規(guī)范化理論98
6.1關系模式設計中的問題98
6.2函數(shù)依賴99
6.2.1函數(shù)依賴定義99
6.2.2關鍵字和超關鍵字100
6.3數(shù)據(jù)依賴的公理系統(tǒng)101
6.3.1函數(shù)依賴的邏輯蘊含101
6.3.2Armstrong公理系統(tǒng)101
6.3.3函數(shù)依賴集的等價和覆蓋105
6.4關系模式的分解及其問題106
6.4.1分解的無損連接性107
6.4.2保持函數(shù)依賴性111
6.5關系模式的規(guī)范化114
6.5.1范式114
6.5.2模式分解的算法116
第7章數(shù)據(jù)庫設計120
7.1數(shù)據(jù)庫設計概述120
7.1.1數(shù)據(jù)庫系統(tǒng)生存期120
7.1.2數(shù)據(jù)庫設計方法121
7.1.3數(shù)據(jù)庫設計的基本過程122
7.2規(guī)劃123
7.3需求分析124
7.3.1需求描述與分析124
7.3.2需求分析階段的輸入和輸出125
7.3.3需求分析的步驟125
7.3.4數(shù)據(jù)字典129
7.4概念設計131
7.4.1概念設計的必要性131
7.4.2概念設計的主要步驟132
7.4.3采用ER模型方法的數(shù)據(jù)庫概念
設計133
7.5數(shù)據(jù)庫邏輯結構設計及優(yōu)化141
7.5.1邏輯設計環(huán)境141
7.5.2ER模型向關系模型的轉換142
7.5.3用關系規(guī)范化理論對關系數(shù)據(jù)模型
進行優(yōu)化145
7.6數(shù)據(jù)庫的物理設計147
7.7數(shù)據(jù)庫的實現(xiàn)147
7.8數(shù)據(jù)庫的運行與維護147
7.9PowerDesigner輔助設計工具148
7.9.1繪制ER圖148
7.9.2后臺生成SQL數(shù)據(jù)庫及數(shù)據(jù)表151
第8章數(shù)據(jù)庫保護155
8.1事務155
8.1.1事務的定義155
8.1.2事務的ACID準則155
8.2數(shù)據(jù)庫完整性156
8.2.1完整性子系統(tǒng)和完整性規(guī)則156
8.2.2SQL中的完整性約束157
8.2.3SQL的觸發(fā)器158
8.3數(shù)據(jù)庫安全性159
8.3.1數(shù)據(jù)庫安全性級別159
8.3.2數(shù)據(jù)訪問權限159
8.3.3SQL中的安全性機制160
8.4數(shù)據(jù)庫恢復技術161
8.4.1恢復的定義、原則和方法161
8.4.2故障恢復方法161
8.4.3具有檢查點的恢復技術162
8.5并發(fā)控制163
8.5.1并發(fā)所引起的問題163
8.5.2封鎖164
8.5.3活鎖和死鎖166
8.5.4死鎖的防止、檢測和處理167
8.5.5并發(fā)調度的可串行化169
8.5.6兩段封鎖協(xié)議170
第9章Microsoft SQL Server 2019171
9.1Microsoft SQL Server簡介171
9.1.1Microsoft SQL Server 2019的
特點171
9.1.2Microsoft SQL Server 2019環(huán)境
介紹172
9.1.3Microsoft SQL Server 2019的工具
介紹172
9.2數(shù)據(jù)庫的創(chuàng)建、修改和刪除175
9.2.1創(chuàng)建Microsoft SQL Server
數(shù)據(jù)庫175
9.2.2分離和附加Microsoft SQL Server
數(shù)據(jù)庫178
9.2.3刪除數(shù)據(jù)庫179
9.3表和主鍵的創(chuàng)建179
9.3.1表的創(chuàng)建179
9.3.2主鍵的創(chuàng)建180
9.3.3用SQL語句方式創(chuàng)建表182
9.4數(shù)據(jù)的插入、修改、刪除和
查詢182
9.4.1數(shù)據(jù)的插入182
9.4.2數(shù)據(jù)的修改184
9.4.3數(shù)據(jù)的刪除184
9.4.4數(shù)據(jù)的查詢184
9.5數(shù)據(jù)庫的備份和恢復185
9.5.1數(shù)據(jù)庫的備份185
9.5.2數(shù)據(jù)庫的恢復187
9.6高級應用技術190
9.6.1存儲過程190
9.6.2觸發(fā)器194
第10章ASP.NET和ADO.NET數(shù)據(jù)庫
開發(fā)技術199
10.1ASP.NET基礎知識199
10.1.1Visual Studio .NET 的特色199
10.1.2.NET Framework200
10.1.3ASP.NET開發(fā)環(huán)境介紹201
10.2ADO.NET介紹201
10.2.1ADO.NET與數(shù)據(jù)管理簡介201
10.2.2ADO.NET命名空間202
10.3連接數(shù)據(jù)庫202
10.3.1連接Microsoft SQL Server
數(shù)據(jù)庫202
10.3.2連接到Microsoft Access
數(shù)據(jù)庫208
10.4讀取和操作數(shù)據(jù)208
10.5數(shù)據(jù)集(DataSet)212
10.5.1使用DataAdapter類212
10.5.2使用DataTables、DataColumns和
DataRows213
10.6DataReader類215
10.7DataGrid和GridView控件217
10.8DataList控件219
第11章數(shù)據(jù)庫新技術230
11.1數(shù)據(jù)倉庫的概念230
11.1.1數(shù)據(jù)倉庫的定義230
11.1.2數(shù)據(jù)倉庫系統(tǒng)的結構232
11.2數(shù)據(jù)倉庫設計與實現(xiàn)237
11.2.1數(shù)據(jù)倉庫的設計原則237
11.2.2數(shù)據(jù)倉庫的三級數(shù)據(jù)模型238
11.2.3數(shù)據(jù)倉庫設計步驟239
11.3數(shù)據(jù)挖掘242
11.3.1數(shù)據(jù)挖掘定義242
11.3.2數(shù)據(jù)挖掘技術的應用研究
現(xiàn)狀243
11.3.3數(shù)據(jù)挖掘主要技術244
11.3.4數(shù)據(jù)挖掘的過程247
11.3.5DM與OLAP247
11.4大數(shù)據(jù)技術248
11.4.1大數(shù)據(jù)的產生248
11.4.2大數(shù)據(jù)的基本概念249
11.4.3大數(shù)據(jù)的應用領域251
11.4.4大數(shù)據(jù)的處理流程252
11.4.5大數(shù)據(jù)的關鍵技術253
11.4.6大數(shù)據(jù)管理系統(tǒng)255
11.4.7大數(shù)據(jù)面臨的挑戰(zhàn)256
參考文獻259