注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡數(shù)據(jù)庫SQL SeverSQL沉思錄

SQL沉思錄

SQL沉思錄

定 價:¥49.00

作 者: (美)塞科 著,馬樹奇 等譯
出版社: 人民郵電出版社
叢編項: 圖靈程序設計叢書
標 簽: SQL

ISBN: 9787115213952 出版時間: 2009-11-01 包裝: 平裝
開本: 16開 頁數(shù): 270 字數(shù):  

內(nèi)容簡介

  《SQL沉思錄》通過大量的實例,詳細說明了為提高SQL編程技術而必須面對的思想方法上的根本轉(zhuǎn)變——由以過程式編程方式思考轉(zhuǎn)變?yōu)橐詳?shù)據(jù)集的方式來思考。此外,《SQL沉思錄》還討論了關于SQL編程中查找表、視圖、輔助表、虛擬表的應用,并獨到地闡明了如何在SQL系統(tǒng)中正確地處理時間值以及SQL編程中的其他技術難點?!禨QL沉思錄》適合廣大數(shù)據(jù)庫編程人員和SQL程序員學習參考。

作者簡介

  Joe Celko,世界著名的數(shù)據(jù)庫專家,曾擔任ANSI SQL標準委員會成員達10年之久,他也是世界上讀者數(shù)量最多的SQL圖書作者之一。他曾撰寫過一系列專欄,并通過他的新聞組支持和推動了數(shù)據(jù)庫編程技術以及ANSI/ISO標準的發(fā)展。除本書外,他還撰寫了多部SQL經(jīng)典著作,包括《SQL編程風格》、《SQL解惑》和《SQL權威指南》,上述作品的中文版均已經(jīng)或即將由人民郵電出版社出版。

圖書目錄

第1章 SQL是聲明式語言,不是過程式語言 1
1.1 不同的編程模型 1
1.2 不同的數(shù)據(jù)模型 3
1.2.1 “列”不是“字段” 4
1.2.2 行不是記錄 6
1.2.3 表不是文件 9
1.2.4 關系鍵不是記錄定位器 11
1.2.5 鍵的類型 12
1.2.6 關系鍵的理想屬性 14
1.2.7 唯一,但并非不變 15
1.3 表作為實體 15
1.4 表作為關系 16
1.5 語句不是過程 16
1.6 分子、原子和亞原子型數(shù)據(jù)元素 17
1.6.1 分割表 17
1.6.2 分割列 18
1.6.3 時間值的分割 19
1.6.4 假造的非第一范式數(shù)據(jù) 19
1.6.5 分子型數(shù)據(jù)元素 21
1.6.6 異構數(shù)據(jù)元素 21
1.6.7 檢驗分子型數(shù)據(jù) 22
第2章 硬件、數(shù)據(jù)量和維護數(shù)據(jù)庫 23
2.1 并行處理技術 23
2.2 廉價的主存儲器 25
2.3 固態(tài)磁盤 25
2.4 更廉價的二級存儲器和三級存儲器 25
2.5 數(shù)據(jù)也在改變 26
2.6 思維方式并未改變 26
第3章 數(shù)據(jù)訪問和記錄 29
3.1 順序訪問 29
3.2 索引 30
3.2.1 單表索引 31
3.2.2 多表索引 31
3.2.3 索引的類型 32
3.3 散列 32
3.3.1 數(shù)字選擇 33
3.3.2 除法散列 33
3.3.3 乘法散列 33
3.3.4 合并 33
3.3.5 表的查找 33
3.3.6 沖突 34
3.4 位向量索引 34
3.5 并行訪問 34
3.6 行和列存儲 35
3.6.1 基于行的存儲 35
3.6.2 基于列的存儲 35
3.7 聯(lián)結算法 36
3.7.1 嵌套循環(huán)聯(lián)結算法 37
3.7.2 排序合并聯(lián)結算法 37
3.7.3 散列聯(lián)結算法 37
3.7.4 Shin算法 38
第4章 查找表 39
4.1 數(shù)據(jù)元素的名稱 40
4.2 多參數(shù)查找表 42
4.3 常量表 43
4.4 OTLT或MUCK表問題 45
4.5 正確表的定義 48
第5章 輔助表 49
5.1 序列表 49
5.1.1 創(chuàng)建序列表 51
5.1.2 序列構造器 51
5.1.3 替換迭代循環(huán) 52
5.2 排列 54
5.2.1 通過遞歸進行排列 54
5.2.2 通過CROSS JOIN進行排列 55
5.3 函數(shù) 57
5.4 通過表實現(xiàn)加密 59
5.5 隨機數(shù) 60
5.6 插值 63
第6章 視圖 66
6.1 Mullins視圖使用原則 66
6.1.1 高效訪問和計算 67
6.1.2 重命名列 68
6.1.3 避免增生 68
6.1.4 視圖同步原則 68
6.2 可更新視圖和只讀視圖 69
6.3 視圖的類型 71
6.3.1 單表投影和限制 71
6.3.2 計算列 71
6.3.3 轉(zhuǎn)換列 72
6.3.4 分組視圖 72
6.3.5 聯(lián)合視圖 73
6.3.6 視圖的聯(lián)結 74
6.3.7 嵌套視圖 75
6.4 用表構建類模型 76
6.4.1 SQL中類的層次結構 77
6.4.2 通過ASSERTION和TRIGER工作的子類 79
6.5 數(shù)據(jù)庫系統(tǒng)如何處理視圖 79
6.5.1 視圖列的列表 79
6.5.2 視圖的物化 80
6.6 嵌入式文本擴展 80
6.7 WITH CHECK OPTION子句 81
6.8 刪除視圖 86
6.9 過時的視圖用法 87
6.9.1 域的支持 87
6.9.2 表表達式視圖 88
6.9.3 表級CHECK()約束的視圖 88
6.9.4 每個基表一個視圖 88
第7章 虛擬表 90
7.1 派生表 90
7.1.1 列的命名規(guī)則 91
7.1.2 作用域規(guī)則 91
7.1.3 公開的表名 93
7.1.4 LATERAL()子句 94
7.2 CTE 96
7.2.1 非遞歸CTE 96
7.2.2 遞歸CTE 97
7.3 臨時表 98
7.3.1 ANSI/ISO標準 99
7.3.2 廠商的模型 99
7.4 信息模式 99
7.4.1 INFORMATION_SCHEMA聲明 100
7.4.2 視圖及其用途的快速列表 101
7.4.3 域的聲明 102
7.4.4 定義模式 102
7.4.5 INFORMATION_SCHEMA斷言 105
第8章 用表實現(xiàn)的復雜函數(shù) 106
8.1 沒有簡單公式的函數(shù) 106
8.2 用表實現(xiàn)校驗位 107
8.2.1 校驗位的定義 107
8.2.2 檢錯與糾錯的對比 108
8.3 算法的分類 109
8.3.1 加權和算法 109
8.3.2 冪和校驗位 111
8.3.3 Luhn算法 112
8.3.4 Dihedral Five校驗位 113
8.4 聲明不是函數(shù),不是過程 114
8.5 用于輔助表的數(shù)據(jù)挖掘 118
第9章 時態(tài)表 120
9.1 時間的本質(zhì) 120
9.1.1 時間段,不是時間子 121
9.1.2 細分程度 122
9.2 ISO半開放時間模型 123
9.2.1 用NULL表示永遠 125
9.2.2 單時間戳表 125
9.2.3 重疊的時間間隔 127
9.3 狀態(tài)轉(zhuǎn)換表 134
9.4 合并時間間隔 138
9.4.1 游標和觸發(fā)器 139
9.4.2 OLAP函數(shù)解決方案 140
9.4.3 CTE解決方案 141
9.5 Calendar表 142
9.5.1 用表提供星期值 142
9.5.2 節(jié)假日列表 143
9.5.3 報告期 145
9.5.4 自更新視圖 145
9.6 歷史表 147
第10章 用非第一范式表清理數(shù)據(jù) 149
10.1 重復的組 149
10.2 設計清理表 155
10.3 清理操作使用的約束 157
10.4 日歷清理 158
10.5 字符串清理 159
10.6 共享SQL數(shù)據(jù) 161
10.6.1 數(shù)據(jù)的發(fā)展 162
10.6.2 數(shù)據(jù)庫 162
10.7 提取、轉(zhuǎn)換和加載產(chǎn)品 163
10.7.1 加載數(shù)據(jù)倉庫 164
10.7.2 全部用SQL來完成 165
10.7.3 提取、轉(zhuǎn)換并加載 166
第11章 以SQL的方式思考 168
11.1 熱身練習 168
11.1.1 整體,不是部分 169
11.1.2 特征函數(shù) 169
11.1.3 盡早鎖定解決方案 171
11.2 啟發(fā)式方法 172
11.2.1 將規(guī)范表達為清晰的語句 172
11.2.2 在名詞前面添加“所有……的集合”幾個字 172
11.2.3 刪除問題語句中的行為動詞 173
11.2.4 仍然可以使用存根 173
11.2.5 不要擔心數(shù)據(jù)的顯示 174
11.2.6 第一次嘗試需要專門處理 175
11.2.7 不要害怕拋棄自己在DDL中的首次嘗試 175
11.2.8 克制使用DML的沖動 176
11.2.9 不要以方框和箭頭的方式思考 176
11.2.10 畫圓和數(shù)據(jù)集示意圖 177
11.2.11 學習具體的產(chǎn)品 178
11.2.12 把WHERE子句看做“超級變形蟲” 178
11.2.13 使用新聞組、博客和因特網(wǎng) 178
11.3 不要在SQL中使用BIT或BOOLEAN標記 179
11.3.1 標記位于錯誤的層 179
11.3.2 標記使用不當使正確屬性難以理解 181
第12章 組特征 184
12.1 并不是按是否相等來分組 185
12.2 使用組,不看里面是什么 186
12.2.1 半面向數(shù)據(jù)集的方式 187
12.2.2 分組的解決方案 188
12.2.3 解決方案總結 189
12.3 根據(jù)時間分組 190
12.3.1 漸進式解決方案 190
12.3.2 整體數(shù)據(jù)解決方案 192
12.4 其他使用HAVING子句的技術 192
12.5 GROUPING、ROLLUP和CUBE 194
12.5.1 GROUPING SET子句 194
12.5.2 ROLLUP子句 195
12.5.3 CUBE子句 196
12.5.4 關于超級組的腳注 196
12.6 WINDOW子句 196
12.6.1 PARTITION BY子句 197
12.6.2 ORDER BY子句 198
12.6.3 RANGE子句 198
12.6.4 編程技巧 199
第13章 將技術規(guī)范變?yōu)榇a 200
13.1 不良SQL的標志 200
13.1.1 代碼的格式是否像另一種語言 200
13.1.2 順序訪問假設 201
13.1.3 游標 201
13.1.4 糟糕的內(nèi)聚度 201
13.1.5 表值函數(shù) 202
13.1.6 同一數(shù)據(jù)元素有多個名稱 202
13.1.7 數(shù)據(jù)庫中的格式 202
13.1.8 將日期保存到字符串中 203
13.1.9 BIT標記、BOOLEAN及其他計算列 203
13.1.10 跨列的屬性分割 203
13.1.11 跨行的屬性分割 203
13.1.12 跨表的屬性分割 203
13.2 解決方法 204
13.2.1 基于游標的解決方案 204
13.2.2 半面向數(shù)據(jù)集的解決方案 205
13.2.3 完全面向數(shù)據(jù)集的解決方案 207
13.2.4 面向數(shù)據(jù)集代碼的優(yōu)點 207
13.3 解釋含糊的說明 207
13.3.1 回歸到DDL 209
13.3.2 修改問題說明 211
第14章 使用過程及函數(shù)調(diào)用 213
14.1 清除字符串中的空格 213
14.1.1 過程式解決方案#1 213
14.1.2 函數(shù)解決方案#1 214
14.1.3 函數(shù)解決方案#2 217
14.2 聚合函數(shù)PRD() 218
14.3 在過程和函數(shù)中使用長參數(shù)列表 220
第15章 對行編號 223
15.1 過程式解決方案 223
15.2 OLAP函數(shù) 226
15.2.1 簡單的行編號 226
15.2.2 RANK()和DENSE_RANK() 227
15.3 節(jié) 228
第16章 保存計算數(shù)據(jù) 231
16.1 過程式解決方案 231
16.2 關系式解決方案 232
16.3 其他種類的計算數(shù)據(jù) 233
第17章 約束類觸發(fā)器 234
17.1 計算類觸發(fā)器 234
17.2 通過CHECK()和CASE約束實現(xiàn)的復雜約束 235
17.3 通過視圖實現(xiàn)復雜約束 237
17.4 用約束實現(xiàn)視圖操作 239
17.4.1 3個基本操作 239
17.4.2 WITH CHECK OPTION子句 240
17.4.3 WITH CHECK OPTION與CHECK()子句 243
17.4.4 視圖的行為 244
17.4.5 聯(lián)合視圖 246
17.4.6 簡單的INSTEAD OF觸發(fā)器 247
17.4.7 關于INSTEAD OF觸發(fā)器的告誡 250
第18章 過程式解決方案和數(shù)據(jù)驅(qū)動的解決方案 251
18.1 刪除字符串中的字母 251
18.1.1 過程式解決方案 252
18.1.2 純粹的SQL解決方案 252
18.1.3 不純粹的SQL解決方案 253
18.2 數(shù)獨的兩種求解方法 254
18.2.1 過程式解決方案 254
18.2.2 數(shù)據(jù)驅(qū)動的解決方法 254
18.2.3 處理已知數(shù)字 255
18.3 數(shù)據(jù)約束方法 257
18.4 裝箱問題 261
18.4.1 過程式解決方法 261
18.4.2 SQL方式 262
18.5 庫存成本隨時間的變化 264
18.5.1 庫存中使用的UPDATE語句 267
18.5.2 回到裝箱問題 268

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號