數據庫原理與應用(SQL Server)

羅養霞,馮慶華

  • 出版商: 電子工業
  • 出版日期: 2024-08-01
  • 定價: $329
  • 售價: 8.5$279
  • 語言: 簡體中文
  • 頁數: 252
  • ISBN: 7121478951
  • ISBN-13: 9787121478956
  • 相關分類: MSSQLSQL
  • 下單後立即進貨 (約4週~6週)

商品描述

本書系統全面地闡述了數據庫系統的基礎理論、基本技術和基本方法。全書分為15章,內容包括數據庫基礎,關系數據庫理論,關系數據庫標準語言SQL,數據庫安全,數據庫完整性、關系數據庫理論,數據庫設計,數據庫建模工具及雙向工程,數據庫編程,基於B/S結構的數據庫管理系統,基於QC(C/S)結構的數據庫管理系統,數據庫優化及並發控制,大數據管理系統,內存數據庫系統,數據倉庫與聯機分析處理技術。本書內容循序漸進,深入淺出,概念清晰,條理性強,每一章節都給出了相應的實例,便於學生理解和掌握。

目錄大綱

第1 章 數據庫概述 ··························································································.1
1.1 數據庫基本概念 ·············································································.1
1.2 數據管理技術的發展 ·······································································.4
1.3 數據庫系統的特點 ··········································································.6
1.4 數據獨立性 ···················································································.9
1.5 數據庫系統的組成 ········································································.10
習題 ·································································································.11
第2 章 數據模型與數據庫結構 ·········································································.12
2.1 數據模型 ····················································································.12
2.1.1 數據與信息 ········································································.13
2.1.2 數據模型 ···········································································.13
2.1.3 數據模型的組成要素 ····························································.15
2.2 概念數據模型 ··············································································.16
2.2.1 基本概念 ···········································································.16
2.2.2 實體-聯系模型 ····································································.17
2.3 邏輯數據模型 ··············································································.18
2.3.1 層次模型 ···········································································.18
2.3.2 網狀模型 ···········································································.20
2.3.3 關系模型 ···········································································.22
2.4 數據庫系統結構 ···········································································.24
2.4.1 模式的基本概念 ··································································.24
2.4.2 三級模式結構 ·····································································.25
2.4.3 模式映像與數據獨立性 ·························································.26
習題 ·································································································.27
第3 章 關系數據庫 ························································································.28
3.1 關系數據結構 ··············································································.28
3.1.1 關系的定義與性質 ·······························································.29
3.1.2 關系模式 ···········································································.31
3.1.3 關系數據庫 ········································································.31
3.2 關系操作 ····················································································.31
3.2.1 基本的關系操作 ··································································.31
3.2.2 關系數據語言的分類 ····························································.32
3.3 關系的完整性 ··············································································.32
3.3.1 實體完整性 ········································································.32
3.3.2 參照完整性 ········································································.32
3.3.3 用戶定義的完整性 ·······························································.33
3.4 關系代數 ····················································································.34
3.4.1 傳統的集合運算 ··································································.34
3.4.2 專門的關系運算 ··································································.35
習題 ·································································································.42
第4 章 關系數據庫標準語言SQL ·····································································.43
4.1 SQL 概述 ····················································································.43
4.1.1 SQL 的產生與發展 ·······························································.44
4.1.2 SQL 的特點 ········································································.44
4.1.3 數據類型 ···········································································.46
4.1.4 Transact-SQL 語句 ·······························································.47
4.2 數據定義 ····················································································.48
4.2.1 數據庫的定義與刪除 ····························································.48
4.2.2 基本表的定義、刪除與修改 ···················································.49
4.2.3 索引的建立與刪除 ·······························································.51
4.3 數據查詢 ····················································································.53
4.3.1 單表查詢 ···········································································.53
4.3.2 連接查詢 ···········································································.62
4.3.3 嵌套查詢 ···········································································.65
4.3.4 集合查詢 ···········································································.71
4.3.5 基於派生表的查詢 ·······························································.73
4.4 數據更新 ····················································································.73
4.4.1 插入數據 ···········································································.74
4.4.2 修改數據 ···········································································.75
4.4.3 刪除數據 ···········································································.76
4.5 空值的處理 ·················································································.76
4.6 視圖 ··························································································.78
4.6.1 定義視圖 ···········································································.78
4.6.2 查詢視圖 ···········································································.81
4.6.3 更新視圖 ···········································································.82
4.6.4 視圖的作用 ········································································.84
習題 ·································································································.85
第5 章 數據庫完整性 ·····················································································.86
5.1 實體完整性 ·················································································.86
5.1.1 定義實體完整性 ··································································.86
5.1.2 實體完整性檢查和違約處理 ···················································.87
5.2 參照完整性 ·················································································.88
5.2.1 定義參照完整性 ··································································.88
5.2.2 參照完整性檢查和違約處理 ···················································.88
5.3 用戶定義的完整性 ········································································.90
5.3.1 屬性上的約束條件 ·······························································.90
5.3.2 元組上的約束條件 ·······························································.91
5.4 完整性約束命名子句 ·····································································.92
習題 ·································································································.93
第6 章 關系數據庫規範化理論 ·········································································.95
6.1 問題的提出 ·················································································.95
6.1.1 關系模型的形式化定義 ·························································.96
6.1.2 數據依賴的基本概念 ····························································.96
6.1.3 不規範的數據庫設計可能存在的問題 ·······································.96
6.2 規範化 ·······················································································.98
6.2.1 函數依賴 ···········································································.98
6.2.2 碼 ····················································································.99
6.2.3 範式 ················································································.100
6.2.4 第一範式(1NF) ·······························································.100
6.2.5 第二範式(2NF) ·······························································.101
6.2.6 第三範式(3NF) ·······························································.102
6.2.7 BCNF 範式 ········································································.103
6.2.8 多值依賴與 4NF ·································································.103
6.3 函數依賴的公理系統 ····································································.106
6.3.1 函數依賴集的完備性 ···························································.106
6.3.2 函數依賴的推理規則 ···························································.107
6.3.3 屬性的閉包與 F 邏輯蘊含的充要條件 ······································.109
6.3.4 最小函數依賴集 Fmin ··························································.110
6.4 關系模式分解 ·············································································.111
6.4.1 無損分解 ··········································································.112
6.4.2 保持函數依賴 ····································································.115
6.5 關系模式規範化步驟 ····································································.117
習題 ································································································.118
第7 章 數據庫設計 ·······················································································.119
7.1 數據庫設計概述 ··········································································.119
7.1.1 數據庫設計的特點 ······························································.120
7.1.2 數據庫設計方法 ·································································.121
7.1.3 數據庫設計的基本步驟 ························································.122
7.1.4 數據庫設計過程中的各級模式 ···············································.124
7.2 需求分析 ···················································································.125
7.2.1 需求分析的任務 ·································································.125
7.2.2 需求分析的方法 ·································································.126
7.2.3 數據字典 ··········································································.127
7.3 概念結構設計 ·············································································.128
7.3.1 概念模型 ··········································································.129
7.3.2 E-R 模型 ···········································································.129
7.3.3 概念結構設計 ····································································.133
7.4 邏輯結構設計 ·············································································.133
7.4.1 E-R 圖向關系模型的轉換 ·····················································.134
7.4.2 數據模型的優化 ·································································.135
7.5 物理結構設計 ·············································································.135
7.5.1 數據庫物理設計的內容和方法 ···············································.136
7.5.2 關系模式存取方法選擇 ························································.136
7.5.3 確定數據庫的存儲結構 ························································.138
7.5.4 評價物理結構 ····································································.139
7.6 數據庫的實施和維護 ····································································.139
7.6.1 數據的加載和應用程序的調試 ···············································.139
7.6.2 數據庫的試運行 ·································································.140
7.6.3 數據庫的運行和維護 ···························································.140
習題 ································································································.141
第8 章 數據庫編程 ·······················································································.142
8.1 嵌入式 SQL ················································································.142
8.1.1 嵌入式 SQL 的處理過程 ·······················································.143
8.1.2 嵌入式 SQL 語句與主語言之間的通信 ·····································.143
8.1.3 不用光標的 SQL 語句 ··························································.146
8.1.4 使用光標的 SQL 語句 ··························································.147
8.2 過程化 SQL ················································································.148
8.2.1 過程化 SQL 的塊結構 ··························································.148
8.2.2 變量和常量的定義 ······························································.148
8.2.3 流程控制 ··········································································.149
8.3 存儲過程和觸發器 ·······································································.150
8.3.1 存儲過程 ··········································································.150
8.3.2 觸發器 ·············································································.152
8.4 ODBC 編程 ················································································.153
8.4.1 ODBC 概述 ·······································································.153
8.4.2 ODBC 工作原理概述 ···························································.154
8.4.3 ODBC API 基礎 ··································································.155
8.4.4 ODBC 的工作流程 ······························································.157
習題 ································································································.161
第9 章 數據庫安全性 ····················································································.162
9.1 數據庫安全性概述 ·······································································.162
9.1.1 數據庫的不安全因素 ···························································.163
9.1.2 數據庫安全性控制 ······························································.163
9.2 數據庫安全控制方法 ····································································.164
9.2.1 用戶身份鑒別 ····································································.164
9.2.2 存取控制 ··········································································.164
9.2.3 視圖機制 ··········································································.165
9.2.4 審計 ················································································.165
9.2.5 數據加密 ··········································································.166
9.3 存取控制 ···················································································.167
9.3.1 登錄名和用戶管理 ······························································.167
9.3.2 自主存取控制 ····································································.167
9.3.3 授權與收回權限 ·································································.168
9.3.4 角色管理 ··········································································.170
9.3.5 強制存取控制 ····································································.171
習題 ································································································.172
第10 章 數據庫查詢優化 ················································································.173
10.1 關系數據庫系統的查詢處理 ··························································.173
10.1.1 查詢處理步驟 ···································································.174
10.1.2 實現查詢操作的算法示例 ····················································.175
10.2 關系數據庫系統的查詢優化 ··························································.177
10.2.1 查詢優化概述 ···································································.177
10.2.2 查詢優化實例 ···································································.178
10.3 代數優化 ··················································································.179
10.3.1 關系代數優化的等價變換規則 ··············································.179
10.3.2 查詢樹的啟發式優化 ··························································.181
10.4 物理優化 ··················································································.183
10.4.1 基於啟發式規則的存取路徑選擇優化 ····································.183
10.4.2 基於代價估算的優化 ··························································.184
習題 ································································································.185
第11 章 並發控制 ·························································································.186
11.1 事務的基本概念 ·········································································.186
11.2 並發操作帶來的問題 ···································································.188
11.3 封鎖 ························································································.189
11.3.1 封鎖粒度 ·········································································.189
11.3.2 鎖的主要類型 ···································································.190
11.3.3 多粒度封鎖 ······································································.191
11.4 封鎖協議 ··················································································.192
11.5 活鎖與死鎖 ···············································································.193
11.5.1 活鎖 ···············································································.193
11.5.2 死鎖 ···············································································.194
11.6 並發調度的可串行性 ···································································.195
11.7 兩段鎖協議 ···············································································.197
習題 ································································································.198
第12 章 數據庫恢復技術 ················································································.200
12.1 故障的種類 ···············································································.200
12.2 數據庫恢復技術 ·········································································.202
12.3 恢復策略 ··················································································.205
12.4 具有檢查點的恢復技術 ································································.207
12.5 數據庫鏡像 ···············································································.209
習題 ································································································.209
第13 章 數據庫技術發展概述 ··········································································.210
13.1 數據庫技術發展歷史回顧 ·····························································.210
13.2 數據庫發展的三個階段 ································································.211
13.2.1 第一代數據庫系統 ·····························································.211
13.2.2 第二代數據庫系統 ·····························································.212
13.2.3 新一代數據庫系統 ·····························································.212
13.3 數據庫系統的特點及開源數據庫 ····················································.213
13.3.1 數據模型的發展 ································································.213
13.3.2 數據庫技術與相關技術相結合 ··············································.216
13.3.3 開源數據庫 ······································································.218
13.4 數據管理技術的發展趨勢 ·····························································.220
13.4.1 數據管理技術面臨的挑戰 ····················································.220
13.4.2 數據管理技術的發展與展望 ·················································.221
習題 ································································································.222
參考文獻 ······································································································.223