注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫(kù)SQL SeverSQL沉思錄

SQL沉思錄

SQL沉思錄

定 價(jià):¥49.00

作 者: (美)塞科 著,馬樹(shù)奇 等譯
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書(shū)
標(biāo) 簽: SQL

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787115213952 出版時(shí)間: 2009-11-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 270 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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