出版社:人民邮电出版社
年代:2009
定价:49.0
本书通过大量实例说明了为提高SQL编程技术而必须面对的思想方法上的根本转变——由以过程式编程方式思考转变为以数据集的方式来思考。书中还讨论了SQL中查找表、视图、辅助表、虚拟表的应用,并独到地阐明了如何正确地处理时间值以及其他技术难点。
第1章SQL是声明式语言,不是过程式语言
1.1不同的编程模型
1.2不同的数据模型
1.2.1“列”不是“字段”
1.2.2行不是记录
1.2.3表不是文件
1.2.4关系键不是记录定位器
1.2.5键的类型
1.2.6关系键的理想属性
1.2.7唯一,但并非不变
1.3表作为实体
1.4表作为关系
1.5语句不是过程
1.6分子、原子和亚原子型数据元素
1.6.1分割表
1.6.2分割列
1.6.3时间值的分割
1.6.4假造的非第一范式数据
1.6.5分子型数据元素
1.6.6异构数据元素
1.6.7检验分子型数据
第2章硬件、数据量和维护数据库
2.1并行处理技术
2.2廉价的主存储器
2.3固态磁盘
2.4更廉价的二级存储器和三级存储器
2.5数据也在改变
2.6思维方式并未改变
第3章数据访问和记录
3.1顺序访问
3.2索引
3.2.1单表索引
3.2.2多表索引
3.2.3索引的类型
3.3散列
3.3.1数字选择
3.3.2除法散列
3.3.3乘法散列
3.3.4合并
3.3.5表的查找
3.3.6冲突
3.4位向量索引
3.5并行访问
3.6行和列存储
3.6.1基于行的存储
3.6.2基于列的存储
3.7联结算法
3.7.1嵌套循环联结算法
3.7.2排序合并联结算法
3.7.3散列联结算法
3.7.4Shin算法
第4章查找表
4.1数据元素的名称
4.2多参数查找表
4.3常量表
4.4OTLT或MUCK表问题
4.5正确表的定义
第5章辅助表
5.1序列表
5.1.1创建序列表
5.1.2序列构造器
5.1.3替换迭代循环
5.2排列
5.2.1通过递归进行排列
5.2.2通过CROSSJOIN进行排列
5.3函数
5.4通过表实现加密
5.5随机数
5.6插值
第6章视图
6.1Mullins视图使用原则
6.1.1高效访问和计算
6.1.2重命名列
6.1.3避免增生
6.1.4视图同步原则
6.2可更新视图和只读视图
6.3视图的类型
6.3.1单表投影和限制
6.3.2计算列
6.3.3转换列
6.3.4分组视图
6.3.5联合视图
6.3.6视图的联结
6.3.7嵌套视图
6.4用表构建类模型
6.4.1SQL中类的层次结构
6.4.2通过ASSERTION和TRIGER工作的子类
6.5数据库系统如何处理视图
6.5.1视图列的列表
6.5.2视图的物化
6.6嵌入式文本扩展
6.7WITHCHECKOPTION子句
6.8删除视图
6.9过时的视图用法
6.9.1域的支持
6.9.2表表达式视图
6.9.3表级CHECK()约束的视图
6.9.4每个基表一个视图
第7章虚拟表
7.1派生表
7.1.1列的命名规则
7.1.2作用域规则
7.1.3公开的表名
7.1.4LATERAL()子句
7.2CTE
7.2.1非递归CTE
7.2.2递归CTE
7.3临时表
7.3.1ANSI/ISO标准
7.3.2厂商的模型
7.4信息模式
7.4.1INFORMATION_SCHEMA声明
7.4.2视图及其用途的快速列表
7.4.3域的声明
7.4.4定义模式
7.4.5INFORMATION_SCHEMA断言
第8章用表实现的复杂函数
8.1没有简单公式的函数
8.2用表实现校验位
8.2.1校验位的定义
8.2.2检错与纠错的对比
8.3算法的分类
8.3.1加权和算法
8.3.2幂和校验位
8.3.3Luhn算法
8.3.4DihedralFive校验位
8.4声明不是函数,不是过程
8.5用于辅助表的数据挖掘
第9章时态表
9.1时间的本质
9.1.1时间段,不是时间子
9.1.2细分程度
9.2ISO半开放时间模型
9.2.1用NULL表示永远
9.2.2单时间戳表
9.2.3重叠的时间间隔
9.3状态转换表
9.4合并时间间隔
9.4.1游标和触发器
9.4.2OLAP函数解决方案
9.4.3CTE解决方案
9.5Calendar表
9.5.1用表提供星期值
9.5.2节假日列表
9.5.3报告期
9.5.4自更新视图
9.6历史表
第10章用非第一范式表清理数据
10.1重复的组
10.2设计清理表
10.3清理操作使用的约束
10.4日历清理
10.5字符串清理
10.6共享SQL数据
10.6.1数据的发展
10.6.2数据库
10.7提取、转换和加载产品
10.7.1加载数据仓库
10.7.2全部用SQL来完成
10.7.3提取、转换并加载
第11章以SQL的方式思考
11.1热身练习
11.1.1整体,不是部分
11.1.2特征函数
11.1.3尽早锁定解决方案
11.2启发式方法
11.2.1将规范表达为清晰的语句
11.2.2在名词前面添加“所有……的集合”几个字
11.2.3删除问题语句中的行为动词
11.2.4仍然可以使用存根
11.2.5不要担心数据的显示
11.2.6第一次尝试需要专门处理
11.2.7不要害怕抛弃自己在DDL中的首次尝试
11.2.8克制使用DML的冲动
11.2.9不要以方框和箭头的方式思考
11.2.10画圆和数据集示意图
11.2.11学习具体的产品
11.2.12把WHERE子句看做“超级变形虫”
11.2.13使用新闻组、博客和因特网
11.3不要在SQL中使用BIT或BOOLEAN标记
11.3.1标记位于错误的层
11.3.2标记使用不当使正确属性难以理解
第12章组特征
12.1并不是按是否相等来分组
12.2使用组,不看里面是什么
12.2.1半面向数据集的方式
12.2.2分组的解决方案
12.2.3解决方案总结
12.3根据时间分组
12.3.1渐进式解决方案
12.3.2整体数据解决方案
12.4其他使用HAVING子句的技术
12.5GROUPING、ROLLUP和CUBE
12.5.1GROUPINGSET子句
12.5.2ROLLUP子句
12.5.3CUBE子句
12.5.4关于超级组的脚注
12.6WINDOW子句
12.6.1PARTITIONBY子句
12.6.2ORDERBY子句
12.6.3RANGE子句
12.6.4编程技巧
第13章将技术规范变为代码
13.1不良SQL的标志
13.1.1代码的格式是否像另一种语言
13.1.2顺序访问假设
13.1.3游标
13.1.4糟糕的内聚度
13.1.5表值函数
13.1.6同一数据元素有多个名称
13.1.7数据库中的格式
13.1.8将日期保存到字符串中
13.1.9BIT标记、BOOLEAN及其他计算列
13.1.10跨列的属性分割
13.1.11跨行的属性分割
13.1.12跨表的属性分割
13.2解决方法
13.2.1基于游标的解决方案
13.2.2半面向数据集的解决方案
13.2.3完全面向数据集的解决方案
13.2.4面向数据集代码的优点
13.3解释含糊的说明
13.3.1回归到DDL
13.3.2修改问题说明
第14章使用过程及函数调用
14.1清除字符串中的空格
14.1.1过程式解决方案#1
14.1.2函数解决方案#1
14.1.3函数解决方案#2
14.2聚合函数PRD()
14.3在过程和函数中使用长参数列表
第15章对行编号
15.1过程式解决方案
15.2OLAP函数
15.2.1简单的行编号
15.2.2RANK()和DENSE_RANK()
15.3节
第16章保存计算数据
16.1过程式解决方案
16.2关系式解决方案
16.3其他种类的计算数据
第17章约束类触发器
17.1计算类触发器
17.2通过CHECK()和CASE约束实现的复杂约束
17.3通过视图实现复杂约束
17.4用约束实现视图操作
17.4.1个基本操作
17.4.2WITHCHECKOPTION子句
17.4.3WITHCHECKOPTION与CHECK()子句
17.4.4视图的行为
17.4.5联合视图
17.4.6简单的INSTEADOF触发器
17.4.7关于INSTEADOF触发器的告诫
第18章过程式解决方案和数据驱动的解决方案
18.1删除字符串中的字母
18.1.1过程式解决方案
18.1.2纯粹的SQL解决方案
18.1.3不纯粹的SQL解决方案
18.2数独的两种求解方法
18.2.1过程式解决方案
18.2.2数据驱动的解决方法
18.2.3处理已知数字
18.3数据约束方法
18.4装箱问题
18.4.1过程式解决方法
18.4.2SQL方式
18.5库存成本随时间的变化
18.5.1库存中使用的UPDATE语句
18.5.2回到装箱问题
本书通过大量的实例,详细说明了为提高SQL编程技术而必须面对的思想方法上的根本转变由以过程式编程方式思考转变为以数据集的方式来思考。此外,本书还讨论了关于SQL编程中查找表、视图、辅助表、虚拟表的应用,并独到地阐明了如何在SQL系统中正确地处理时间值以及SQL编程中的其他技术难点。 本书适合广大数据库编程人员和SQL程序员学习参考。 SQL是数据库的标准数据查询语言,在广大程序员的日常工作中已必不可少。但是,大部分的SQL程序员都是由过程式编程人员和面向对象编程人员转变而来的,他们已经习惯了原有的思维方式,若要充分利用SQL,必须学会以数据集的方式思考。 本书中,世界级SQL专家JoeCelko通过展示实用技术及思想方法,教会大家如何完成这个转变。书中通过大量实例详细介绍了各种SQL编程技术,内容涉及查找表、辅助表、虚拟表、时态表、视图、SQL的思考方式等多个方面,值得所有SQL程序员仔细研读和思考。
书籍详细信息 | |||
书名 | SQL沉思录站内查询相似图书 | ||
丛书名 | 图灵程序设计丛书 | ||
9787115213952 如需购买下载《SQL沉思录》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN | |||
出版地 | 北京 | 出版单位 | 人民邮电出版社 |
版次 | 1版 | 印次 | 1 |
定价(元) | 49.0 | 语种 | 简体中文 |
尺寸 | 26 × 0 | 装帧 | 平装 |
页数 | 140 | 印数 | 3000 |
SQL沉思录是人民邮电出版社于2009.10出版的中图分类号为 TP311.138 的主题关于 关系数据库-数据库管理系统 的书籍。
(美) 古明 (Cumming,A.) , (美) 鲁赛尔 (Russell,G.) , 著
李俊民, 编著
(美) 克里格尔 (Kriegel,A.) , (美) 特鲁诺 (Trukhnov,B.M.) , 著
(美) 塞科 (Celko,J.) , 著
(美) 法拉特 (Faroult,S.) 等, 著
(美) 斯蒂芬斯 (Stephens,R.) , (美) 普卢 (Plew,R.) , (美) 琼斯 (Jones,A.D.) , 著
(美) 威尔顿 (Wilton,P.) , (美) 科尔比 (Colby,J.) , 著
(美) 斯蒂芬 (Stephens,R.) , (美) 布鲁 (Plew,R.) , (美) 琼斯 (Jones,A.D.) , 著
(美) 斯蒂芬森 (Stephens,R.) , (美) 普劳 (Plew,R.) , (美) 琼斯 (Jones,A.D.) , 著