编辑推荐
基于实例,提供高质量的常见问题解决方案。
强调实际,没有大量的理论,把解决问题放在首位,节省读者阅读时间。 ;
内容简介
《Oracle SQL疑难解析》总结了针对Oracle数据库编写SQL时经常碰到的各种问题,提供大量现成的解决方法,包括汇总和聚合数据、多表数据查询、生成和获取数据、通用查询模式、日期和时间值的处理、字符串、处理数字、事务处理、数据字典、清理数据、常见报表问题、树状结构数据、处理XML数据、分区、大对象、数据库管理、对象管理、SQL监控和优化、数据库故障排除等方面的内容。
《Oracle SQL疑难解析》能够帮助你充分利用SQL来解决Oracle数据库开发中遇到的各种问题,引导你掌握各种构建应用的技巧和技术,从而编写出高效、可维护的代码。
《Oracle SQL疑难解析》面向实战、结构清晰,示例丰富,适用于Oracle 数据库开发人员、Oracle 数据库管理员等相关数据库从业人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材。
作者简介
Grant Allen 在IT领域工作了20年,在加入Google前是澳大利亚一家领先软件供应商的首席技术总监。他一直活跃在企业、世界各地的政府和学术界,担任大型系统设计,开发,性能,技术创新和破坏性变革的顾问。Grant是积极的会议发言者,他参加的会议包括数据挖掘、技术合作、关系型数据库和企业的技术会议和行业活动。他现在是Google的团队领袖,利用数据库技术以应对Google大规模数据增长的问题。
Bob Bryla是Oracle 9i、10g和11g认证专家,在数据库设计、数据库应用程序的开发、数据库管理和培训方面有20多年的经验。Bob是Lands’ End公司的Internet数据库分析师和Oracle DBA,这家公司位于Dodgeville, Wisconsin。他还是其它一些Oracle DBA著作的作者,这些书既是写给新手也是写给经验丰富的专业人士。
Darl Kuhn是一个Oracle DBA和开发者。他与人合著其他三本书籍:Linux Recipes for Oracle DBAs, RMAN Recipes for Oracle Database 11g 和 Oracle RMAN Pocket Reference。他在Regis大学教授高级数据库课程,还是Rocky Mountain Oracle Users Group的DBA志愿者。他具有Colorado州立大学的研究生学历,目前居住在Mauricio Canyon, Colorado附近,与他的妻子Heidi以及女儿Brandi和Lisa一起。
目录
第一部分 数据处理基础
第1章 章基础
1.1 从表中查询数据
1.2 把表中所有字段都列出来
1.3 将结果排序
1.4 在表中添加记录行
1.5 把数据记录从一张表复制到另一张表
1.6 批量地从一个表中复制数据到另一个表
1.7 改变行记录的值
1.8 在一个语句中修改多个字段值
1.9 从表中删除不需要的行
1.10 删除表中的所有行
1.11 从其他查询结果中再次进行查询
1.12 查询的WHERE子句基于另一个查询的结果
1.13 在语句中找到和消除空值
1.14 排序
1.15 启用其他排序和比较选项
1.16 基于条件的插入或修改
第2章 汇总和聚合数据
2.1 对某字段值进行汇总
2.2 分组进行数据汇总
2.3 以多字段分组
2.4 在聚合数据集时排除某些组
2.5 分多级聚合数据
2.6 把聚合结果用在其他查询中
2.7 在分组和集合里统计成员
2.8 在表中查找重复值和唯一值
2.9 合计与小计
2.10 构建自己的聚合函数
2.11 从之前或之后的行中存取数据
2.12 对查询结果行进行排名
2.13 在分组内查找最大和最小值
2.14 在移动窗口中进行聚合
2.15 基于字段子集的数据记录去重
2.16 找出表中的序列空挡
第3章 多表数据查询
3.1 对多表的对应行进行连接
3.2 垂直堆叠查询结果
3.3 选择性连接
3.4 从两个方向进行可选连接
3.5 基于其他表中的数据删除记录
3.6 跨表寻找匹配的数据
3.7 在聚合上进行连接
3.8 查找不匹配的行
3.9 查找表中不匹配的行
3.10 生成测试数据
3.11 基于其他表中的数据更新记录
3.12 在连接条件里处理和比较NULL值
第4章 生成和获取数据
4.1 派生新的列
4.2 返回不存在的行
4.3 把行变换为列
4.4 在多列上透视
4.5 将列转换成行
4.6 出于易读性连接数据
4.7 把字符串转换成对应的数值
4.8 生成随机数
4.9 创建一个逗号分隔值文件
第5章 通用查询模式
5.1 把NULL转换成其他值
5.2 对NULL值排序
5.3 为查询结果标记页码
5.4 检测数据是否存在
5.5 SQL语句中的条件分支
5.6 根据条件和函数排序
5.7 当子查询返回多个值时的处理
5.8 将数字进行不同进制间的转换
5.9 在不知道列名或表名的情况下查找字符串
5.10 对数据系列进行后续值或趋势预测
5.11 修改记录时进行显式锁(悲观锁)
5.12 对两张表的内容进行同步
第二部分 数据类型和问题
第6章 日期和时间值的处理
6.1 将日期时间值转换成可读的字符串
6.2 将字符串转换为日期时间值
6.3 检测重叠的日期范围
6.4 自动跟踪数据更改的日期和时间
6.5 利用GAPS在数据中生成一个无间隔的时间序列
6.6 不同时区之间日期和时间的转换
6.7 检测闰年
6.8 确定一个月的最后一天的日期
6.9 确定一个月的第一天的日期或第一个星期几
6.10 判断星期几
6.11 通过时间段进行分组和聚合
6.12 查找两个日期或部分日期之间的差值
6.13 确定任何一年的复活节日期
6.14 为网站用户计算“X天活动”
第7章 字符串
7.1 搜索子字符串
7.2 提取子字符串
7.3 单字符的字符串替换
7.4 搜索模式
7.5 提取一个模式
7.6 计数模式
7.7 替换字符串中的文本
7.8 加快字符串搜索
第8章 处理数字
8.1 字符串和数字类型之间的转换
8.2 数字类型之间的转换
8.3 选择数据类型精度和刻度
8.4 正确执行非数字和无限数字计算
8.5 在字符串中验证数字
8.6 生成连续的编号
8.7 为公式或模式生成数字
8.8 处理数值计算中的 NULL
8.9 自动四舍五入数字
8.10 自动生成数字列表
第三部分 开发环境
第9章 事务管理
9.1 回滚部分事务
9.2 如何识别阻塞的事务
9.3 优化行级锁与表级锁
9.4 如何避免死锁
9.5 如何延期约束验证
9.6 确保事务的一致性读
9.7 管理事务的隔离级别
第10章 数据字典
10.1 图形工具与SQL
10.2 数据字典体系结构
10.3 显示用户信息
10.4 确定有权访问的表
10.5 显示一张表的磁盘空间使用情况
10.6 显示表的记录数
10.7 显示表的索引
10.8 显示未建索引的外键
10.9 显示约束
10.10 展示主键与外键的关系
10.11 显示对象间的依赖关系
10.12 显示同义词的元数据
10.13 显示视图的文本
10.14 显示数据库代码
10.15 显示授予的角色
10.16 显示对象权限
10.17 显示系统权限
第四部分 特殊话题
第11章 常见报表问题
11.1 避免报表中的重复数据
11.2 在SQL报表里使用参数
11.3 在分组的结果中返回具体列的数据
11.4 将排序结果放入相等大小的BUCKET中
11.5 创建报表直方图
11.6 根据不同的排名进行结果筛选
11.7 对假设数据集进行比较
11.8 用图形和文字来展示数据的分布
11.9 从数据库中直接生成网页报表
第12章 清理数据
12.1 检测重复数据行
12.2 删除重复行
12.3 判断数据是否可以加载到数值类型字段中
12.4 判断数据是否可以加载到日期类型字段中
12.5 执行不区分大小写的查询
12.6 对值进行模糊处理
12.7 删除所有索引
12.8 禁用约束
12.9 禁用触发器
12.10 从表中删除数据
12.11 查找两个SCHEMA的不同之处
第13章 树状结构数据
13.1 从上到下遍历层级数据
13.2 在层次结构同层级中对节点排序
13.3 从层次结构表中生成路径名
13.4 在层次结构表中辨认叶子数据
13.5 检查层次结构数据中的循环
13.6 创建固定数量的连续序号的主键值
第14章 处理XML数据
14.1 将SQL转换成XML
14.2 以原生形式存储XML
14.3 分解XML供关系型逻辑使用
14.4 从XML文档中抽取关键元素
14.5 生成复杂的XML文档
14.6 验证XML SCHEMA
14.7 直接修改XML数据
第15章 分区
15.1 确定一个表是否应该分区
15.2 范围分区
15.3 列表分区
15.4 哈希分区
15.5 复合分区
15.6 按需创建分区
15.7 引用分区
15.8 基于虚拟列的分区
15.9 系统分区
15.10 配置分区的表空间
15.11 自动移动更新的记录
15.12 系统分区
15.13 对分区增加分区
15.14 交换分区
15.15 重命名分区
15.16 拆分分区
15.17 合并分区
15.18 删除分区
15.19 从一个分区中删除记录
15.20 收集分区统计信息
15.21 创建本地索引
15.22 创建全局索引
第16章 大对象
16.1 将大文档加载至CLOB字段
16.2 将图像数据加载至BLOB字段
16.3 使用SQL*Loader进行大对象的批量加载
16.4 利用HTTP访问大对象
16.5 使得外部大对象(BFILE)对数据库有效
16.6 在数据库表中更新或删除LOB
第五部分 管理
第17章 数据库管理
17.1 创建数据库
17.2 删除数据库
17.3 验证连接信息
17.4 创建表空间
17.5 删除表空间
17.6 调整表空间大小
17.7 限制每个会话的数据库资源
17.8 关联一组权限
17.9 创建用户
17.10 删除用户
17.11 修改密码
17.12 强制密码复杂性
第18章 对象管理
18.1 创建表
18.2 临时存储数据
18.3 移动表
18.4 重命名对象
18.5 删除表
18.6 恢复被删除的表
18.7 创建索引
18.8 创建一个基于函数的索引
18.9 创建位图索引
18.10 创建一个索引组织表
18.11 创建视图
18.12 为对象创建替代名称
18.13 强制表中的行的唯一性
18.14 确保查找值存在
18.15 根据条件检查数据
18.16 在数据库之间创建连接
18.17 创建自动递增的值
第19章 SQL监控和优化
19.1 实时监控SQL执行统计信息
19.2 显示查询的执行计划进展
19.3 确定还需要多长时间来完成SQL
19.4 识别资源密集型SQL语句
19.5 使用Oracle性能报告来确定资源消耗密集型SQL
19.6 在操作系统中识别资源密集型查询
19.7 使用AUTOTRACE显示执行计划
19.8 使用DBMS_XPLAN生成执行计划
19.9 跟踪会话的所有SQL语句
19.10 解释执行计划
19.11 获取调优SQL的建议
19.12 强制查询使用自己的执行计划
19.13 查看优化器统计信息
19.14 生成统计信息
第20章 数据库故障排除
20.1 确定数据库问题的原因
20.2 显示打开的游标
20.3 确定联机重做日志的大小是否合适
20.4 确定撤销表空间的大小是否合适
20.5 确定临时表空间的大小是否合适
20.6 完整显示表空间
20.7 显示对象大小
20.8 监控索引的使用
20.9 审计对象的使用
20.10 精细审计
媒体评论
Oracle SQL疑难解析 pdf下载声明
本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版