读书人

SQL宝典

发布时间: 2010-03-11 05:07:13 作者:

 SQL宝典


基本信息出版社:人民邮电出版社
页码:459 页
出版日期:2009年05月
ISBN:7115205191/9787115205193
条形码:9787115205193
版本:第1版
装帧:平装
开本:16
正文语种:中文

内容简介 《SQL宝典》全面介绍了结构化查询语言(Structured Query Language,SQL),从供应商特定实现和SQL标准两方面,理论和实际相结合地阐述了SQL的功能。全书分为6部分,首先介绍SQL的基本概念和原理;接着深入探讨数据库对象——表、视图、索引和序列等;然后说明数据处理和事物控制(包括插入、删除和更新记录等),以及数据检索和传送(涉及SELECT语言和SQL函数等);最后介绍数据库安全和数据库访问等其他内容。《SQL宝典》始终围绕SQL标准和三大主要RDBMS(Oracle、IBM DB2和Microsoft SQL Server 2008)之间不同的实现而展开,详细介绍这三大供应商与标准之间的区别以及它们的特定实现。除了SQL的基本功能和用途外,《SQL宝典》还说明了SQL在商业活动中所扮演的角色,以及SQL未来的发展走向。
《SQL宝典》结构严谨、组织清晰、示例丰富、指导性强,适合所有层次的读者,可作为大专院校相关专业的教材,也是自学和初学者的必备参考书。
作者简介 Alex KrieqeI,是在俄勒冈州工作的一位系统架构师。他是《Microsoft SQL Server 2000 Weekend Crash Course》(WileY,2001)和《SQL Functions》(wrox,2005)的作者,并与他人合著了《Introduction to Database Management》(WileY,2007)和《SQL Bible》(Wiley,2003)。Boris M.Trukhnov在俄勒冈州波特兰的POPe&Talbot,Inc担任高级技术分析师/O racle DBA。他是《SQL BjbIe》(wileY,2003)和《lntroduction to Database Management》(WileY,2007)的合著者。
编辑推荐 《SQL宝典》介绍有关结构化查询语言的内容。众所周知,SQL是关系数据库的标准语言和数据库世界的混合语。它已历经20多年而光彩依旧。它经过多次修订,因数据库供应商频繁引入专有发明(大概每两到三年就一次),这些成果要么被纳入标准,要么随着数据库社区的发展而被废弃。最新的SQI.标准在2003年发布,将在2008年再次更新。
目录
第1部分 SQL基本概念和原理
第1章 SQL和关系数据库管理系统
1.1 理想的数据库特征
1.1.1 充足的容量
1.1.2 足够的安全和审核
1.1.3 多用户环境
1.1.4 效率和查找能力
1.1.5 可伸缩性
1.1.6 用户友好
1.2 选择数据库软件
1.2.1 市场占有率
1.2.2 总拥有成本
1.2.3 支持和持久性
1.3 主要DBMS实现
1.4 现实中的数据库例子
1.4.1 订购管理系统数据库
1.4.2 健康护理提供者数据库
1.4.3 视频共享和编辑数据库
1.4.4 科学数据库
1.4.5 非营利组织数据库
1.5 早期数据库
1.5.1 平面文件数据库
1.5.2 层次数据库
1.5.3 网状数据库
1.6 关系数据库
1.6.1 表
1.6.2 关系
1.6.3 主键
1.6.4 外键
1.6.5 RDBMS的发展
1.7 其他DBMS模型
1.8 SQL和SQL标准简史
1.8.1 卑微的开始:RDBMS和SQL的演变
1.8.2 SOL标准简史
1.9 小结

第2章 SQL基本概念和原理
2.1 约定和要求
2.2 SQL初探
2.2.1 数据库示例
2.2.2 获取和导出数据
2.2.3 从不同角度看数据
2.2.4 聚合
2.2.5 数据安全
2.2.6从客户端应用程序访问数据
2.2.7新的发展
2.3 平台和时间无关性
2.4 小结

第3章 SQL数据类型
3.1 不附加字符串
3.1.1 字符串
3.1.2 二进制字符串
3.2 数字
3.2.1 精确数字
3.2.2 近似数字
3.3 日期和时间数据类型
3.3.1 复杂数据类型介绍
3.3.2 日期和时间实现
3.4 XML数据类型
3.5 结构数据类型和用户定义数据类型
3.5.1 SQL:2003
3.5.2 Oracle 11g
3.5.3 DB2 9.5
3.5.4 Microsoft SQL Server 2008
3.6 其他数据类型
3.6.1 BOOLEAN
3.6.2 ROWlD
3.6.3 UROWID
3.6.4 BFILE
3.6.5 DATA.LINK
3.6.6 BIT
3.6.7 TIMES TAMP
3.6.8 SQL-VARIANT
3.7 NULL
3.8 小结

第2部分 创建和修改数据库对象
第4章 创建RDBMS对象
4.1 表
4.2 索引
4.3 视图
4.3.1 CREATE VIEW语句
4.3.2 创建复杂视图
4.4 别名和同义词
4.4.1 SQL:2003
4.4.2 Oracle 11g的CREATE SYNONYM语句
4.4.3 DB2 9.5的CREATE ALIAS语句
4.4.4 Microsoft SQL Server 2008的CREATE SYNONYM语句
4.5 架构
4.6 序列
4.6.1 SQL:2003中的外部序列生成器.
4.6.2 Oracle 11g中的序列
4.6.3 DB2 9.5
4.7 其他SQL:2003以及特定于实现的对象
4.7.1 域(SQL:2003)
4.7。2 字符集(SQL:2003)
4.7.3 排序规(SQL:2003)
4.7.4 表空间和文件组
4.7.5 物化视图(Oracle 11g)
4.7.6 数据库链接(Oracle 11g)
4.7.7 目录(Oracle 11g)
4.8 CREATE语句交叉参考
4.9 小结

第5章 修改和删除RDBMS对象
5。1 表
5.1.1 ALTER IABLE语句
5.1.2 DROPT TABLE语句
5.2 索引
5.2.1 ALTER INDEX语句
5.2.2 DROP INDEX语句
5.3 视图
5.3.1 ALTER VIEW语句
5.3.2 DROP VIEW语句
5.4 别名和同义词
5.5 架构
5.5.1 SQL:2003
5.5.2 DB2 9.5
5.5.3 Microsoft SQL Server 2008
5.6 序列
5.6.1 ALTER SEQUENCE语句
5.6.2 DROP SEQUENCE语句
5.7 其他特定于实现的对象
5.7.1 域(SQL:2003)
5。7.2 字符集(SQL:2003)
5.7.3 排序规则(SQL:2003)
5.7.4 表空间
5.7.5 物化视图(Oracle 11g)
5.7.6 数据库链接(Oracle 11g)
5.7.7 目录(Oracle 11g)
5.8 ALTER和DROP语句交叉参考
5 9 小结

第3部分 数据操作和事务控制
第6章 数据操作语言
6.1 INSERT:用数据来填充表
6.1.1 一般的mSERT语句子句
6.1.2 供应商相关的特定INSERT语句
6.2 UPDATE:修改表数据
6.2.1 一般的UPDATE语句子句
6.2.2 供应商特定的UPDATE语句细节
6.3 DELETE:从表中删除数据
6.3.1 一般的DELETE语句子句
6.3.2 供应商特—ELETE语句子句
6.4 MERGE:将INSER7、UPDATE以及DELETE结合到一个语句中
6.4.1 一般的MERGE语句子句
6.4.2 供应商特定的MERGE语句子句
6.5 TRUNCATE语句
6.6 小结

第7章 会话、事务和锁
7.1 会话
7.2 事务
7.2.1 什么是事务
7.2.2 事务的COMMIT和ROLLBACK
7.2.3 事务隔离级别
7.3 理解锁
7.3.1 锁定模式
7.3.2 处理死锁
7.4 小结

第4部分 检索和传送数据
第8章 理解SELEC丁语句
8.1 单表SELECT语句语法
8.2 SELECT子句:选取什么?
8.2.1 单列选取
8.2.2 多列SELECT
8.2.3 使用常量、函数和计算列
8.2.4 在SELECT子句中使用子查询
8.3 FROM子句:从哪里选取?
8.3.1 从表和视图中选取
8.3.2 在FROM子句中使用别名
8.3.3 在FROM子句中使用子查询(内联视图)
8.4 WHERE子句:设置水平限制
8.4.1 使用比较运算符
8.4.2 复合运算符:使用AND和OR
8.4..3 使用BETWEEN运算符
8.4.4 使用IN运算符:集成员身份测试
8.4.5 NOT运算符
8.4.6 使用IS NULL运算符:NULL值的专用测试
8.4.7 在WHERE子句中使用子查询
8.5 GROUP BY和HAVING子句:汇总结果
8.6 ORDER BY子句:对查询结果排序
8.7 联合多个查询的结果
8.7.1 LJNION
8.7.2 INTERSECT
8.7.3 EXCEPT(MINI.JS)
8.8 SQL 分析函数和TOPN查询
8.8.1 分析函数和SOL:2003标准
8.8.2 top N查询设计
8.8.3 Limit N查询
8.9 小结

第9章 多表查询
9.1 内部联接
9.1.1 内部联接的两个语法
9.1.2 同等联接
9.1.3 非同等联接
9.1.4 自联接
9.1.5 交叉联接(笛卡尔积)
9.1.6 对两个以上的表进行联接
9.2 外部联接:根据包含NULL值的列联接表
9.2.1 外部联接的两个语法
9.2.2 左外部联接
9.2.3 右外部联接
9.2.4 完全外部联接
9.2.5 合并联接
9.3 包含内联视图的联接
9.4 包含相关查询的多表联接
9.5 提高多表查询效率
9.6 小结

第10章 SQL函数
10.1 数字函数
10.1.1 CElL
10.1.2 RO[YND
10.1.3 TRLINC
10.1.4 RAND
10.1.5 SIGN
10.2 字符串函数
10.2.1 CONCAT
10.2.2 CHARlNDEX、INSTR、LOCATE和:POSSTR
10.2.3 SUBSTR和SLIBSTRING.
10.2.4 LENGTH
10.2.5 LOWER和15PPER
10.2.6 TO CHAR、CHAR和STR
10.2.7 REPLACE
1 0.2.8 REPLICA了.E和REPEAI
10.2.9 TRANSI.ATE
10.2.10 TRIM、I丁:RIM和RTTIM
10.3 日期和时间函数
10.3.1 GETDAT.E、SYSDATE和CURRENT DATE
10.3.2 ADD-MONIHS、DAIFEADD和日期算法
10.3.3 EXTRACT和DATEPART
10.3.4 DAYNAME、MONnINAME和DA7ENAME
10.3.5 MONTHS—BETWEEN和DATEDIFF
10.4 聚合函数
10.4.1 SLIM
10.4..2 COUNT
10.4.3 AVG
10.4.4 MIN和MAX
10.5 转换函数
10.5.1 不同数据类型之间的转换
10.5.2 在不同字符集之间转
10.5.3 Oracle 11g的CONVERT、TRANSLATE USING和UNISTR
10.5.4 特定于数据类型的转换函数
10.6 系统函数
10.7 杂项函数
1 0.7.1 DECODE和CASE
10.7.2 COALFSCE和NULLIF
10.7.3 NVL、NVL2和ISNULL
10.8 用户定义函数
10.9 小结

第11章 SQL运算符
11.1 算术运算符和字符串串联运算符
11.2逻辑运算符
11.2.1 ALL
11.2.2 ANYISOME
11.2.3 BETWEENAND
11.2.4 IN
11.2.5 EXISTS
11.2.6 LIKE
11.2.7 AND
11.2.8 NOT
11.2.9 OR
11.3 运算符优先级
11.4 赋值运算符
11.5 比较运算符
11.6 位运算符
11.7 小结

第5部分 使用系统目录实现安全
第12章 SQL和RDBMS的安全
12.1 基本安全机制
12.1.1 标识和身份验证
12.1.2 授权和访问控制
12.1.3 加密
12.1.4 完整性和一致性
12.1.5 审核
12.2 定义数据库用户
12.3 使用特权来管理安全
12.3.1 GRANT’语句
12.3.2 REVOKE特权
12.4 使用角色管理安全
12.5 使用视图实现安全
12.6 利用约束实现安全
12.7 利用存储过程和触发器实现安全
12.8 数据加密
12.9 数据库审核
12.10 安全标准
12.10.1 国际安全标准
12.10.2 规章制度的遵从性
12.11 小结

第13章 系统目录和0NFORMATOON SCHEMA
13.1 SQL系统目录
13.2 Oracle 11g数据字典
13.2.1 Orac!e数据字典结构
13.2,2 Oracle数据字典和SOL:2007标准
13.2.3 更深一层:有关元数据的数据
13.3 IBM DB2 9.5系统目录
13.3.1 DB2中的INFORMAl’IONSCHEMA对象
13.3.2 获得有关INFORMATION SCHEMA对象的信息
13.4 Microsoft SQL Server 2008系统目录
13.4.1 MS SQL Server 2008的INFORMATION-SCHEMA视图
13.4.2 Microson SOL Server系统存储过程
13.4.3 Microson SQL Server 2008系统函数
13.5 小结

第6部分 超越SQL:过程编程和数据库访问机制
第14章 存储过程、触发器和用户定义函数
第15章 SQL和XML
第16章 SQL和过程化程序设计
第17章 SQL的未来
附录A 配套网站
附录B ACME示例数据库
附录C 关系数据库设计基础
附录D 安装RDBMS软件
附录E 访问RDBMS
附录F 安装ACME数据库
附录G SQL函数
附录H SQL语法参考
附录I SQL保留关键字
附录J 其他RDBMS
附录K 数值系统、布尔代数和集合论简介
……
序言 本书介绍有关结构化查询语言的内容。众所周知,SQL是关系数据库的标准语言和数据库世界的混合语。它已历经20多年而光彩依旧。它经过多次修订,因数据库供应商频繁引入专有发明(大概每两到三年就一次),这些成果要么被纳入标准,要么随着数据库社区的发展而被废弃。最新的SQI.标准在2003年发布,将在2008年再次更新。
不管取得怎样令人瞩目的进展,在特定实现和,ANSI/ISO的SQL标准之间仍然存在显著的差异。这就使得很难找到一本“涵盖所有内容”的SQL书籍。一位作者可能对某个特定供应商有偏好,这样读者会得到一本很好的Oracle或:Microsoft sQL Server书籍,但它未必是一本sQL方面的好书;一本单独说明全部SQL ANSI/ISO标准的书籍可能会满足RDBMS开发人员的需要,但它可能对商业从业人员用处不大。我们相信这两种方式的结合是联系理论与实践的绝好方法。
通过分析现代数据库供应商市场后发现,Oracle、IBMDB2和Microsoft SQL Server已经并且可能继续拥有最大的市场份额。这并不意味着其他供应商就无关紧要了。“较小的供应商”提供的某些功能可以满足甚至超过“三大”(我们将如此称呼它们)供应商提供的功能;它们拥有自己的忠诚客户,并且这种市场态势今后还将继续。不能忽视开放源代码社区正在对数据库市场产生的巨大冲击,其中诸如MySQL(来自MySQL AB)和PostgreSOL(来自PostgreSQL全球开发组)这样的RDBMS正在分享一定的市场份额。但是本书不可能讨论每一种和每一个专用SQL扩展插件,所以把讨论的重点集中在“三大”数据库供应商上,并通过强调Oracle、DB2和Microsoft SQLServer之间的不同以及它们与当前SQL标准的差别来说明SOL功能。
文摘 插图:


第1章 SQL和关系数据库管理系统
信息可能是现代社会中最有价值的商品。它可以以多种不同的形式呈现出来,例如会计账目和薪金信息、有关客户和订购者的信息、科学和统计数据、图形或多媒体。事实上,我们是完全被数据淹没的,而且(至少我们愿意这样认为)这些数据不能够丢失。现在,我们拥有的数据实在是太多了,无法把它们都保存到文件柜或硬纸箱中。对每一个企业而言,安全地存储需要长期保存的海量数据,允许多用户以不同的角度对海量数据进行有效的查询,并在需要的时候能很方便地对数据进行更新,这些都是极为关键和重要的问题。这些工作需要交由现有的数据库去处理,它能够完成上述所有的任务以及其他更多的事情。简单地说,数据库就是一个有组织的信息集合(重点是“有组织的”)。
一个更明确的定义是数据库管理系统—BMS),它常被用做“数据库”的同义词。这个术语的含义更为宽泛,除了指存储信息外,还包含了一些使用数据的方法和维护数据的工具。
注意:DBMS可以被定义为一个相关数据的集合及一套用于访问、修改和维护数据的程序。有关DBMS的更多信息将在本章的后面介绍。
1.1 理想的数据库特征
关于数据库是什么和它应该做什么,存在着许多不同的意见。但不管怎么说,所有现代数据库都应该至少具有下列特征。
读书人网 >数据库

热点推荐