本書是普通高等教育"十一五”***規(guī)劃教材,分為理論和實驗兩部分。理論部分共7章:數(shù)據(jù)庫技術的基礎理論和基本概念、數(shù)據(jù)庫設計的方法和步驟、Microsoft SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)的安裝及使用、SQL語言、數(shù)據(jù)庫安全性和完整性知識、數(shù)據(jù)庫新技術和國產(chǎn)數(shù)據(jù)庫介紹。實驗部分共設計了9個實驗。附錄為讀者進行管理信息系統(tǒng)的開發(fā)提供了備查資料。本書配套實驗教程,提供教學用多媒體電子課件、實例數(shù)據(jù)庫EDU_D、題庫和在線MOOC課程、網(wǎng)絡教學平臺等。
唐好魁,濟南大學信息工程學院計算機科學與技術系主任、副教授,1996年任教至今,教學經(jīng)驗、教材寫作經(jīng)驗豐富。
第1章 緒論1
1.1 數(shù)據(jù)庫與計算思維2
1.1.1 計算思維2
1.1.2 大學與計算思維3
1.1.3 數(shù)據(jù)庫與計算思維4
1.2 數(shù)據(jù)庫系統(tǒng)概述6
1.2.1 信息與社會6
1.2.2 數(shù)據(jù)庫的基本概念9
1.2.3 數(shù)據(jù)庫系統(tǒng)的特點10
1.2.4 數(shù)據(jù)庫管理系統(tǒng)的功能13
1.3 數(shù)據(jù)模型14
1.3.1 概念模型14
1.3.2 數(shù)據(jù)模型16
1.3.3 常用數(shù)據(jù)模型17
1.4 數(shù)據(jù)庫系統(tǒng)結構與組成19
1.4.1 數(shù)據(jù)庫系統(tǒng)的三級模式結構19
1.4.2 二級映像與數(shù)據(jù)獨立性21
1.4.3 數(shù)據(jù)庫系統(tǒng)的組成21
習題124
第2章 關系數(shù)據(jù)庫27
2.1 關系數(shù)據(jù)模型28
2.1.1 關系數(shù)據(jù)模型概述28
2.1.2 關系數(shù)據(jù)模型的基本概念28
2.1.3 關系數(shù)據(jù)模型的組成31
2.2 關系運算簡介35
2.2.1 集合運算35
2.2.2 選擇運算35
2.2.3 投影運算36
2.2.4 連接運算36
習題237
第3章 數(shù)據(jù)庫設計41
3.1 數(shù)據(jù)庫設計概述42
3.1.1 數(shù)據(jù)庫設計的特點42
3.1.2 數(shù)據(jù)庫設計的方法43
3.1.3 數(shù)據(jù)庫設計的基本步驟43
3.2 需求分析44
3.2.1 需求分析的任務45
3.2.2 需求分析的方法45
3.2.3 數(shù)據(jù)流圖46
3.2.4 數(shù)據(jù)字典46
3.2.5 需求分析實例47
3.3 概念結構設計49
3.3.1 概念結構設計的任務49
3.3.2 概念結構設計的方法49
3.3.3 局部概念結構設計50
3.3.4 全局概念結構設計51
3.3.5 概念結構設計實例53
3.4 邏輯結構設計55
3.4.1 邏輯結構設計的任務55
3.4.2 概念模型向關系模型的轉換56
3.4.3 關系數(shù)據(jù)理論基礎58
3.4.4 模式分解65
3.4.5 邏輯結構設計實例66
3.5 數(shù)據(jù)庫的物理設計67
3.5.1 確定數(shù)據(jù)庫的存儲結構67
3.5.2 數(shù)據(jù)庫物理結構評價68
3.6 數(shù)據(jù)庫的實施與維護68
3.6.1 數(shù)據(jù)庫實施68
3.6.2 數(shù)據(jù)庫運行和維護69
習題369
第4章 SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)73
4.1 SQL Server 2008概述74
4.1.1 SQL Server的發(fā)展歷史74
4.1.2 SQL Server 2008的新功能74
4.2 SQL Server 2008的安裝75
4.2.1 SQL Server 2008的版本75
4.2.2 安裝SQL Server 2008的環(huán)境
要求75
4.2.3 SQL Server 2008的安裝76
4.2.4 SQL Server 2008的服務器組件88
4.3 SQL Server 2008的管理和使用89
4.3.1 SQL Server 2008常用工具89
4.3.2 使用配置管理器89
4.3.3 使用SSMS90
4.3.4 系統(tǒng)數(shù)據(jù)庫和數(shù)據(jù)庫對象95
4.4 數(shù)據(jù)庫的創(chuàng)建和維護97
4.4.1 創(chuàng)建數(shù)據(jù)庫97
4.4.2 修改數(shù)據(jù)庫98
4.4.3 刪除數(shù)據(jù)庫99
4.5 表的創(chuàng)建和維護100
4.5.1 SQL Server 2008數(shù)據(jù)類型100
4.5.2 表設計105
4.5.3 創(chuàng)建表106
4.5.4 修改表結構108
4.5.5 向表中添加數(shù)據(jù)110
4.5.6 刪除表111
4.6 數(shù)據(jù)庫的維護112
4.6.1 數(shù)據(jù)的導入與導出112
4.6.2 數(shù)據(jù)庫的分離與附加119
習題4122
第5章 關系數(shù)據(jù)庫標準語言SQL125
5.1 SQL簡介126
5.1.1 SQL語言的發(fā)展126
5.1.2 SQL語言的功能126
5.1.3 SQL語言的特點127
5.2 數(shù)據(jù)查詢127
5.2.1 簡單查詢129
5.2.2 查詢表中的若干行131
5.2.3 對查詢結果進行排序135
5.2.4 聚合函數(shù)和數(shù)據(jù)分組136
5.2.5 連接查詢141
5.2.6 嵌套查詢145
5.2.7 集合查詢149
5.3 數(shù)據(jù)操縱150
5.3.1 插入數(shù)據(jù)150
5.3.2 修改數(shù)據(jù)152
5.3.3 刪除數(shù)據(jù)153
5.4 數(shù)據(jù)定義154
5.4.1 創(chuàng)建表154
5.4.2 修改表156
5.4.3 刪除表157
5.4.4 視圖157
5.4.5 索引161
習題5163
第6章 數(shù)據(jù)庫保護169
6.1 事務170
6.1.1 事務的概念170
6.1.2 事務的特性171
6.1.3 SQL Server 2008事務應用172
6.1.4 事務的狀態(tài)轉換172
6.2 數(shù)據(jù)庫恢復技術173
6.2.1 數(shù)據(jù)庫可能出現(xiàn)的故障173
6.2.2 數(shù)據(jù)庫的恢復原理174
6.2.3 SQL Server 2008中數(shù)據(jù)庫的備份與還原176
6.3 并發(fā)控制183
6.3.1 并發(fā)操作帶來的不一致問題184
6.3.2 并發(fā)控制——封鎖及封鎖協(xié)議185
6.4 數(shù)據(jù)庫的完整性186
6.4.1 數(shù)據(jù)庫的完整性介紹186
6.4.2 SQL中的完整性約束186
6.4.3 SQL Server 2008中完整性約束的實現(xiàn)188
6.5 數(shù)據(jù)庫的安全性190
6.5.1 計算機系統(tǒng)的安全性問題190
6.5.2 權限190
6.5.3 數(shù)據(jù)庫的安全性控制191
6.5.4 SQL Server 2008中系統(tǒng)安全性的實現(xiàn)193
習題6201
第7章 數(shù)據(jù)庫新技術及國產(chǎn)數(shù)據(jù)庫介紹205
7.1 數(shù)據(jù)庫技術的發(fā)展206
7.1.1 數(shù)據(jù)庫技術的發(fā)展206
7.1.2 面向對象數(shù)據(jù)庫系統(tǒng)介紹206
7.1.3 分布式數(shù)據(jù)庫技術介紹209
7.1.4 多媒體數(shù)據(jù)庫技術介紹210
7.1.5 數(shù)據(jù)倉庫及數(shù)據(jù)挖掘技術212
7.2 國產(chǎn)數(shù)據(jù)庫介紹214
7.2.1 金倉數(shù)據(jù)庫管理系統(tǒng)214
7.2.2 達夢數(shù)據(jù)庫管理系統(tǒng)216
習題7218
第8章 實驗221
實驗1 熟悉SQL Server 2008環(huán)境222
實驗2 數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建、刪除與修改222
實驗3 單表SQL查詢語句練習223
實驗4 數(shù)據(jù)匯總查詢語句練習224
實驗5 多表SQL查詢語句練習225
實驗6 嵌套查詢和集合查詢226
實驗7 數(shù)據(jù)定義和數(shù)據(jù)更新226
實驗8 SQL Server 2008中視圖的創(chuàng)建和使用227
實驗9 SQL Server 2008中數(shù)據(jù)的控制與維護227
附錄A 示例數(shù)據(jù)庫表結構229
附錄B SQL Server 2008常用內(nèi)置函數(shù)230
附錄C Java/SQL Server開發(fā)與編程233
參考文獻244
在不允許同名的語義下,對于所有的記錄,不存在讀者編號的屬性值相同,而姓名、性別、班級、班長上的屬性值不同的兩條記錄,所以有:
讀者編號→姓名,讀者編號→性別,讀者編號→班級,讀者編號→班長
同樣也不存在姓名的屬性值相同,而讀者編號、性別、班級、班長的屬性值不同的兩條記錄,所以有:
姓名→讀者編號,姓名→性別,姓名→班級,姓名→班長
同理也能分析出關系模式中還存在如下函數(shù)依賴:
圖書編號→書名,(讀者編號,圖書編號)→借閱日期,(讀者編號,圖書編號)→管理員,(姓名,圖書編號)→借閱日期,(姓名,圖書編號)→管理員
因為可能存在讀者編號的屬性值相同而借閱日期的屬性值不同的兩條或兩條以上記錄,所以有:
讀者編號□借閱日期
因為可能存在圖書編號的屬性值相同而借閱日期的屬性值不同的兩條或兩條以上記錄,所以有:
圖書編號□借閱日期
在允許同名的語義下情況下,只有:
讀者編號→姓名,讀者編號→班級,讀者編號→性別,讀者編號→班長,圖書編號→書名,(讀者編號,圖書編號)→借閱日期,(讀者編號,圖書編號)→借閱天數(shù),(讀者編號,圖書編號)→管理員。