SQL入門經典(第7版) Sams Teach Yourself SQL in 24 Hours, 7/e
[美]賴安·斯蒂芬斯(Ryan Stephens)
- 出版商: 人民郵電
- 出版日期: 2024-08-01
- 售價: $539
- 貴賓價: 9.5 折 $512
- 語言: 簡體中文
- 頁數: 392
- 裝訂: 平裝
- ISBN: 7115624410
- ISBN-13: 9787115624413
-
相關分類:
SQL
- 此書翻譯自: Sams Teach Yourself SQL in 24 Hours, 7/e
立即出貨 (庫存 < 4)
相關主題
商品描述
本書詳細介紹了 SQL 語言的基本語法、基本概念,說明瞭各種 SQL 實現與 ANSI 標準之間的差別。書中包含大量的示例,直觀地說明瞭如何使用 SQL 對數據進行處理,還通過真實示例和實踐練習介紹如何踐行 SQL 標準。本書配有針對性很強的測試題和習題,能夠幫助讀者更好地理解和掌握學習的內容。在附錄里還給出了常見 SQL 命令和流行供應商的RDBMS 產品,以及測試題和習題的答案。
本書內容層次清晰,針對性強,非常適合初學者作為入門教材。
作者簡介
Ryan Stephens 是一位企业家,他的职业生涯和他的多家 IT 公司都是围绕 SQL、数据和关系型数据库发展的。他与世界各地的机构、学生和 IT 专业人士分享知识和经验。他参与创立的两家公司—Perpetual Technologies, Inc.(PTI)和 Indy Data Partners(IDP),已为政府和大型商业客户提供了超过 25 年的专业数据库和 IT 服务。Ryan 为 Pearson 撰写过多本书,其中包括《SQL 入门经典(第 6 版)》。他的部分作品已被翻译并在国际上出版。此外,Ryan 曾在大型机构工作,并在 SQL、数据库设计、数据库管理和项目管理领域提供咨询服务。他为印第安纳大学与普渡大学印第安纳波利斯联合分校(Indiana University–Purdue University in Indianapolis,IUPUI)设计并讲授数据库管理课程,目前也在为 Pearson Education 讲授 SQL 和数据库的在线课程。
目錄大綱
第 1 章 關系型數據庫和 SQL 1
1.1 在數據驅動的世界中壯大 2
1.1.1 組織、數據和用戶群 2
1.1.2 數據庫的定義 3
1.1.3 常見的數據庫環境 3
1.1.4 客戶機/服務器環境 4
1.1.5 基於 Web 的環境 4
1.2 關系型數據庫簡介 5
1.2.1 示例數據庫簡介 5
1.2.2 數據庫的邏輯元素和物理元素 8
1.2.3 數據庫模式 9
1.3 關系型數據庫持續領跑. 9
1.4 示例和習題 10
1.5 小結 10
1.6 答疑 10
1.7 實踐練習 11
第 2 章 SQL 語言的組成部分 12
2.1 SQL 的定義和歷史 12
2.2 SQL 是一種標準語言 13
2.2.1 ANSI SQL 標準 13
2.2.2 標準的重要性 14
2.2.3 符合 SQL 標準的各種產品 14
2.2.4 本書用到的 SQL 產品 15
2.2.5 為自己和組織選擇合適的產品 15
2.3 SQL 會話 15
2.3.1 CONNECT 16
2.3.2 DISCONNECT 和 EXIT 16
2.4 SQL 命令的種類 16
2.4.1 定義數據庫結構 16
2.4.2 操作數據 17
2.4.3 獲取數據庫中的數據 17
2.4.4 數據控制語言 17
2.4.5 數據管理命令的使用 18
2.4.6 事務控制命令的使用 18
2.5 小結 18
2.6 答疑 18
2.7 實踐練習 19
第 3 章 瞭解自己的數據 20
3.1 BIRD 數據庫:本書的示例和習題 20
3.2 如何瞭解數據 20
3.2.1 鳥類信息 21
3.2.2 組織和用戶 21
3.2.3 擴充數據庫的機會 22
3.3 實體關系圖 22
3.3.1 實體和關系 22
3.3.2 詳細的實體/表 23
3.3.3 屬性(列)的定義 23
3.3.4 表的命名標準 25
3.4 示例和習題 25
3.5 小結 25
3.6 答疑 25
3.7 實踐練習 26
第 4 章 建立數據庫 27
4.1 找到所需腳本文件 27
4.2 為實踐練習做準備 27
4.2.1 下載並安裝數據庫軟件 28
4.2.2 其他可選的數據庫軟件 30
4.2.3 創建具備所需權限的用戶 31
4.2.4 為 BIRDS 數據庫創建表和數據 32
4.3 各張表的數據清單 34
4.3.1 BIRDS 表的第 1 部分 34
4.3.2 BIRDS 表的第 2 部分 35
4.3.3 FOOD 表 35
4.3.4 BIRDS_FOOD 表 36
4.3.5 MIGRATION 表 37
4.3.6 BIRDS_MIGRATION 表 37
4.3.7 NESTS 表 38
4.3.8 BIRDS_NESTS 表 38
4.3.9 NICKNAMES 表 39
4.3.10 LOCATIONS 表 39
4.3.11 PHOTOS 表 40
4.4 小結 40
4.5 答疑 40
4.6 實踐練習 40
第 5 章 關系型(SQL)數據庫設計的基礎知識 42
5.1 理解數據庫設計與 SQL 的關系 42
5.2 數據庫設計過程 42
5.3 選擇數據庫設計方法 43
5.4 用簡單過程設計 BIRDS 數據庫 44
5.4.1 瞭解數據 44
5.4.2 收集信息:向合適的人提出合適的問題 47
5.4.3 數據建模 47
5.5 邏輯模型與物理設計 49
5.6 數據庫的生命周期 49
5.6.1 開發環境 50
5.6.2 測試環境 50
5.6.3 生產環境 50
5.7 小結 51
5.8 答疑 51
5.9 實踐練習 51
第 6 章 定義實體和關系 53
6.1 為數據創建模型 53
6.1.1 數據 53
6.1.2 關系 54
6.1.3 參照完整性 54
6.2 定義關系 56
6.2.1 一對一關系 56
6.2.2 一對多關系 56
6.2.3 多對多關系 56
6.2.4 遞歸關系 57
6.3 應用參照完整性 57
6.3.1 確定主鍵 58
6.3.2 確定外鍵 58
6.4 創建實體關系 59
6.5 小結 60
6.6 答疑 60
6.7 實踐練習 61
第 7 章 數據庫的規範化 63
7.1 什麽是規範化 63
7.1.1 原始數據庫 64
7.1.2 數據庫邏輯設計 64
7.2 最常見的範式 65
7.2.1 第 一範式(FNF):有主鍵 65
7.2.2 第二範式(SNF):全主鍵依賴. 66
7.2.3 第三範式(TNF):只有主鍵依賴 69
7.2.4 命名規範 70
7.2.5 規範化的優點 71
7.2.6 規範化的缺點 72
7.3 數據庫的反規範化 72
7.4 把範式應用於數據庫 72
7.4.1 把第 一範式應用於鳥類救助機構數據 72
7.4.2 把第二範式應用於鳥類救助機構數據 73
7.4.3 把第三範式應用於鳥類救助機構數據 73
7.5 小結 74
7.6 答疑 74
7.7 實踐練習 75
第 8 章 定義數據結構. 76
8.1 定義數據 76
8.2 理解基本數據類型 77
8.2.1 定長字符串 78
8.2.2 變長字符串 78
8.2.3 大對象類型 78
8.2.4 數值類型 79
8.2.5 DECIMAL 類型 79
8.2.6 整數 80
8.2.7 浮點數 80
8.2.8 日期和時間類型 80
8.2.9 字符串字面量 81
8.2.10 NULL 數據類型 82
8.2.11 布爾值 82
8.2.12 用戶自定義類型 82
8.2.13 域 83
8.3 在 BIRDS 數據庫中運用數據類型 83
8.4 小結 84
8.5 答疑 85
8.6 實踐練習 85
第 9 章 數據庫對象的創建和管理 87
9.1 數據庫對象和模式的關系 87
9.2 表:數據的主要存儲對象 88
9.2.1 列 89
9.2.2 行 90
9.2.3 CREATE TABLE 語句 90
9.2.4 命名規範 92
9.2.5 ALTER TABLE 命令的用法 92
9.2.6 由現有表創建新表 96
9.2.7 表的刪除操作 98
9.3 完整性約束 99
9.3.1 主鍵約束 99
9.3.2 唯一性約束 100
9.3.3 外鍵約束 100
9.3.4 NOT NULL 約束 101
9.3.5 檢查約束 101
9.3.6 約束的刪除操作 102
9.4 小結 102
9.5 答疑 102
9.6 實踐練習 103
第 10 章 操作數據. 104
10.1 數據操縱語言概述 104
10.2 用新數據填充表 105
10.2.1 在表中插入數據 105
10.2.2 在表的指定列插入數據 106
10.2.3 由另一張表插入數據 107
10.2.4 插入 NULL 值 108
10.3 更新現有數據 108
10.3.1 更新一列數據 108
10.3.2 更新一條或多條記錄的多個列 110
10.4 刪除數據 111
10.5 小結 112
10.6 答疑 112
10.7 實踐練習 113
第 11 章 管理數據庫事務 114
11.1 事務的定義 114
11.2 事務的控制 115
11.2.1 COMMIT 命令 115
11.2.2 ROLLBACK 命令 117
11.2.3 SAVEPOINT 命令 120
11.2.4 SET TRANSACTION 命令 124
11.3 處理糟糕的事務控制 124
11.4 小結 124
11.5 答疑 124
11.6 實踐練習 125
第 12 章 數據庫查詢 127
12.1 SELECT 語句的用法 127
12.1.1 理解 SELECT 語句 128
12.1.2 查詢唯一值 130
12.1.3 理解 FROM 子句 130
12.1.4 理解 WHERE 子句 131
12.1.5 理解 ORDER BY 子句 133
12.2 大小寫敏感性 135
12.3 查詢語句編寫起步 136
12.3.1 對記錄計數 138
12.3.2 查詢其他用戶的表 139
12.3.3 列別名的用法 140
12.4 小結 141
12.5 答疑 141
12.6 實踐練習 141
第 13 章 用操作符歸類數據 143
13.1 SQL 操作符的定義 143
13.2 比較操作符的用法 143
13.2.1 等於 144
13.2.2 不等於 144
13.2.3 小於和大於 145
13.2.4 比較操作符的組合使用 146
13.3 邏輯操作符的用法 147
13.3.1 IS NULL 147
13.3.2 BETWEEN. 148
13.3.3 IN 149
13.3.4 LIKE 150
13.3.5 EXISTS 151
13.3.6 ALL、SOME 和 ANY 151
13.4 連接操作符的用法 152
13.4.1 AND 152
13.4.2 OR 153
13.5 取反操作符的用法 154
13.5.1 不等於 155
13.5.2 NOT BETWEEN 155
13.5.3 NOT IN 156
13.5.4 NOT LIKE 156
13.5.5 IS NOT NULL 156
13.5.6 NOT EXISTS 157
13.6 算術操作符的用法 157
13.6.1 加法 158
13.6.2 減法 158
13.6.3 乘法 159
13.6.4 除法 159
13.6.5 算術操作符的組合使用 160
13.7 小結 161
13.8 答疑 161
13.9 實踐練習 161
第 14 章 表連接查詢 163
14.1 查詢多張表中的數據 163
14.2 理解連接 164
14.2.1 等值連接 164
14.2.2 表的別名 166
14.2.3 不等連接 166
14.2.4 外連接 168
14.2.5 自連接 169
14.2.6 用多個鍵連接表 172
14.3 表連接的註意事項 173
14.3.1 基表 173
14.3.2 笛卡兒積 174
14.4 小結 176
14.5 答疑 176
14.6 實踐練習 177
第 15 章 調整數據的顯示格式 178
15.1 ANSI 字符函數 178
15.2 常用的字符函數 179
15.2.1 CONCAT 函數 179
15.2.2 UPPER 函數 181
15.2.3 LOWER 函數 181
15.2.4 DECODE 函數 182
15.2.5 SUBSTR 函數 183
15.2.6 TRANSLATE 函數 183
15.2.7 REPLACE 函數 184
15.2.8 LTRIM 函數 184
15.2.9 RTRIM 函數 185
15.3 其他字符函數 185
15.3.1 LENGTH 函數 185
15.3.2 COALESCE 函數 186
15.3.3 LPAD 函數 187
15.3.4 RPAD 函數 187
15.3.5 ASCII 函數 187
15.4 數學函數 188
15.5 格式轉換函數 188
15.5.1 將數值轉換為字符串 189
15.5.2 將字符串轉換為數值 189
15.6 字符函數的組合使用. 190
15.7 小結 190
15.8 答疑 190
15.9 實踐練習 191
第 16 章 日期和時間 193
16.1 日期的存儲方式 193
16.1.1 標準的日期和時間類型 193
16.1.2 DATETIME 的構成元素 194
16.1.3 各種產品的日期類型 194
16.2 日期函數的用法 195
16.2.1 獲取當前日期 195
16.2.2 時區的處理 197
16.2.3 日期相加 198
16.2.4 時間相減 199
16.2.5 其他日期函數的用法 200
16.3 日期的格式轉換 201
16.3.1 日期格式符的用法 201
16.3.2 將日期轉換為字符串 203
16.3.3 將字符串轉換為日期 204
16.4 小結 204
16.5 答疑 204
16.6 實踐練習 205
第 17 章 匯總查詢結果數據 206
17.1 聚合函數的用法 206
17.1.1 COUNT 函數 207
17.1.2 SUM 函數 208
17.1.3 AVG 函數 209
17.1.4 MAX 函數 210
17.1.5 MIN 函數 210
17.2 數據分組 211
17.3 GROUP BY 子句的用法 211
17.3.1 分組函數 212
17.3.2 對所選數據分組 212
17.3.3 創建分組並使用聚合函數 212
17.4 GROUP BY 和 ORDER BY 的區別 213
17.5 CUBE 和 ROLLUP 表達式的用法 215
17.6 HAVING 子句的用法 217
17.7 小結 218
17.8 答疑 218
17.9 實踐練習 219
第 18 章 用子查詢定義未知數據 221
18.1 子查詢的定義 221
18.1.1 子查詢與 SELECT 語句合作 222
18.1.2 子查詢與 CREATE TABLE 語句合作 224
18.1.3 子查詢與 INSERT 語句合作 225
18.1.4 子查詢與 UPDATE 語句合作 226
18.1.5 子查詢與 DELETE 語句合作 227
18.2 嵌套子查詢 227
18.3 關聯子查詢 229
18.4 小結 230
18.5 答疑 230
18.6 實踐練習 231
第 19 章 組合查詢. 232
19.1 單體查詢和組合查詢的區別 232
19.2 組合查詢操作符的用法 233
19.2.1 UNION 操作符 233
19.2.2 UNION ALL 操作符 236
19.2.3 INTERSECT 操作符 238
19.2.4 EXCEPT 和 MINUS 操作符 239
19.3 組合查詢中的 ORDER BY 240
19.4 組合查詢中的 GROUP BY 242
19.5 獲取準確的數據 243
19.6 小結 244
19.7 答疑 244
19.8 實踐練習 244
第 20 章 視圖和同義詞 247
20.1 視圖的定義 247
20.1.1 利用視圖簡化數據的訪問 248
20.1.2 將視圖用作一種安全措施 248
20.1.3 利用視圖維護匯總數據 248
20.2 創建視圖 249
20.2.1 由單張表創建視圖 249
20.2.2 由多張表創建視圖 250
20.2.3 由視圖創建視圖 253
20.2.4 由視圖創建表 256
20.2.5 加入 ORDER BY 子句 257
20.3 通過視圖更新數據 257
20.4 刪除視圖 261
20.5 嵌套視圖對性能的影響 261
20.6 同義詞的定義 261
20.6.1 同義詞的創建 262
20.6.2 同義詞的刪除 263
20.7 小結 263
20.8 答疑 263
20.9 實踐練習 263
第 21 章 管理數據庫用戶和安全 265
21.1 管理數據庫用戶 266
21.1.1 用戶類型 266
21.1.2 用戶管理由誰負責 266
21.1.3 用戶在數據庫中的位置 267
21.1.4 用戶和模式的區別 267
21.2 用戶管理過程 268
21.2.1 創建用戶 268
21.2.2 模式的創建 271
21.2.3 模式的刪除 272
21.2.4 修改用戶 273
21.2.5 監控用戶會話 273
21.2.6 刪除用戶權限 274
21.3 充分利用工具軟件 274
21.4 數據庫安全 275
21.5 賦權 275
21.5.1 系統級權限 276
21.5.2 對象級權限 276
21.5.3 賦予和撤銷權限的權限 277
21.6 控制用戶訪問 277
21.6.1 GRANT 命令 278
21.6.2 REVOKE 命令 279
21.6.3 列級的訪問控制 279
21.6.4 PUBLIC 賬戶 279
21.6.5 權限組 280
21.7 通過角色控制權限 280
21.7.1 CREATE ROLE 語句 281
21.7.2 DROP ROLE 語句 281
21.7.3 SET ROLE 語句 282
21.8 小結 282
21.9 答疑 283
21.10 實踐練習 283
第 22 章 利用索引改善性能 285
22.1 索引的定義 285
22.2 索引的工作原理 286
22.3 CREATE INDEX 命令的用法 286
22.4 索引的類型 287
22.4.1 單列索引 287
22.4.2 唯一索引 288
22.4.3 復合索引 289
22.4.4 隱式索引 290
22.5 何時使用索引 290
22.6 何時不用索引 290
22.7 修改索引 292
22.8 刪除索引 292
22.9 小結 292
22.10 答疑 292
22.11 實踐練習 293
第 23 章 改善數據庫性能 294
23.1 SQL 語句調優的定義 294
23.2 數據庫調優和 SQL 語句調優的對比 294
23.3 格式化 SQL 語句 295
23.3.1 格式化語句提升可讀性 295
23.3.2 重排 FROM 子句中表的順序 297
23.3.3 重排表連接條件的順序 297
23.3.4 最嚴篩選條件 298
23.4 全表掃描 299
23.5 其他影響性能的因素 300
23.5.1 使用 LIKE 操作符和通配符 300
23.5.2 避免使用 OR 操作符 301
23.5.3 避免使用 HAVING 子句 301
23.5.4 避免大規模排序操作 301
23.5.5 使用存儲過程 301
23.5.6 使用視圖 302
23.5.7 批量加載數據時禁用索引 302
23.6 基於成本的優化 302
23.7 小結 303
23.8 答疑 303
23.9 實踐練習 304
第 24 章 系統目錄的用法 306
24.1 系統目錄的定義 306
24.2 創建系統目錄 307
24.3 系統目錄包含的內容. 307
24.3.1 用戶數據 308
24.3.2 安全信息 308
24.3.3 數據庫設計信息 308
24.3.4 性能統計信息 308
24.4 不同產品的系統目錄表 308
24.5 查詢系統目錄 309
24.6 更新系統目錄表對象. 312
24.7 小結 313
24.8 答疑 313
24.9 實踐練習 313
第 25 章 更多練習 315
25.1 BIRDS 數據庫 315
25.2 鳥類的捕食者 317
25.3 鳥類攝影師 318
25.4 創建新表 321
25.5 實踐練習:查看表的信息 323
25.6 實踐練習:簡單查詢 323
25.7 實踐練習:新增表 324
25.8 實踐練習:操作數據 324
25.9 實踐練習:表連接 326
25.10 實踐練習:比較操作符 327
25.11 實踐練習:邏輯操作符 328
25.12 實踐練習:連接操作符 330
25.13 實踐練習:算術操作符 330
25.14 實踐練習:字符函數 330
25.15 實踐練習:聚合數據 333
25.16 實踐練習:GROUP BY 和HAVING 334
25.17 實踐練習:組合查詢 334
25.18 實踐練習:由現有表創建表 336
25.19 實踐練習:插入來自其他表
的數據 337
25.20 實踐練習:創建視圖 337
25.21 實踐練習:嵌入式子查詢 338
25.22 實踐練習:由子查詢創建視圖 339
25.23 實踐練習:由 SQL 語句創建 SQL 代碼 339
25.24 小結 340
25.25 實踐練習 340
附錄 A 常見 SQL 命令 342
附錄 B 流行供應商的 RDBMS 產品 347
附錄 C 測試題和習題答案. 348