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