SQL 實踐教程, 10/e A Guide to SQL
[美]馬克·謝爾曼(Mark Shellman)哈桑·阿夫尤尼(Hassan Afyouni)菲利普·J.普拉特(Philip J.Pratt)瑪麗·Z.拉斯特(Mary Z.Last)
買這商品的人也買了...
-
$750$593 -
$660$515 -
$980$774 -
$414$393 -
$350$315
相關主題
商品描述
本書介紹了SQL的編程原理、基本原則、使用方法及技巧,包含數據庫設計基礎知識,第一範式、第二範式、第三範式的概念和範式間的轉換方法,涉及數據庫創建、單表查詢、多表查詢、更新數據、數據庫管理知識,並提供了常用SQL語句的案例速查表。公司使用SQL來管理訂單、物品、客戶和銷售代表的有趣案例貫穿全書,方便讀者跟隨進度逐步上手SQL。
本書可作為高等院校SQL或數據庫相關課程的參考教材,也可作為SQL的案例參考和函數速查手冊,適合有一定編程基礎、想要上手使用SQL的人閱讀。
作者簡介
[美]Mark Shellman ,在信息技术领域他最喜欢的科目包括数据库和编程语言。马克博士从事信息技术教学已有三十多年,并与人合著了《微软Access数据库新视角系列》中的几篇文章。
[美]Hassan Afyouni 是一位数据库专家、Oracle专家、企业架构师、技术顾问和教育家。他曾在加拿大、美国和黎巴嫩的几所学院和大学担任讲师。他是数据库领域几本主要图书的作者,备受尊敬。
[美]Philip J. Pratt ,他的教学兴趣包括数据库管理、系统分析、复杂分析和离散数学。他撰写了超过75本教科书,并与人合著了流行的Shelly Cashman系列的三个级别的Microsoft Office Access图书。
[美]Mary Z. Last, 她自1984年以来一直教授计算机信息系统。她从德克萨斯州贝尔顿的玛丽-哈丁-贝勒大学退休,在那里她是副教授和学习与教学效率中心的主任。Last女士积极参与计算机教育家的口述历史项目,鼓励年轻女性从事数学和科学方面的工作。自1992年以来,她一直是Shelly Cashman系列的撰稿人。她还为领先的数据库文本编写了许多教师资源。
目錄大綱
第 1章 KimTay和StayWell數據庫簡介 1
1.1 簡介 1
1.2 什麽是數據庫 1
1.3 KimTay數據庫 2
1.4 StayWell數據庫 8
1.5 本章總結 12
1.6 案例練習 13
第 2章 數據庫設計基礎知識 15
2.1 簡介 15
2.2 數據庫的概念 16
2.2.1 關系數據庫 16
2.2.2 實體、屬性和聯系 17
2.3 功能依賴關系 21
2.4 主鍵 24
2.5 數據庫的設計 26
2.5.1 設計方法 26
2.5.2 數據庫的設計需求 27
2.5.3 數據庫設計過程示例 28
2.6 規範化 35
2.6.1 第 一範式 36
2.6.2 第二範式 37
2.6.3 第三範式 41
2.7 數據庫的結構設計圖 46
2.8 本章總結 48
2.9 復習題 50
2.10 案例練習 51
第3章 創建表 54
3.1 簡介 54
3.2 創建和運行SQL命令 55
3.2.1 使用MySQL Workbench 55
3.2.2 輸入指令 58
3.3 創建數據庫 61
更改默認數據庫 63
3.4 創建表 64
3.4.1 修正SQL指令中的錯誤 69
3.4.2 刪除表 70
3.4.3 使用數據類型 71
3.5 使用空值 72
3.6 在表中添加行 73
3.6.1 INSERT指令 73
3.6.2 插入包含空值的行 77
3.7 查看表中的數據 78
3.8 修正表中的錯誤 80
3.9 保存SQL指令 83
3.10 創建剩餘的數據庫表 87
3.11 對表進行描述 92
3.12 本章總結 95
3.13 復習題 96
3.14 案例練習 97
第4章 單表查詢 101
4.1 簡介 101
4.2 創建簡單查詢 101
4.2.1 提取特定列和所有行 102
4.2.2 提取所有列和所有行 103
4.2.3 使用WHERE子句 104
4.2.4 使用復合條件 106
4.2.5 使用BETWEEN操作符 109
4.2.6 使用計算列 111
4.2.7 使用LIKE操作符 113
4.2.8 使用IN操作符 115
4.3 排序 116
4.3.1 使用ORDER BY子句 116
4.3.2 其他排序選項 117
4.4 使用函數 118
4.4.1 使用COUNT函數 118
4.4.2 使用SUM函數 119
4.4.3 使用AVG、MAX和MIN函數 119
4.4.4 使用DISTINCT操作符 121
4.5 嵌套的查詢 123
子查詢 125
4.6 分組 127
4.6.1 使用GROUP BY子句 127
4.6.2 使用HAVING子句 129
4.6.3 比較HAVING子句和WHERE子句 130
4.7 空值 132
4.8 總結SQL查詢的子句和操作符 133
4.9 本章總結 134
4.10 復習題 135
4.11 案例練習 136
第5章 多表查詢 139
5.1 簡介 139
5.2 對多個表進行查詢 139
連接兩個表 140
5.3 連接、IN和EXISTS的比較 143
5.3.1 使用IN操作符 144
5.3.2 使用EXISTS操作符 145
5.3.3 在子查詢中使用子查詢 146
5.3.4 綜合案例 148
5.3.5 使用別名 150
5.3.6 把表與自身相連接 151
5.3.7 根據主鍵列使用自身連接 153
5.3.8 連接幾個表 154
5.4 集合操作 157
5.5 ALL和ANY操作符 162
5.6 特殊操作 165
5.6.1 內部連接 165
5.6.2 外部連接 167
5.6.3 乘積 168
5.7 本章總結 169
5.8 復習題 171
5.9 案例練習 172
第6章 更新數據 175
6.1 簡介 175
6.2 使用一個現有的表創建一個新表 175
6.3 修改一個表的現有數據 177
6.4 向一個現有的表添加行 180
6.5 自動提交、提交和回滾 182
6.6 事務 184
6.7 修改和刪除現有的行 185
執行回滾 187
6.8 把一個值修改為空值 188
6.9 修改表的結構 190
進行復雜的修改 197
6.10 刪除表 197
6.11 本章總結 198
6.12 復習題 199
6.13 案例練習 199
第7章 數據庫管理 203
7.1 簡介 203
7.2 創建和使用視圖 203
7.3 使用視圖更新數據 212
7.3.1 更新行列子集視圖 212
7.3.2 更新涉及連接的視圖 214
7.3.3 更新涉及統計數據的視圖 218
7.4 刪除視圖 218
7.5 安全 219
7.6 索引 222
7.6.1 創建索引 225
7.6.2 刪除索引 226
7.6.3 創建唯一性索引 227
7.7 系統目錄 228
系統目錄的更新 231
7.8 SQL的完整性約束 232
7.9 本章總結 235
7.10 復習題 237
7.11 案例練習 238
第8章 函數、存儲過程、觸發器 242
8.1 簡介 242
8.2 在編程環境中使用SQL 242
8.3 使用函數 244
8.3.1 字符函數 244
8.3.2 數值函數 245
8.3.3 對日期進行操作 246
8.4 連接列 251
8.5 在MySQL中使用存儲過程 255
提取單行和單列 256
8.6 錯誤處理 259
8.7 使用更新存儲過程 262
8.7.1 使用更新存儲過程修改數據 262
8.7.2 使用更新存儲過程刪除數據 264
8.8 使用存儲過程選擇多行 265
8.8.1 使用游標 265
8.8.2 打開游標 266
8.8.3 從游標提取行 267
8.8.4 關閉游標 268
8.8.5 使用游標編寫一個完整的存儲過程 269
8.8.6 使用更復雜的游標 270
8.8.7 游標的優點 272
8.9 在Oracle中使用PL/SQL 272
8.9.1 PL/SQL的錯誤處理 274
8.9.2 在PL/SQL中使用游標編寫一個完整的存儲過程 276
8.10 在SQL Server中使用T-SQL 277
8.10.1 在T-SQL中提取單行和單列 277
8.10.2 在T-SQL中使用存儲過程修改數據 277
8.10.3 在T-SQL中使用存儲過程刪除數據 278
8.10.4 在T-SQL中使用游標 278
8.10.5 在T-SQL中使用更復雜的游標 279
8.11 使用觸發器 280
8.12 本章總結 286
8.13 復習題 288
8.14 案例練習 289
附錄A SQL參考 293
A.1 別名 293
A.2 ALTER TABLE指令 293
A.3 列或表達式列表(SELECT子句) 294
A.3.1 計算列 294
A.3.2 DISTINCT操作符 294
A.3.3 函數 295
A.4 COMMIT指令 295
A.5 條件 296
A.5.1 簡單條件 296
A.5.2 復合條件 296
A.5.3 BETWEEN條件 296
A.5.4 LIKE條件 297
A.5.5 IN條件 297
A.5.6 EXISTS條件 297
A.5.7 ALL和ANY條件 298
A.6 CREATE INDEX指令 298
A.7 CREATE TABLE指令 298
A.8 CREATE VIEW指令 299
A.9 數據類型 300
A.10 刪除行 300
A.11 DESCRIBE 301
A.12 DROP INDEX指令 301
A.13 DROP TABLE指令 301
A.14 DROP VIEW指令 302
A.15 GRANT指令 302
A.16 INSERT INTO(查詢)指令 303
A.17 INSERT INTO(值)指令 303
A.18 表的完整性 304
A.19 REVOKE指令 304
A.20 ROLLBACK指令 305
A.21 SELECT指令 305
A.22 子查詢 306
A.23 UNION、INTERSECT、MINUS子句 307
A.24 UPDATE指令 308
附錄B SQL參考使用指南 309
附錄C 編寫查詢指令的10條戒律 312