图书介绍

SQL沉思录PDF|Epub|txt|kindle电子书版本下载

SQL沉思录
  • JoeCelko编著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115213952
  • 出版时间:2009
  • 标注页数:270页
  • 文件大小:14MB
  • 文件页数:281页
  • 主题词:关系数据库-数据库管理系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

SQL沉思录PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 SQL是声明式语言,不是过程式语言1

1.1 不同的编程模型1

1.2 不同的数据模型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 分子、原子和亚原子型数据元素17

1.6.1 分割表17

1.6.2 分割列18

1.6.3 时间值的分割19

1.6.4 假造的非第一范式数据19

1.6.5 分子型数据元素21

1.6.6 异构数据元素21

1.6.7 检验分子型数据22

第2章 硬件、数据量和维护数据库23

2.1 并行处理技术23

2.2 廉价的主存储器25

2.3 固态磁盘25

2.4 更廉价的二级存储器和三级存储器25

2.5 数据也在改变26

2.6 思维方式并未改变26

第3章 数据访问和记录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 数字选择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 联结算法36

3.7.1 嵌套循环联结算法37

3.7.2 排序合并联结算法37

3.7.3 散列联结算法37

3.7.4 Shin算法38

第4章 查找表39

4.1 数据元素的名称40

4.2 多参数查找表42

4.3 常量表43

4.4 OTLT或MUCK表问题45

4.5 正确表的定义48

第5章 辅助表49

5.1 序列表49

5.1.1 创建序列表51

5.1.2 序列构造器51

5.1.3 替换迭代循环52

5.2 排列54

5.2.1 通过递归进行排列54

5.2.2 通过CROSS JOIN进行排列55

5.3 函数57

5.4 通过表实现加密59

5.5 随机数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 转换列72

6.3.4 分组视图72

6.3.5 联合视图73

6.3.6 视图的联结74

6.3.7 嵌套视图75

6.4 用表构建类模型76

6.4.1 SQL中类的层次结构77

6.4.2 通过ASSERTION和TRIGER工作的子类79

6.5 数据库系统如何处理视图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 列的命名规则91

7.1.2 作用域规则91

7.1.3 公开的表名93

7.1.4 LATERAL()子句94

7.2 CTE96

7.2.1 非递归CTE96

7.2.2 递归CTE97

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章 用表实现的复杂函数106

8.1 没有简单公式的函数106

8.2 用表实现校验位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 声明不是函数,不是过程114

8.5 用于辅助表的数据挖掘118

第9章 时态表120

9.1 时间的本质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 状态转换表134

9.4 合并时间间隔138

9.4.1 游标和触发器139

9.4.2 OLAP函数解决方案140

9.4.3 CTE解决方案141

9.5 Calendar表142

9.5.1 用表提供星期值142

9.5.2 节假日列表143

9.5.3 报告期145

9.5.4 自更新视图145

9.6 历史表147

第10章 用非第一范式表清理数据149

10.1 重复的组149

10.2 设计清理表155

10.3 清理操作使用的约束157

10.4 日历清理158

10.5 字符串清理159

10.6 共享SQL数据161

10.6.1 数据的发展162

10.6.2 数据库162

10.7 提取、转换和加载产品163

10.7.1 加载数据仓库164

10.7.2 全部用SQL来完成165

10.7.3 提取、转换并加载166

第11章 以SQL的方式思考168

11.1 热身练习168

11.1.1 整体,不是部分169

11.1.2 特征函数169

11.1.3 尽早锁定解决方案171

11.2 启发式方法172

11.2.1 将规范表达为清晰的语句172

11.2.2 在名词前面添加“所有……的集合”几个字172

11.2.3 删除问题语句中的行为动词173

11.2.4 仍然可以使用存根173

11.2.5 不要担心数据的显示174

11.2.6 第一次尝试需要专门处理175

11.2.7 不要害怕抛弃自己在DDL中的首次尝试175

11.2.8 克制使用DML的冲动176

11.2.9 不要以方框和箭头的方式思考176

11.2.10 画圆和数据集示意图177

11.2.11 学习具体的产品178

11.2.12 把WHERE子句看做“超级变形虫”178

11.2.13 使用新闻组、博客和因特网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 半面向数据集的方式187

12.2.2 分组的解决方案188

12.2.3 解决方案总结189

12.3 根据时间分组190

12.3.1 渐进式解决方案190

12.3.2 整体数据解决方案192

12.4 其他使用HAVING子句的技术192

12.5 GROUPING、ROLLUP和CUBE194

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章 将技术规范变为代码200

13.1 不良SQL的标志200

13.1.1 代码的格式是否像另一种语言200

13.1.2 顺序访问假设201

13.1.3 游标201

13.1.4 糟糕的内聚度201

13.1.5 表值函数202

13.1.6 同一数据元素有多个名称202

13.1.7 数据库中的格式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 半面向数据集的解决方案205

13.2.3 完全面向数据集的解决方案207

13.2.4 面向数据集代码的优点207

13.3 解释含糊的说明207

13.3.1 回归到DDL209

13.3.2 修改问题说明211

第14章 使用过程及函数调用213

14.1 清除字符串中的空格213

14.1.1 过程式解决方案#1213

14.1.2 函数解决方案#1214

14.1.3 函数解决方案#2217

14.2 聚合函数PRD()218

14.3 在过程和函数中使用长参数列表220

第15章 对行编号223

15.1 过程式解决方案223

15.2 OLAP函数226

15.2.1 简单的行编号226

15.2.2 RANK()和DENSE_RANK()227

15.3 节228

第16章 保存计算数据231

16.1 过程式解决方案231

16.2 关系式解决方案232

16.3 其他种类的计算数据233

第17章 约束类触发器234

17.1 计算类触发器234

17.2 通过CHECK()和CASE约束实现的复杂约束235

17.3 通过视图实现复杂约束237

17.4 用约束实现视图操作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 联合视图246

17.4.6 简单的INSTEAD OF触发器247

17.4.7 关于INSTEAD OF触发器的告诫250

第18章 过程式解决方案和数据驱动的解决方案251

18.1 删除字符串中的字母251

18.1.1 过程式解决方案252

18.1.2 纯粹的SQL解决方案252

18.1.3 不纯粹的SQL解决方案253

18.2 数独的两种求解方法254

18.2.1 过程式解决方案254

18.2.2 数据驱动的解决方法254

18.2.3 处理已知数字255

18.3 数据约束方法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

热门推荐