SQL Server 2012编程入门经典

出版社:清华大学出版社
出版日期:2013-4
ISBN:9787302316510
作者:Paul Atkinson,Robert Vieira
页数:692页

内容概要

Paul Atkinson自从20世纪90年代早期在Microsoft公司工作以来,就在研究数据库技术,他在Microsoft公司先把Microsoft Access作为一种辅助项目来学习,后来将它看做一种有代表性的支持技术。在此期间他还获得了波特兰州立大学的计算机科学学位,作为一名DBA在.com上冲浪,在网络泡沫破灭后则成为医疗行业的一位承包商。目前,Paul在休伦医疗集团任BI建筑师和团队带头人,负责开发传统和实时的BI解决方案。他开设的高性能T-SQL编程课程是休伦湖最受欢迎的课程设置。Paul与妻子Kristin、女儿Maureen住在俄勒冈州的波特兰市。Paul不工作或写书时,就在几个足球队踢球,或者骑山地车、滑雪、当厨师,骑自行车上下班,他还是学校委员会的主席、Timbers军队的资深成员和半个巧克力制作大师。就像Robert Heinlein写的那样,他的特长都与昆虫相关。
Robert Vieira是休伦咨询集团的软件架构师,是Microsoft SQL Server方面顶级权威的一位专家。他在国内会议上发言,其教学和写作中的独特教学方法非常有名。

书籍目录

第1章 RDBMS基础:SQL Server数据
库的构成
1
1.1 数据库对象概述
2
1.1.1 数据库对象
2
1.1.2 事务日志
6
1.1.3 最基本的数据库对象:表
7
1.1.4 文件组
8
1.1.5 数据库关系图
8
1.1.6 视图
9
1.1.7 存储过程
9
1.1.8 用户自定义函数
10
1.1.9 序列
10
1.1.10 用户和角色
10
1.1.11 规则
10
1.1.12 默认值
11
1.1.13 用户自定义数据类型
11
1.1.14 全文目录
11
1.2 SQL Server数据类型
11
1.3 SQL Server对象标识符
15
1.3.1 需要命名的对象
16
1.3.2 命名规则
16
1.4 本章小结
17
第2章 SQL Server管理工具
19
2.1 使用联机丛书获得帮助
20
2.2 SQL Server配置管理器
21
2.2.1 服务管理
21
2.2.2 网络配置
21
2.2.3 协议
23
2.2.4 客户端
24
2.3 SQL Server Management Studio
26
2.3.1 启动Management Studio
27
2.3.2 通过“查询”窗口交互
30
2.4 SQL Server Data Tools(以前称为BIDS)
36
2.5 SQL Server集成服务(SSIS)
37
2.6 SQL Server Reporting Services(SSRS)
37
2.7 SQL Server Analysis Services(SSAS)
38
2.8 Bulk Copy Program(bcp)
38
2.9 SQL Server Profiler
38
2.10 sqlcmd
39
2.11 PowerShell
39
2.12 本章小结
39
第3章 T-SQL基本语句
41
3.1 基本SELECT语句
42
3.1.1 SELECT语句与FROM子句
42
3.1.2 WHERE子句
46
3.1.3 ORDER BY子句
48
3.1.4 使用GROUPBY子句聚合数据
51
3.1.5 使用HAVING子句给分组设置条件
59
3.1.6 使用FOR XML子句输出XML
61
3.1.7 通过OPTION子句利用提示
61
3.1.8 DISTINCT和ALL谓词
61
3.2 使用INSERT语句添加数据
64
3.2.1 多行插入
69
3.2.2 INSERT INTO…SELECT语句
69
3.3 用UPDATE语句更改获得的数据
71
3.4 DELETE语句
73
3.5 本章小结
75
第4章 连接
77
4.1 连接
78
4.2 内部连接
79
4.3 使用外部连接检索更多数据
86
4.3.1 简单的外部连接
86
4.3.2 处理更复杂的外部连接
92
4.4 完全连接
97
4.5 交叉连接
98
4.6 JOIN语句的早期语法结构
100
4.6.1 内部连接的早期语法结构
100
4.6.2 外部连接的早期语法结构
101
4.6.3 交叉连接的早期语法结构
102
4.7 联合
103
4.8 本章小结
106
第5章 创建和修改数据表
109
5.1 SQL Server中的对象名
109
5.1.1 模式名(也称为所有权)
110
5.1.2 数据库名
112
5.1.3 通过服务器命名
113
5.1.4 回顾默认值
113
5.2 CREATE语句
113
5.2.1 CREATE DATABASE
114
5.2.2 构建数据库
118
5.2.3 CREATE TABLE
120
5.3 ALTER语句
131
5.3.1 ALTER DATABASE
131
5.3.2 ALTER TABLE
135
5.4 DROP语句
139
5.5 使用GUI工具
139
5.5.1 使用Management Studio创建数据库
140
5.5.2 回到代码:使用Management Studio创建脚本
144
5.6 本章小结
145
第6章 键和约束
147
6.1 约束的类型
148
6.1.1 域约束
148
6.1.2 实体约束
149
6.1.3 参照完整性约束
149
6.2 约束命名
149
6.3 键约束
150
6.3.1 主键约束
150
6.3.2 外键约束
153
6.3.3 唯一约束
164
6.4 CHECK约束
165
6.5 DEFAULT约束
166
6.5.1 在CREATE TABLE语句中定义DEFAULT约束
167
6.5.2 在已存在的表中添加DEFAULT约束
167
6.6 禁用约束
168
6.6.1 在创建约束时忽略无效的数据
168
6.6.2 临时禁用已存在的约束
171
6.7 规则和默认值
172
6.7.1 规则
173
6.7.2 删除规则
174
6.7.3 默认值
174
6.7.4 删除默认值
175
6.7.5 确定哪些表和数据类型使用给定的规则或默认值
175
6.8 用于实现数据完整性的触发器
176
6.9 如何选择
176
6.10 本章小结
177
第7章 更复杂的查询
179
7.1 子查询的概念
180
7.2 关联子查询
184
7.2.1 关联子查询的工作原理
184
7.2.2 处理NULL数据——ISNULL函数
188
7.3 派生表
189
7.4 使用通用表表达式(CTE)
192
7.4.1 使用WITH关键字
192
7.4.2 使用多个CTE
194
7.4.3 递归CTE
195
7.5 使用EXISTS运算符
195
7.5.1 使用EXISTS筛选数据
195
7.5.2 以其他方式使用EXISTS
197
7.6 混合数据类型:CAST和CONVERT
199
7.7 使用MERGE命令同步数据
202
7.7.1 实际使用MERGE命令
202
7.7.2 BY TARGET和BY SOURCE
205
7.8 使用OUTPUT子句收集受影响的行
206
7.9 研究窗口化函数
208
7.9.1 ROW_NUMBER
208
7.9.2 RANK、DENSE_RANK和NTILE
211
7.10 一次一个数据块:特殊的查询分页
212
7.11 性能方面的考虑
213
7.11.1 测量性能
214
7.11.2 JOIN、子查询和CTE的对比
215
7.12 本章小结
216
第8章 规范化和其他基本设计问题
219
8.1 理解表
219
8.2 保持数据“规范”
220
8.2.1 准备工作
221
8.2.2 第一范式
222
8.2.3 第二范式
225
8.2.4 第三范式
226
8.2.5 其他范式
228
8.3 理解关系
229
8.3.1 一对一关系
229
8.3.2 零或一对一关系
230
8.3.3 一对一或一对多关系
230
8.3.4 一对零、一对一或一对多关系
231
8.3.5 多对多关系
232
8.4 数据库关系图
234
8.4.1 表
236
8.4.2 在数据库关系图中创建关系
242
8.5 反规范化
245
8.6 超出规范化的一些规则
245
8.6.1 保持简单
245
8.6.2 选择数据类型
246
8.6.3 尽量进行存储
246
8.7 创建一个快速示例
247
8.7.1 创建数据库
247
8.7.2 添加数据库关系图和初始表
247
8.7.3 添加关系
251
8.7.4 添加一些约束
253
8.8 本章小结
253
第9章 SQL Server存储和索引结构
255
9.1 SQL Server存储机制
255
9.1.1 数据库
255
9.1.2 区段
256
9.1.3 页
256
9.1.4 行
257
9.1.5 稀疏列
257
9.2 理解索引
258
9.2.1 平衡树(B-树)
259
9.2.2 SQL Server中的数据访问方式
261
9.3 创建、修改和删除索引
269
9.3.1 CREATE INDEX语句
269
9.3.2 创建XML索引
274
9.3.3 随约束创建的隐含索引
275
9.3.4 在稀疏列和地理空间列上创建索引
275
9.4 明智地选择——在何时何地使用何种索引
276
9.4.1 选择性
276
9.4.2 注意成本:少即是多
279
9.4.3 选择群集索引
279
9.4.4 列顺序问题
281
9.4.5 覆盖索引
282
9.4.6 过滤索引
282
9.4.7 修改索引
283
9.4.8 删除索引
286
9.4.9 从查询计划中获取提示
286
9.4.10 索引未被使用的原因
286
9.4.11 使用数据库引擎调整向导
287
9.5 维护索引
287
9.5.1 碎片
288
9.5.2 确定碎片和页拆分的可能性
288
9.6 本章小结
292
第10章 视图
295
10.1 创建简单的视图
295
10.2 使用T-SQL编辑视图
307
10.3 删除视图
307
10.4 在Management Studio中创建和编辑视图
307
10.4.1 在Management Studio 中创建视图
308
10.4.2 在Management Studio中编辑视图
310
10.5 审查:显示现有的代码
311
10.6 保护代码:加密视图
312
10.7 关于模式绑定
314
10.8 使用VIEW_METADATA使视图看起来像表一样
314
10.9 索引(物化)视图
314
10.10 索引聚集视图
317
10.11 本章小结
320
第11章 编写脚本和批处理
323
11.1 脚本的基础知识
324
11.1.1 使用USE语句选择数据库环境
324
11.1.2 声明变量
325
11.1.3 设置变量中的值
326
11.1.4 系统函数回顾
328
11.1.5 检索标识值
329
11.1.6 生成序列
333
11.1.7 使用@@ROWCOUNT
336
11.2 将语句分组到批处理中
337
11.2.1 自成一行
338
11.2.2 每个批处理单独发送到服务器
338
11.2.3 GO不是T-SQL命令
339
11.2.4 批处理中的错误
339
11.2.5 何时使用批处理
339
11.3 从命令提示符运行:sqlcmd
343
11.4 动态SQL:用EXEC命令动态生成代码
347
11.4.1 动态生成代码
347
11.4.2 理解动态SQL的危险性
349
11.5 使用控制流语句
353
11.5.1 IF…ELSE语句
353
11.5.2 CASE语句
357
11.5.3 用WHILE语句进行循环
362
11.5.4 WAITFOR语句
364
11.5.5 使用TRY/CATCH块处理错误
364
11.6 本章小结
367
第12章 存储过程
369
12.1 创建存储过程:基本语法
370
12.2 使用ALTER修改存储过程
371
12.3 删除存储过程
372
12.4 参数化存储过程
372
12.4.1 声明参数
372
12.4.2 通过返回值确认成功或失败
378
12.4.3 如何使用RETURN
378
12.5 错误处理
380
12.5.1 处理内联错误
381
12.5.2 利用@@ERROR
382
12.5.3 在存储过程中使用@@ERROR
383
12.5.4 在错误发生前处理错误
386
12.5.5 手动引发错误
392
12.5.6 重新抛出错误
396
12.5.7 添加自定义的错误消息
397
12.6 存储过程的优点
399
12.6.1 创建可调用的进程
399
12.6.2 为了安全性而使用存储过程
399
12.6.3 存储过程和性能
400
12.7 扩展存储过程(XP)
402
12.8 递归简介
402
12.9 调试
404
12.9.1 启动调试器
405
12.9.2 调试器的组成
405
12.9.3 使用断点进行中断
408
12.9.4 使用调试器
410
12.10 理解.NET程序集
413
12.11 使用存储过程的时机
413
12.12 本章小结
414
第13章 用户自定义函数
417
13.1 UDF的定义
417
13.2 返回标量值的UDF
418
13.3 返回表的UDF
424
13.3.1 内联UDF
424
13.3.2 理解确定性
430
13.4 调试用户自定义函数
433
13.5 数据库中的.NET
433
13.6 本章小结
434
第14章 事务和锁
435
14.1 事务
435
14.1.1 ACID事务
436
14.1.2 事务操作简介
436
14.1.3 BEGIN TRAN
437
14.1.4 COMMIT TRAN
437
14.1.5 ROLLBACK TRAN
437
14.1.6 SAVE TRAN
437
14.2 SQL Server日志的工作方式
439
14.2.1 失败和恢复
440
14.2.2 激活隐式事务
442
14.3 锁和并发
442
14.3.1 锁的用途
443
14.3.2 可以锁定的资源
446
14.3.3 锁升级和锁对性能的影响
446
14.3.4 锁定模式
447
14.3.5 锁的兼容性
448
14.3.6 指定一种特有的锁定类型——优化器提示
449
14.4 设置隔离级别
450
14.4.1 READ COMMITTED
451
14.4.2 READ UNCOMM-ITTED
451
14.4.3 REPEATABLE READ
452
14.4.4 SERIALIZABLE
452
14.4.5 SNAPSHOT
452
14.5 处理死锁(1205错误)
453
14.5.1 SQL Server判断死锁的方式
453
14.5.2 选择死锁牺牲者的方式
453
14.5.3 避免死锁
453
14.6 本章小结
456
第15章 触发器
459
15.1 触发器的概念
460
15.1.1 ON子句
461
15.1.2 WITH ENCRYPTION选项
461
15.1.3 FOR AFTER
462
15.1.4 FOR AFTER 子句与INSTEAD OF子句
463
15.1.5 NOT FOR REPLICATION选项
464
15.1.6 AS子句
464
15.2 使用触发器实施数据完整性规则
464
15.2.1 处理来自于其他表的需求
465
15.2.2 使用触发器来检查更新的变化
466
15.2.3 将触发器用于自定义错误消息
468
15.3 触发器的其他常见用途
468
15.4 触发器的其他问题
468
15.4.1 触发器可以嵌套
469
15.4.2 触发器可以递归
469
15.4.3 触发器不能防止体系结构的修改
469
15.4.4 可以在不删除的情况下关闭触发器
470
15.4.5 触发器的激活顺序
470
15.5 INSTEAD OF触发器
472
15.6 性能考虑
472
15.6.1 触发器的被动性
472
15.6.2 触发器与激活的进程之间不存在并发问题
472
15.6.3 使用IF UPDATE()和COLUMNS_UPDATED()
473
15.6.4 保持触发器短小精悍
475
15.6.5 选择索引时不要忘记触发器
475
15.6.6 不要在触发器中进行回滚
475
15.7 删除触发器
476
15.8 调试触发器
476
15.9 本章小结
477
第16章 初识XML
479
16.1 XML基础
480
16.1.1 XML文档的各个组成部分
481
16.1.2 名称空间
489
16.1.3 元素内容
491
16.1.4 有效与格式良好——架构和DTD
492
16.2 SQL Server提供的XML支持
492
16.2.1 将列定义为XML类型
493
16.2.2 XML架构集合
494
16.2.3 创建、修改和删除XML架构集合
496
16.2.4 XML数据类型方法
498
16.2.5 强制执行架构集合之外的约束
504
16.2.6 用XML格式检索关系数据
505
16.2.7 RAW选项
506
16.2.8 AUTO选项
509
16.2.9 EXPLICIT选项
510
16.2.10 PATH选项
512
16.2.11 OPENXML函数
517
16.3 XSLT简介
521
16.4 本章小结
523
第17章 商务智能基础
525
17.1 商务智能的概念
525
17.1.1 BI优于其他方案
526
17.1.2 根据数据做出决策
526
17.1.3 不同的专家有不同的观点
528
17.1.4 通过过去的业绩预测未来的行为
528
17.1.5 谁使用BI
528
17.2 数据仓库
528
17.2.1 数据仓库的目标
529
17.2.2 OLTP与OLAP
529
17.2.3 Kimball与Inmon
530
17.3 维度建模:为什么是规范化的
533
17.3.1 度量值和度量指标
533
17.3.2 事实
534
17.3.3 维度
536
17.4 ETL
542
17.4.1 提供数据
542
17.4.2 强制一致性
543
17.4.3 通过定义权威数据来解决冲突
544
17.4.4 2个、3个或更多个阶段
544
17.4.5 在ETL过程中处理并发
545
17.4.6 缓存提取的内容——操作数据存储(ODS)
546
17.5 使数据可操作:BI报表技术
546
17.5.1 目标
547
17.5.2 关键性能指示器
547
17.5.3 仪表盘
549
17.5.4 记分卡
549
17.5.5 明细表
549
17.5.6 下钻
550
17.5.7 钻取
550
17.5.8 临时报表
551
17.6 本章小结
551
第18章 BI存储和报表资源
553
18.1 T-SQL中的BI
554
18.1.1 AdventureWorks数据仓库
554
18.1.2 使用T-SQL分析函数
555
18.1.3 columnstore索引
563
18.2 SQL Server Analysis Services
564
18.3 建立第一个多维数据集
565
18.3.1 数据源
571
18.3.2 数据源视图
572
18.3.3 多维数据集
572
18.3.4 度量值组
573
18.3.5 维度
574
18.3.6 多维数据集的其他内容
576
18.4 自助式BI:用户工具
576
18.4.1 报表构建器
577
18.4.2 PowerPivot:带有SharePoint和Excel的轻型BI
577
18.4.3 Power View
579
18.5 小结
579
第19章 Reporting Services
581
19.1 Reporting Services 101
581
19.2 理解SSRS报表的生命周期
582
19.2.1 在SSRS中开发报表
582
19.2.2 管理报表
583
19.2.3 把报表发布给用户
583
19.3 理解Reporting Services体系结构
583
19.3.1 SSDT:报表设计器
584
19.3.2 SSRS Windows服务
584
19.3.3 报表管理器
584
19.3.4 报表构建器
584
19.3.5 报表查看器
584
19.4 构建简单的报表模型
585
19.4.1 创建项目
585
19.4.2 给数据模型添加内容
593
19.4.3 构建和部署数据模型
598
19.4.4 创建报表
599
19.5 报表服务器项目
607
19.5.1 建立报表服务器项目
607
19.5.2 部署报表
612
19.6 本章小结
613
第20章 使用Integration Services进行集成
615
20.1 理解问题
615
20.2 使用导入/导出向导生成基本的程序包
616
20.2.1 启动向导
616
20.2.2 选择数据源
617
20.2.3 完成向导
620
20.3 程序包基础知识
622
20.3.1 “连接管理器”面板
623
20.3.2 程序包编辑器面板
625
20.4 执行程序包
632
20.4.1 在Development Studio中执行程序包
633
20.4.2 在SSMS中执行
633
20.4.3 使用执行包实用工具
635
20.4.4 使用SQL Server Agent执行程序包
638
20.4.5 从程序中执行程序包
638
20.5 关于程序包的补充说明
638
20.6 本章小结
638
第21章 扮演管理员的角色
641
21.1 调度作业
642
21.1.1 创建操作员
643
21.1.2 创建作业和步骤
644
21.2 登录和用户
651
21.2.1 安全模式
652
21.2.2 创建登录和用户
652
21.2.3 许可和拥有权
654
21.3 备份和恢复
654
21.3.1 创建备份
655
21.3.2 恢复模式
658
21.3.3 还原
658
21.4 索引维护
660
21.5 数据归档
662
21.6 基于策略的管理
663
21.7 用POWERSHELL自动完成管理任务
663
21.7.1 PowerShell
663
21.7.2 安装和启用PowerShell
664
21.7.3 cmdlet和模块
664
21.7.4 Sqlps
664
21.7.5 部署和执行
666
21.8 本章小结
667
附录A 习题答案
669

作者简介

《SQLServer数据库经典译丛:SQLServer2012编程入门经典(第4版)》循序渐进的教程介绍如何创建效率更高的管理程序,如何从SQLServer数据库环境中获得商务智能。《SQLServer数据库经典译丛:SQLServer2012编程入门经典(第4版)》探讨了SQL的基本对象、基本查询和连接,然后把对象添加到数据库中,并使用对物理设计非常重要的项。接着研究了SQLServer脚本的编写。最后讨论了如何使用SQLServer2012的功能为一流应用程序建立一流数据库。

研究了开发SQLServer应用程序的关键概念:条件动作结构,提高对结果分页的控制,与SharePoint和Excel集成的应用程序,以及商务智能应用程序的开发。

学习客户端连接的改进、安全性、兼容性以及数据仓库性能的提高。

解决一些基本问题,包括管理键、编写脚本以及处理存储过程。

共享有效的技术来创建和修改表,用XML编程,使用SQLServer报表和集成服务。


 SQL Server 2012编程入门经典下载



发布书评

 
 


 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024