本書系統(tǒng)地介紹了數(shù)據(jù)庫原理、SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)及應(yīng)用實例,概述了數(shù)據(jù)庫前沿技術(shù)。全書共分9章,主要內(nèi)容包括:緒論;關(guān)系數(shù)據(jù)庫;SQL語言;關(guān)系數(shù)據(jù)理論;數(shù)據(jù)庫設(shè)計;數(shù)據(jù)庫保護;數(shù)據(jù)庫系統(tǒng)的訪問;數(shù)據(jù)庫技術(shù)的發(fā)展;SQL Server 2008及應(yīng)用實例,包括SQL Server 2008概述、SQL Server 2008管理工具簡介、Transact-SQL語言基礎(chǔ)、數(shù)據(jù)庫管理、表的管理、視圖的管理、存儲過程、用戶和安全性管理、數(shù)據(jù)轉(zhuǎn)換服務(wù)、數(shù)據(jù)庫應(yīng)用開發(fā)實例等。本書內(nèi)容豐富、全面、系統(tǒng),深度和廣度兼顧,可作為高等院校和科研院所計算機專業(yè)和相關(guān)專業(yè)數(shù)據(jù)庫課程的教材,也可作為有關(guān)人員學(xué)習(xí)和研究數(shù)據(jù)庫原理與應(yīng)用或開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的技術(shù)參考書。
數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀60年代,經(jīng)歷了格式化數(shù)據(jù)庫(以層次和網(wǎng)狀數(shù)據(jù)庫為代表)、經(jīng)典數(shù)據(jù)庫(以關(guān)系數(shù)據(jù)庫和后關(guān)系數(shù)據(jù)庫為代表)和新型數(shù)據(jù)庫(以對象數(shù)據(jù)庫和XML數(shù)據(jù)庫等為代表)的三代發(fā)展演變。40多年來,數(shù)據(jù)庫技術(shù)的重要性和意義已經(jīng)被人們所認識與理解。首先,數(shù)據(jù)庫技術(shù)已經(jīng)形成相對完整和成熟的科學(xué)理論體系,成為現(xiàn)代計算機信息處理系統(tǒng)的重要基礎(chǔ)與技術(shù)核心,造就了C. W. Bachman、E. F. Codd和J.Gray三位圖靈大獎得主;其次,數(shù)據(jù)庫帶動和形成了一個巨大的軟件產(chǎn)業(yè)數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品和相關(guān)技術(shù)工具與解決方案,對經(jīng)濟發(fā)展起著極大的推動作用,表現(xiàn)出非凡的生產(chǎn)力效應(yīng);最后,數(shù)據(jù)庫研究和開發(fā)領(lǐng)域的各項成就推動了其他眾多計算機理論與應(yīng)用領(lǐng)域的進步,對這些領(lǐng)域的發(fā)展起到了巨大的支撐作用,成為各種計算機信息系統(tǒng)的核心內(nèi)容與技術(shù)基礎(chǔ)。
本書對數(shù)據(jù)庫技術(shù)進行了全面的闡述和研究。在結(jié)合大量的實例和作者教學(xué)體會的基礎(chǔ)上,對數(shù)據(jù)庫技術(shù)的各個領(lǐng)域進行了深入淺出的剖析,對數(shù)據(jù)庫技術(shù)的重點和難點進行了詳細的描述,力求做到思路清晰、概念準確、結(jié)構(gòu)合理、內(nèi)容生動活潑。本書重點介紹了數(shù)據(jù)庫的基本概念及ER圖、關(guān)系模型等數(shù)據(jù)庫建模技術(shù),數(shù)據(jù)庫應(yīng)用部分主要介紹了SQL Server 2008的基本管理與操作。
每一章的開始都對該章將要涉及的內(nèi)容及其作用進行了分析,然后指出了學(xué)完本章讀者應(yīng)該掌握的重要內(nèi)容。另外,章末所附的練習(xí)題,旨在加深讀者對本章涉及概念的理解,培養(yǎng)學(xué)生應(yīng)用本章學(xué)到的知識來解決實際問題的能力。
本書內(nèi)容全面、實例豐富,并配備了課后習(xí)題參考答案,方便教學(xué)。本書可作為高等院校計算機專業(yè)及信息管理等相關(guān)專業(yè)本科生數(shù)據(jù)庫課程的教材,也可作為相關(guān)人員學(xué)習(xí)數(shù)據(jù)庫知識的參考書。
東北農(nóng)業(yè)大學(xué)于嘯、陸麗娜、張宇任本書主編;沈陽工業(yè)大學(xué)白晨生,吉林農(nóng)業(yè)大學(xué)畢春光、林楠,東北農(nóng)業(yè)大學(xué)張喜海任本書副主編;東北農(nóng)業(yè)大學(xué)丁寶峰、孫建,哈爾濱金融學(xué)院姜微參編;全書由東北農(nóng)業(yè)大學(xué)蘇中濱教授主審。
本書的配套教學(xué)資源可在華信教育資源網(wǎng)(www.hxedu.com.cn)注冊后免費下載。
由于作者水平有限,加之創(chuàng)作時間倉促,書中不足之處在所難免,歡迎廣大讀者批評指正。
于嘯,博士,副教授,東北農(nóng)業(yè)大學(xué)電氣與信息學(xué)院系主任,中國計算機學(xué)會會員。編寫過多部教材,包括:《數(shù)據(jù)庫原理與應(yīng)用》(2011年獲校級優(yōu)秀教材一等獎)、《數(shù)字農(nóng)業(yè)基礎(chǔ)》、(2008年獲校級優(yōu)秀教材一等獎)、《智能化農(nóng)業(yè)技術(shù)概論》、 《數(shù)據(jù)庫系統(tǒng)概論與實例及習(xí)題指導(dǎo)》、《微機原理與接口技術(shù)實驗指導(dǎo)》、《PowerBuilder程序設(shè)計實驗指導(dǎo)》(2011年獲校級優(yōu)秀教材三等獎)。參與課題包括:面向精確農(nóng)業(yè)的無線傳感器網(wǎng)絡(luò)節(jié)點定位機制與算法研究,黑龍江省科技廳青年科學(xué)基金項目(QC2009C18);農(nóng)業(yè)信息資源搜索技術(shù)研究與應(yīng)用,國家星火計劃子課題項目(2010GA670006-2);畜牧業(yè)公共數(shù)字化服務(wù)平臺構(gòu)建技術(shù)研究,黑龍江省科技攻關(guān)項目子題;基于無線傳感器網(wǎng)絡(luò)的溫室控制系統(tǒng),黑龍江省重點實驗室基金項目(GS2009010)等。
第1章 緒論1
1.1 數(shù)據(jù)庫系統(tǒng)概述1
1.1.1 數(shù)據(jù)庫的幾個基本概念1
1.1.2 數(shù)據(jù)管理技術(shù)的發(fā)展歷史2
1.2 數(shù)據(jù)模型3
1.2.1 信息的三個領(lǐng)域3
1.2.2 概念模型4
1.2.3 概念模型的表示方法5
1.3 數(shù)據(jù)模型6
1.3.1 數(shù)據(jù)模型的組成要素6
1.3.2 最常用的數(shù)據(jù)模型7
1.4 數(shù)據(jù)庫的體系結(jié)構(gòu)12
1.4.1 數(shù)據(jù)庫的分級結(jié)構(gòu)12
1.4.2 模式及映像13
1.5 數(shù)據(jù)庫管理系統(tǒng)14
1.5.1 DBMS的功能14
1.5.2 DBMS的程序組成15
1.5.3 數(shù)據(jù)語言16
1.5.4 數(shù)據(jù)字典17
第2章 關(guān)系數(shù)據(jù)庫18
2.1 從格式化模型到關(guān)系模型18
2.2 關(guān)系的數(shù)學(xué)定義18
2.2.1 域18
2.2.2 笛卡兒積18
2.2.3 關(guān)系的數(shù)學(xué)定義19
2.3 關(guān)系的性質(zhì)20
2.4 碼的概念20
2.4.1 碼的定義20
2.4.2 候選碼和主碼21
2.4.3 外部關(guān)系碼21
2.4.4 關(guān)系模型的完整性21
2.5 關(guān)系數(shù)據(jù)庫模式23
2.5.1 關(guān)系模式23
2.5.2 關(guān)系數(shù)據(jù)庫23
2.6 關(guān)系運算23
2.6.1 關(guān)系代數(shù)23
2.6.2 關(guān)系演算28
第3章 SQL語言29
3.1 SQL語言概述29
3.1.1 SQL語言的發(fā)展29
3.1.2 SQL的基本概念29
3.1.3 SQL語言的主要特點30
3.2 數(shù)據(jù)定義30
3.2.1 基本表的定義、刪除與修改31
3.2.2 索引的建立與刪除32
3.3 數(shù)據(jù)查詢33
3.3.1 單表查詢34
3.3.2 連接查詢40
3.3.3 嵌套查詢41
3.3.4 集合查詢45
3.4 數(shù)據(jù)操作46
3.4.1 數(shù)據(jù)插入46
3.4.2 數(shù)據(jù)修改47
3.4.3 數(shù)據(jù)刪除48
3.5 視圖49
3.5.1 定義視圖49
3.5.2 查詢視圖50
3.5.3 更新視圖51
3.6 數(shù)據(jù)控制52
3.6.1 授權(quán)52
3.6.2 收回權(quán)限53
第4章 關(guān)系數(shù)據(jù)理論55
4.1 關(guān)系規(guī)范化的作用55
4.1.1 規(guī)范化理論概述55
4.1.2 不合理的關(guān)系模式存在的問題55
4.2 函數(shù)依賴57
4.2.1 關(guān)系模式的簡化表示57
4.2.2 函數(shù)依賴的基本概念58
4.2.3 碼的函數(shù)依賴表示59
4.2.4 函數(shù)依賴和碼的唯一性60
4.3 規(guī)范化60
4.3.1 規(guī)范化的含義61
4.3.2 第一范式61
4.3.3 第二范式62
4.3.4 第三范式63
4.3.5 BCNF范式64
4.4 多值依賴與4NF65
4.4.1 問題的引入65
4.4.2 多值依賴基本概念66
4.4.3 第四范式67
4.5 函數(shù)依賴的公理系統(tǒng)68
4.5.1 函數(shù)依賴集的完備性68
4.5.2 函數(shù)依賴的推理規(guī)則69
4.5.3 屬性的閉包與F邏輯蘊涵的充要條件70
4.5.4 最小函數(shù)依賴集Fmin71
4.6 關(guān)系模式分解73
4.6.1 無損分解73
4.6.2 保持函數(shù)依賴76
4.7 連接依賴與5NF77
4.7.1 連接依賴77
4.7.2 第五范式79
4.8 關(guān)系模式規(guī)范化步驟79
4.9 小結(jié)80
第5章 數(shù)據(jù)庫設(shè)計82
5.1 數(shù)據(jù)庫設(shè)計概述82
5.1.1 數(shù)據(jù)庫設(shè)計的任務(wù)82
5.1.2 數(shù)據(jù)庫設(shè)計的特點83
5.1.3 數(shù)據(jù)庫設(shè)計的方法83
5.1.4 數(shù)據(jù)庫設(shè)計的工具84
5.1.5 數(shù)據(jù)庫設(shè)計的步驟85
5.2 需求分析86
5.2.1 需求分析的任務(wù)86
5.2.2 需求收集87
5.2.3 需求分析過程88
5.2.4 需求分析的結(jié)果90
5.3 概念結(jié)構(gòu)設(shè)計90
5.3.1 概念結(jié)構(gòu)設(shè)計概述90
5.3.2 概念結(jié)構(gòu)設(shè)計的方法91
5.3.3 局部ER圖設(shè)計91
5.3.4 全局ER圖設(shè)計93
5.4 邏輯結(jié)構(gòu)設(shè)計95
5.4.1 概念模型轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型95
5.4.2 關(guān)系模型的優(yōu)化96
5.4.3 設(shè)計用戶子模式97
5.5 物理結(jié)構(gòu)設(shè)計97
5.5.1 物理結(jié)構(gòu)設(shè)計概述97
5.5.2 存取方法選擇98
5.5.3 存儲結(jié)構(gòu)的確定99
5.6 數(shù)據(jù)庫的實施和維護99
5.6.1 數(shù)據(jù)庫的實施99
5.6.2 數(shù)據(jù)庫的運行和維護100
5.7 小結(jié)101
第6章 數(shù)據(jù)庫保護102
6.1 數(shù)據(jù)庫事務(wù)處理102
6.1.1 事務(wù)的定義102
6.1.2 事務(wù)的ACID性質(zhì)103
6.1.3 事務(wù)處理模型103
6.1.4 事務(wù)的狀態(tài)104
6.2 數(shù)據(jù)庫故障及恢復(fù)105
6.2.1 數(shù)據(jù)庫故障分類105
6.2.2 數(shù)據(jù)庫恢復(fù)技術(shù)106
6.2.3 數(shù)據(jù)庫恢復(fù)策略109
6.3 并發(fā)控制110
6.3.1 并發(fā)操作帶來的數(shù)據(jù)不一致性111
6.3.2 封鎖技術(shù)112
6.3.3 封鎖帶來的問題114
6.3.4 并發(fā)操作的調(diào)度116
6.4 數(shù)據(jù)庫的完整性117
6.4.1 數(shù)據(jù)的完整性118
6.4.2 SQL中的完整性約束118
6.4.3 SQL中的觸發(fā)器121
6.5 數(shù)據(jù)庫的安全性123
6.5.1 數(shù)據(jù)庫安全性概述123
6.5.2 SQL中的安全性機制124
6.5.3 常用的安全性措施126
6.6 小結(jié)127
第7章 數(shù)據(jù)庫系統(tǒng)的訪問129
7.1 數(shù)據(jù)庫的訪問接口129
7.1.1 固有調(diào)用129
7.1.2 ODBC129
7.1.3 JDBC133
7.2 客戶機/服務(wù)器模式的數(shù)據(jù)庫系統(tǒng)137
7.3 瀏覽器/服務(wù)器模式的數(shù)據(jù)庫系統(tǒng)139
7.3.1 Web數(shù)據(jù)庫的體系結(jié)構(gòu)139
7.3.2 技術(shù)實現(xiàn)140
7.4 Java訪問數(shù)據(jù)庫的技術(shù)142
7.4.1 JDBC技術(shù)142
7.4.2 JSP的數(shù)據(jù)庫訪問技術(shù)142
7.5 數(shù)據(jù)庫系統(tǒng)的多層體系結(jié)構(gòu)143
7.6 小結(jié)144
第8章 數(shù)據(jù)庫技術(shù)的發(fā)展145
8.1 數(shù)據(jù)庫新技術(shù)的分類145
8.2 面向?qū)ο髷?shù)據(jù)庫系統(tǒng)146
8.2.1 面向?qū)ο蟪绦蛟O(shè)計方法146
8.2.2 面向?qū)ο髷?shù)據(jù)模型147
8.2.3 面向?qū)ο髷?shù)據(jù)庫語言150
8.2.4 面向?qū)ο髷?shù)據(jù)庫的模式演進151
8.2.5 對象-關(guān)系數(shù)據(jù)庫151
8.3 分布式數(shù)據(jù)庫系統(tǒng)152
8.3.1 分布式數(shù)據(jù)庫系統(tǒng)的特點與目標(biāo)153
8.3.2 分布式數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)155
8.4 網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)庫體系156
8.4.1 客戶機/服務(wù)器系統(tǒng)156
8.4.2 開放式數(shù)據(jù)庫的互連技術(shù)(ODBC)159
8.5 數(shù)據(jù)倉庫與數(shù)據(jù)挖掘162
8.5.1 數(shù)據(jù)倉庫162
8.5.2 數(shù)據(jù)倉庫設(shè)計實例168
8.5.3 數(shù)據(jù)挖掘技術(shù)概述170
8.6 其他新型的數(shù)據(jù)庫系統(tǒng)172
8.6.1 多媒體數(shù)據(jù)庫系統(tǒng)172
8.6.2 主動數(shù)據(jù)庫系統(tǒng)173
8.6.3 演繹數(shù)據(jù)庫系統(tǒng)173
8.6.4 實時數(shù)據(jù)庫系統(tǒng)175
8.7 小結(jié)175
第9章 SQL Server 2008及應(yīng)用實例176
9.1 SQL Server 2008概述176
9.1.1 概述176
9.1.2 SQL Server 2008的基本特點176
9.1.3 SQL Server 2008的安裝176
9.2 SQL Server 2008管理工具簡介182
9.2.1 創(chuàng)建服務(wù)器組182
9.2.2 注冊服務(wù)器182
9.2.3 新建查詢183
9.3 Transact-SQL語言基礎(chǔ)184
9.3.1 Transact-SQL簡介184
9.3.2 數(shù)據(jù)類型185
9.3.3 常量187
9.3.4 變量187
9.3.5 注釋符和運算符188
9.3.6 流程控制語句188
9.3.7 常用函數(shù)190
9.4 數(shù)據(jù)庫管理195
9.4.1 創(chuàng)建數(shù)據(jù)庫196
9.4.2 修改數(shù)據(jù)庫設(shè)置196
9.4.3 刪除數(shù)據(jù)庫197
9.4.4 分離/附加數(shù)據(jù)庫198
9.4.5 備份/還原數(shù)據(jù)庫199
9.5 表的管理201
9.5.1 創(chuàng)建數(shù)據(jù)表201
9.5.2 修改表202
9.6 視圖的管理205
9.6.1 創(chuàng)建視圖205
9.6.2 管理視圖206
9.7 存儲過程207
9.7.1 創(chuàng)建存儲過程208
9.7.2 執(zhí)行存儲過程209
9.7.3 查看、修改和刪除存儲過程210
9.8 用戶和安全性管理212
9.8.1 SQL Server登錄認證212
9.8.2 數(shù)據(jù)庫用戶215
9.8.3 角色管理216
9.8.4 權(quán)限管理220
9.9 數(shù)據(jù)轉(zhuǎn)換服務(wù)223
9.9.1 DTS導(dǎo)出向?qū)?24
9.9.2 DTS導(dǎo)入向?qū)?25
9.10 數(shù)據(jù)庫應(yīng)用開發(fā)實例229
9.10.1 建立數(shù)據(jù)源229
9.10.2 創(chuàng)建新的工程231
第10章 部分章節(jié)習(xí)題234
參考文獻270