图书介绍
SQL Server 2005高级程序设计PDF|Epub|txt|kindle电子书版本网盘下载
- (美)RobertVieira著 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115170797
- 出版时间:2008
- 标注页数:674页
- 文件大小:222MB
- 文件页数:692页
- 主题词:关系数据库-数据库管理系统,SQL Server 2005-程序设计
PDF下载
下载说明
SQL Server 2005高级程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 回顾SQL Server中的对象1
1.1 本书提供什么1
1.2 数据库对象概览1
1.2.1 数据库对象2
1.2.2 事务日志4
1.2.3 最基本的数据库对象:表4
1.2.4 模式5
1.2.5 文件组5
1.2.6 关系图5
1.2.7 视图7
1.2.8 存储过程7
1.2.9 用户定义函数7
1.2.10 用户和角色8
1.2.11 规则8
1.2.12 默认值8
1.2.13 用户定义数据类型8
1.2.14 全文目录9
1.3 SQL Server数据类型9
1.4 SQL Server对象标识符12
1.4.1 对什么命名12
1.4.2 命名规则12
1.5 小结13
第2章 工具14
2.1 联机丛书14
2.2 SQL Server配置管理器15
2.2.1 服务管理16
2.2.2 网络配置16
2.2.3 协议17
2.2.4 客户端配置18
2.3 SQL Server Management Studio20
2.3.1 启动20
2.3.2 查询窗口22
2.4 SQL Server Business Intelligence Development Studio25
2.5 SQL Server Integration Services(SSIS)26
2.6 Reporting Services26
2.7 大容量复制程序26
2.8 SQL Server Profiler27
2.9 sqlcmd27
2.10 小结27
第3章 T-SQL基础28
3.1 基本的SELECT语句28
3.1.1 SELECT语句和FROM子句29
3.1.2 JOIN子句30
3.1.3 WHERE子句36
3.1.4 ORDER BY40
3.1.5 使用GROUP BY子句聚集数据42
3.1.6 使用HAVING子句在组上放置条件45
3.1.7 使用FOR XML子句进行XML输出46
3.1.8 使用OPTION子句指定提示46
3.1.9 DISTINCT46
3.2 用INSERT语句添加数据47
3.3 通过UPDATE语句更改现有的数据50
3.4 DELETE语句52
3.5 替代的联结语法54
3.5.1 替代的INNER JOIN54
3.5.2 替代的OUTER JOIN54
3.5.3 替代的CROSS JOIN55
3.6 UNION55
3.7 小结58
第4章 创建和修改表59
4.1 SQLServer中的对象名59
4.1.1 模式名(又名:所有权)59
4.1.2 数据库名61
4.1.3 按照服务器命名61
4.2 CREATE语句62
4.2.1 CREATE DATABASE62
4.2.2 CREATE TABLE66
4.3 ALTER语句72
4.3.1 ALTER DATABASE72
4.3.2 ALTER TABLE75
4.4 DROP语句77
4.5 使用GUI工具78
4.5.1 创建或编辑数据库78
4.5.2 创建和编辑表79
4.6 小结80
第5章 回顾键和约束81
5.1 约束的类型82
5.1.1 域约束82
5.1.2 实体约束83
5.1.3 引用完整性约束83
5.2 约束的命名83
5.3 键约束84
5.3.1 主键约束84
5.3.2 外键约束87
5.3.3 UNIQUE约束94
5.4 CHECK约束95
5.5 DEFAULT约束96
5.5.1 在CREATE TABLE语句中定义DEFAULT约束97
5.5.2 在现有的表上添加DEFAULT约束97
5.6 禁用约束98
5.6.1 创建约束时忽略不正确的数据98
5.6.2 临时禁用现有的约束100
5.7 规则和默认值:约束的同类102
5.7.1 规则102
5.7.2 默认值103
5.7.3 确定哪个表或数据类型上使用了指定的规则或默认值104
5.8 保证数据完整性的触发器104
5.9 选择应用使用什么104
5.10 小结105
第6章 更深入的问题:高级查询106
6.1 什么是子查询107
6.2 构建嵌套的子查询107
6.2.1 使用单值SELECT语句的嵌套查询108
6.2.2 使用返回多个值的子查询的嵌套查询109
6.2.3 ANY、SOME和ALL运算符110
6.3 相关子查询111
6.3.1 相关子查询如何工作111
6.3.2 WHERE子句中的相关子查询112
6.3.3 SELECT列表中的相关子查询113
6.4 派生表115
6.5 EXISTS运算符117
6.6 混合数据类型:CAST和CONVERT119
6.7 使用外部调用执行复杂的操作120
6.8 性能考虑121
6.9 小结123
第7章 挑战设计124
7.1 规范化回顾124
7.1.1 从何处入手125
7.1.2 达到第三范式125
7.1.3 其他规范形式126
7.2 关系126
7.3 关系图127
7.3.1 几种关系类型128
7.3.2 实体框128
7.3.3 关系线129
7.3.4 终结器129
7.4 逻辑设计和物理设计131
7.4.1 逻辑模型的用途131
7.4.2 逻辑模型的组成部分132
7.5 处理基于文件的信息133
7.6 子类别135
7.6.1 子类别的类型137
7.6.2 明了什么是什么——实现子类别137
7.6.3 子类别的物理实现139
7.6.4 通过子类别增加可扩展性140
7.7 数据库重用140
7.7.1 可重用数据库的候选141
7.7.2 如何分解事物141
7.7.3 可重用性的高昂代价141
7.8 非规范化142
7.9 为可伸缩性进行分区142
7.10 SQL Server关系图工具143
7.10.1 表145
7.10.2 处理约束146
7.11 小结147
第8章 SQL Server——存储和索引结构148
8.1 SQL Server存储148
8.1.1 数据库148
8.1.2 文件148
8.1.3 区段149
8.1.4 页149
8.1.5 行151
8.1.6 全文目录151
8.2 理解索引152
8.2.1 “B”还是非“B”:B树153
8.2.2 在SQL Server中如何访问数据156
8.2.3 索引类型和索引导航157
8.3 创建、修改和删除索引163
8.3.1 CREATE INDEX语句163
8.3.2 创建XML索引167
8.3.3 随约束隐含创建的索引168
8.3.4 ALTER INDEX168
8.3.5 DROP INDEX170
8.4 明智地选择:决定何时何地使用何种索引171
8.4.1 选择性171
8.4.2 注意代价:当少变成多时171
8.4.3 选择聚集索引172
8.4.4 列顺序问题174
8.4.5 删除索引174
8.4.6 使用数据库引擎优化顾问174
8.5 维护索引174
8.5.1 碎片175
8.5.2 检测碎片175
8.6 小结179
第9章 视图180
9.1 简单视图180
9.2 更复杂的视图181
9.3 使用T-SQL编辑视图185
9.4 删除视图185
9.5 审查:显示已有的代码185
9.6 保护代码:加密视图187
9.7 关于模式绑定188
9.8 使用VIEW_METADATA让视图看起来像一个表188
9.9 索引(具体化)视图188
9.10 分区视图190
9.11 小结191
第10章 脚本和批处理192
10.1 脚本基础192
10.1.1 USE语句193
10.1.2 声明变量193
10.1.3 使用@@IDENTITY195
10.1.4 使用@@ROWCOUNT196
10.2 批处理197
10.2.1 批处理中的错误198
10.2.2 何时使用批处理199
10.3 SQLCMD201
10.4 动态SQL:使用EXE命令生成代码202
10.5 流控制语句207
10.5.1 IF...ELSE语句207
10.5.2 ELSE子句209
10.5.3 CASE语句211
10.5.4 使用WHILE语句进行循环216
10.5.5 WAITFOR语句217
10.5.6 TRY/CATCH块217
10.6 小结219
第11章 存储过程和用户定义函数221
11.1 创建存储过程:基本语法221
11.2 用ALTER更改存储过程222
11.3 删除存储过程223
11.4 参数223
11.4.1 声明参数223
11.4.2 创建输出参数224
11.5 通过返回值确认成功或失败226
11.6 错误处理229
11.6.1 应该采取的方式229
11.6.2 手工生成错误234
11.6.3 添加你自己的自定义错误消息236
11.7 存储过程能提供什么238
11.7.1 创建可调用的过程238
11.7.2 因安全而使用存储过程238
11.7.3 存储过程和性能239
11.8 扩展存储过程241
11.9 递归概览241
11.10 用户定义函数243
11.10.1 什么是UDF243
11.10.2 返回标量值的UDF244
11.11 返回表的UDF246
11.12 调试252
11.12.1 为进行调试而设置SQL Server252
11.12.2 启动调试器253
11.12.3 调试器的组成254
11.12.4 调试器启动后使用256
11.13 小结259
第12章 事务和锁260
12.1 事务260
12.1.1 BEGIN TRAN261
12.1.2 COMMIT TRAN261
12.1.3 ROLLBACK TRAN262
12.1.4 SAVE TRAN262
12.2 SQL Server日志的工作原理265
12.2.1 使用CHECKPOINT命令267
12.2.2 在恢复时使用CHECKPOINT267
12.2.3 正常的服务器关机267
12.2.4 数据库选项的更改268
12.2.5 当Truncate on Checkpoint选项活动时268
12.2.6 当恢复时间超出Recovery Interval选项的设置时268
12.2.7 失败和恢复268
12.2.8 隐式事务270
12.3 锁和并发270
12.3.1 通过锁可以防止什么问题271
12.3.2 可锁的资源274
12.3.3 锁升级以及锁对性能的影响274
12.3.4 锁模式275
12.3.5 锁的兼容性276
12.3.6 指定特定的锁类型——优化器提示277
12.4 设置隔离级别279
12.4.1 READ COMMITTED280
12.4.2 READ UNCOMMITTED280
12.4.3 REPEATABLE READ280
12.4.4 SERIALIZABLE281
12.5 处理死锁(也称作“A 1205”)281
12.5.1 SQL Server是如何判断存在死锁的281
12.5.2 死锁牺牲品是如何选择的282
12.5.3 避免死锁282
12.6 小结284
第13章 触发器285
13.1 什么是触发器286
13.1.1 ON287
13.1.2 WITH ENCRYPTION287
13.1.3 FOR|AFTER与INSTEAD OF子句287
13.1.4 WITH APPEND289
13.1.5 NOT FOR REPLICATION289
13.1.6 AS290
13.2 为数据完整性规则使用触发器290
13.2.1 处理来自其他表的要求290
13.2.2 使用触发器检查更新的差异292
13.2.3 为定制错误消息使用触发器294
13.3 触发器的其他常见用途294
13.3.1 更新摘要信息294
13.3.2 向非规范化的表中输入数据以用于报告294
13.3.3 设置条件标记295
13.4 其他触发器问题297
13.4.1 触发器可以是嵌套的297
13.4.2 触发器可以是递归的298
13.4.3 调试触发器298
13.4.4 触发器不妨碍修改架构298
13.4.5 不必删除触发器就能够禁用它299
13.4.6 触发器激发顺序299
13.5 INSTEAD OF触发器301
13.5.1 INSTEAD OF INSERT触发器302
13.5.2 INSTEAD OF UPDATE触发器304
13.5.3 INSTEAD OF DELETE触发器305
13.6 IF UPDATE()与COLUMNS_UPDATED306
13.6.1 UPDATE()函数306
13.6.2 COLUMNS_UPDATED()函数307
13.7 性能考虑308
13.7.1 触发器是被动的而非先发制人的308
13.7.2 触发器与激发它们的进程之间没有并发问题309
13.7.3 保持短小精悍309
13.7.4 在选择索引时不要忘记了触发器309
13.7.5 不要试图在触发器中回滚309
13.8 删除触发器309
13.9 调试触发器310
13.10 小结311
第14章 使用.NET312
14.1 程序集入门312
14.2 编译程序集313
14.3 将程序集上载到SQL Server中315
14.4 创建基于程序集的存储过程316
14.5 从程序集中创建标量用户定义函数317
14.6 创建表值函数320
14.7 创建聚集函数323
14.8 从程序集创建触发器328
14.9 自定义数据类型332
14.9.1 从程序集创建自己的数据类型333
14.9.2 访问复杂数据类型333
14.9.3 删除数据类型334
14.10 小结335
第15章 SQL游标336
15.1 什么是游标336
15.2 游标的生命期337
15.3 游标的类型和扩展的声明语法341
15.3.1 作用域341
15.3.2 可滚动性345
15.3.3 游标类型347
15.3.4 并发性选项358
15.3.5 游标类型转换检测:TYPE_WARNING361
15.3.6 FOR〈SELECT〉363
15.3.7 FOR UPDATE363
15.4 在游标中导航:FETCH语句363
15.5 在游标中修改数据364
15.6 小结366
第16章 XML集成367
16.1 XML数据类型367
16.1.1 定义一个XML数据类型的列368
16.1.2 XML模式集合369
16.1.3 创建、修改和删除XML模式集合370
16.1.4 XML数据类型方法372
16.1.5 在模式集合上的强制约束377
16.2 提取XML格式的关系数据377
16.2.1 FOR XML子句377
16.2.2 OPENXML399
16.3 XML索引的快速提示403
16.4 HTTP端点403
16.4.1 安全性404
16.4.2 HTTP端点方法404
16.4.3 创建和管理HTTP端点405
16.4.4 最后的思考406
16.5 小结406
第17章 报表服务407
17.1 报表服务入门407
17.2 构建简单的报表模型408
17.2.1 数据源视图410
17.2.2 创建报表413
17.3 报表服务器项目417
17.4 小结421
第18章 BCP和其他基本的大容量操作422
18.1 BCP实用工具422
18.1.1 BCP语法423
18.1.2 BCP导入426
18.1.3 BCP导出429
18.2 格式化文件430
18.2.1 当列不匹配时432
18.2.2 使用格式化文件434
18.2.3 最大化导入的性能435
18.3 BULK INSERT435
18.4 OPENROWSET(BULK)436
18.4.1 ROWS_PER_BATCH437
18.4.2 SINGLE_BLOB,SINGLE_CLOB,SINGLE_NCLOB437
18.5 小结437
第19章 集成服务438
19.1 理解问题438
19.2 包的概述439
19.2.1 任务440
19.2.2 主窗口442
19.2.3 解决方案资源管理器443
19.2.4 属性窗口443
19.3 创建简单的包443
19.4 执行包448
19.4.1 执行包实用工具的使用448
19.4.2 在Management Studio中执行450
19.5 小结451
第20章 复制452
20.1 复制基础453
20.1.1 考虑在什么时候做出复制计划453
20.1.2 复制角色455
20.1.3 订阅456
20.1.4 订阅服务器的类型456
20.1.5 筛选数据456
20.2 复制模型457
20.2.1 快照复制457
20.2.2 合并复制460
20.2.3 事务复制462
20.2.4 立即更新订阅服务器464
20.2.5 混合复制类型465
20.3 复制的拓扑结构465
20.3.1 简单模型466
20.3.2 混合模型468
20.4 为复制制订计划470
20.4.1 涉及的数据470
20.4.2 移动设备471
20.5 在Management Studio中设置复制471
20.5.1 为复制配置服务器471
20.5.2 配置发布475
20.5.3 设置订阅服务器(通过Management Studio)480
20.5.4 使用复制数据库483
20.6 复制管理对象485
20.7 小结485
第21章 全文搜索487
21.1 全文搜索的架构488
21.2 设置全文索引和目录489
21.2.1 为数据库激活全文特性489
21.2.2 创建、修改、删除和操作全文特性490
21.2.3 创建、更改、删除和操作全文索引492
21.2.4 使用旧的语法来创建全文目录496
21.2.5 针对索引的旧语法497
21.2.6 关于索引填充的更多内容498
21.3 全文查询语法500
21.3.1 CONTAINS500
21.3.2 FREETEXT501
21.3.3 CONTAINSTABLE502
21.3.4 FREETEXTTABLE503
21.3.5 处理短语503
21.3.6 布尔操作503
21.3.7 邻近词504
21.3.8 权重504
21.3.9 特定性505
21.4 干扰词506
21.5 小结506
第22章 安全性507
22.1 安全性基础508
22.1.1 一个人,一个登录名,一个密码508
22.1.2 密码过期509
22.1.3 密码长度和组成510
22.1.4 尝试登录的次数511
22.1.5 用户和密码信息的存储511
22.2 安全性选项512
22.2.1 SQL Server安全性512
22.2.2 创建和管理登录513
22.2.3 Windows集成的安全性518
22.3 用户权限519
22.3.1 授予访问特定数据库的权限519
22.3.2 授予数据库中对象的权限520
22.3.3 用户权限和语句级别的许可524
22.4 服务器和数据库角色526
22.4.1 服务器角色526
22.4.2 数据库角色527
22.5 应用程序角色530
22.5.1 创建应用程序角色531
22.5.2 应用程序角色添加许可权限531
22.5.3 使用应用程序角色531
22.5.4 删除应用程序角色532
22.6 更高级的安全性532
22.6.1 关于guest账户应该怎么办532
22.6.2 TCP/IP端口设置533
22.6.3 别使用sa账户533
22.6.4 xp_cmdshell保持隐秘533
22.6.5 不要忘记作为安全手段的视图、存储过程以及UDF533
22.7 证书和非对称密钥534
22.7.1 证书535
22.7.2 非对称密钥535
22.8 小结535
第23章 性能优化536
23.1 什么时候进行优化537
23.2 索引选择538
23.3 客户端和服务器端处理539
23.4 战略上的非规范化540
23.5 例行维护540
23.6 组织好存储过程541
23.6.1 让事务尽量短541
23.6.2 尽可能使用限制性最少的事务隔离级别541
23.6.3 必要的话实现多个解决方案541
23.6.4 尽可能避免使用游标541
23.7 使用临时表542
23.8 莫以善小而不为543
23.9 硬件的考虑543
23.9.1 独占对服务器的使用544
23.9.2 I/O密集与CPU密集544
23.9.3 OLTP和OLAP548
23.9.4 现场的和非现场的548
23.9.5 挂起的风险549
23.9.6 丢失数据549
23.9.7 性能就是全部吗?549
23.9.8 驱动器支持550
23.9.9 理想的系统550
23.10 排错550
23.10.1 多种多样的显示计划和STATISTICS551
23.10.2 数据库一致性检查器(DBCC)555
23.10.3 查询调控器556
23.10.4 SQL Server Profiler556
23.10.5 性能监视器559
23.11 小结560
第24章 管理561
24.1 计划作业561
24.1.1 创建操作员562
24.1.2 创建作业和任务565
24.2 备份和恢复581
24.2.1 创建备份581
24.2.2 恢复模式586
24.2.3 恢复587
24.3 索引维护590
24.3.1 ALTER INDEX591
24.3.2 索引名591
24.3.3 表名或视图名591
24.3.4 REBUILD591
24.3.5 DISABLE592
24.3.6 REORGANIZE592
24.4 数据存档593
24.5 小结593
第25章 SMO:SQL管理对象595
25.1 SQL Server SMO的历史595
25.1.1 SQL分布式管理对象596
25.1.2 SQL命名空间596
25.1.3 WMI596
25.1.4 SMO597
25.2 SMO对象模型597
25.3 演练实例598
25.3.1 开始599
25.3.2 创建数据库600
25.3.3 创建表600
25.4 删除数据库604
25.5 备份数据库604
25.6 生成脚本605
25.7 完整的代码607
25.8 小结611
附录A 系统函数613
附录B 连接性650
附录C 获得服务659