《SQL Server 2008编程入门经典 第3版》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:孙皓编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302214328
  • 页数:559 页
图书介绍:本书是SQL Server 2008编程方面的重要著作,逐步深入地介绍了数据库管理和开发方面的高级主题,本书通过介绍SQL Server 2008编程环境来教会读者如何简单、高效地进行数据库设计和管理。

第1章 RDBMS基础:SQL Server数据库的构成 1

1.1数据库对象概述 1

1.1.1数据库对象 2

1.1.2事务日志 6

1.1.3最基本的数据库对象:表 6

1.1.4文件组 8

1.1.5数据库关系图 8

1.1.6视图 9

1.1.7存储过程 10

1.1.8用户自定义函数 10

1.1.9用户和角色 10

1.1.10规则 10

1.1.11默认值 11

1.1.12用户自定义数据类型 11

1.1.13全文目录 11

1.2SQL Server数据类型 11

1.3SQL Server对象标识符 16

1.3.1需要命名的对象 16

1.3.2命名规则 17

1.4本章小结 17

第2章 SQL Server管理工具 18

2.1联机丛书 18

2.2SQL Server配置管理器 19

2.2.1服务管理 20

2.2.2网络配置 20

2.2.3协议 21

2.2.4客户端 23

2.3SQL Server Management Studio 25

2.3.1启动Management Studio 25

2.3.2“查询”窗口 28

2.4SQL Server集成服务(SSIS) 32

2.5Bulk Copy Program(bcp) 33

2.6SQL Server Profiler 33

2.7sqlcmd 34

2.8PowerShell 34

2.9本章小结 34

第3章 T-SQL基本语句 35

3.1基本SELECT语句 36

3.1.1SELECT语句与FROM子句 36

3.1.2WHERE子句 39

3.1.3ORDER BY子句 42

3.1.4使用GROUP BY子句聚合数据 44

3.1.5使用HAVING子句给分组设置条件 52

3.1.6使用FOR XML子句输出XML 53

3.1.7通过OPTION子句利用提示 54

3.1.8DISTINCT和ALL谓词 54

3.2使用INSERT语句添加数据 56

3.2.1多行插入 60

3.2.2INSERT INTO…SELECT语句 61

3.3用UPDATE语句更改数据 63

3.4DELETE语句 65

3.5本章小结 66

3.6练习 66

第4章 连接 67

4.1连接 67

4.2内部连接 69

4.3外部连接 75

4.3.1简单的外部连接 76

4.3.2处理更复杂的外部连接 81

4.4完全连接 85

4.5交叉连接 86

4.6JOIN语句的早期语法结构 87

4.6.1内部连接的早期语法结构 88

4.6.2外部连接的早期语法结构 88

4.6.3交叉连接的早期语法结构 89

4.7联合 90

4.8本章小结 94

4.9练习 94

第5章 创建和修改数据表 95

5.1SQL Server中的对象名 95

5.1.1模式名 95

5.1.2数据库名 98

5.1.3通过服务器命名 98

5.1.4回顾默认值 98

5.2CREATE语句 99

5.2.1CREATE DATABASE 99

5.2.2CREATETABLE 104

5.3ALTER语句 115

5.3.1ALTER DATABASE 115

5.3.2ALTER TABLE 119

5.4DROP语句 122

5.5使用GUI工具 123

5.5.1使用Management Studio创建数据库 123

5.5.2回到代码:使用Managementstudio创建脚本的基础知识 127

5.6本章小结 128

5.7练习 128

第6章 约束 129

6.1约束的类型 130

6.1.1域约束 130

6.1.2实体约束 130

6.1.3参照完整性约束 131

6.2约束命名 131

6.3键约束 132

6.3.1主键约束 132

6.3.2外键约束 134

6.3.3唯一约束 144

6.4CHECK约束 145

6.5DEFAULT约束 146

6.5.1在CREATE TABLE语句中定义DEFAULT约束 147

6.5.2在已存在的表中添加DEFAULT约束 148

6.6禁用约束 148

6.6.1在创建约束时忽略无效的数据 148

6.6.2临时禁用已存在的约束 150

6.7规则和默认值 152

6.7.1规则 152

6.7.2默认值 154

6.7.3确定哪个表和数据类型使用给定的规则或默认值 154

6.8用于实现数据完整性的触发器 155

6.9如何选择 155

6.10本章小结 156

第7章 更复杂的查询 157

7.1子查询的概念 158

7.2关联子查询 161

7.2.1关联子查询的工作原理 162

7.2.2在WHERE子句中的关联子查询 162

7.2.3处理NULL数据——ISNULL函数 165

7.3派生表 166

7.4EXISTS运算符 168

7.5混合数据类型:CAST和CONVERT 171

7.6MERGE命令 174

7.6.1BY TARGET和BY SOURCE 177

7.6.2OUTPUT子句 177

7.7性能方面的考虑 180

7.8本章小结 181

7.9练习 181

第8章 规范化和其他基本设计问题 182

8.1表 182

8.2保持数据“规范” 183

8.2.1准备工作 184

8.2.2第一范式 185

8.2.3第二范式 188

8.2.4第三范式 189

8.2.5其他范式 191

8.3关系 192

8.3.1一对一关系 192

8.3.2一对一或一对多关系 193

8.3.3多对多关系 195

8.4数据库关系图 198

8.4.1表 200

8.4.2添加和删除表 200

8.4.3关系 205

8.5反规范化 207

8.6超出规范化的一些规则 208

8.6.1保持简单 208

8.6.2选择数据类型 208

8.6.3尽量进行存储 209

8.7创建一个快速示例 209

8.7.1创建数据库 209

8.7.2添加数据库关系图和初始表 210

8.7.3添加关系 213

8.7.4添加一些约束 215

8.8本章小结 216

8.9练习 216

第9章 SQL Server存储和索引结构 217

9.1SQL Server存储机制 217

9.1.1数据库 217

9.1.2区段 218

9.1.3页 218

9.1.4行 219

9.1.5稀疏列 219

9.2理解索引 219

9.2.1平衡树(B-树) 220

9.2.2SQL Server中访问数据的方式 223

9.3创建、修改和删除索引 230

9.3.1CREATE INDEX语句 230

9.3.2创建XML索引 234

9.3.3随约束创建的隐含索引 235

9.3.4在稀疏列和地理空间列上创建索引 236

9.4明智地选择——在何时何地使用何种索引 236

9.4.1选择性 236

9.4.2注意成本 236

9.4.3选择群集索引 237

9.4.4列顺序问题 239

9.4.5修改索引 239

9.4.6删除索引 241

9.4.7从查询计划中获取提示 242

9.4.8使用数据库引擎调整向导 242

9.5维护索引 242

9.5.1碎片 242

9.5.2确定碎片和页拆分的可能性 243

9.6本章小结 246

9.7练习 247

第10章 视图 248

10.1简单的视图 248

10.2更加复杂的视图 253

10.3使用T-SQL编辑视图 259

10.4删除视图 260

10.5在Management Studio中创建和编辑视图 260

10.6审查:显示现有的代码 263

10.7保护代码:加密视图 264

10.8关于模式绑定 265

10.9使用VIEW METADATA使视图看起来像表一样 266

10.10索引(物化)视图 266

10.11本章小结 268

10.12练习 269

第11章 编写脚本和批处理 270

11.1脚本的基础知识 270

11.1.1USE语句 271

11.1.2声明变量 271

11.1.3使用@@IDENTITY 275

11.1.4使用@@ROWCOUNT 278

11.2批处理 279

11.2.1批处理中的错误 281

11.2.2何时使用批处理 281

11.3sqlcmd 284

11.4动态SQL:用EXEC命令动态生成代码 288

11.5控制流语句 293

11.5.1IF…ELSE语句 293

11.5.2CASE语句 297

11.5.3用WHILE语句进行循环 302

11.5.4WAITOR语句 303

11.5.5TRY/CATCH块 303

11.6本章小结 306

11.7练习 306

第12章 存储过程 307

12.1创建存储过程:基本语法 307

12.2使用ALTER修改存储过程 309

12.3删除存储过程 309

12.4参数化 310

12.5通过返回值确认成功或失败 315

12.6错误处理 317

12.6.1以前的方式 318

12.6.2在错误发生前处理错误 323

12.6.3手动引发错误 328

12.6.4添加自定义的错误消息 331

12.7存储过程的优点 333

12.7.1创建可调用的进程 333

12.7.2为了安全性使用存储过程 333

12.7.3存储过程和性能 334

12.8扩展存储过程(XP) 336

12.9递归简介 336

12.10调试 338

12.10.1启动调试器 339

12.10.2调试器的组成 339

12.10.3使用调试器 342

12.11.NET程序集 343

12.12本章小结 344

第13章 用户自定义函数 345

13.1UDF的定义 345

13.2返回标量值的UDF 346

13.3返回表的UDF 350

13.4调试用户自定义函数 358

13.5数据库中的.NET 358

13.6本章小结 358

13.7练习 358

第14章 事务和锁 359

14.1事务 359

14.1.1BEGIN TRAN 360

14.1.2COMMIT TRAN 360

14.1.3ROLLBACK TRAN 361

14.1.4SAVE TRAN 361

14.2SQL Server日志的工作方式 361

14.2.1失败和恢复 362

14.2.2隐式事务 364

14.3锁和并发 364

14.3.1通过锁可以防止的问题 365

14.3.2可以锁定的资源 368

14.3.3锁升级和锁对性能的影响 368

14.3.4锁定模式 369

14.3.5锁的兼容性 370

14.3.6指定一种特有的锁定类型——优化器提示 371

14.4设置隔离级别 372

14.5处理死锁(1205错误) 375

14.5.1SQL Server判断死锁的方式 375

14.5.2选择死锁牺牲者的方式 375

14.5.3避免死锁 375

14.6本章小结 377

第15章 触发器 379

15.1触发器的概念 380

15.1.1ON子句 381

15.1.2WITH ENCRYPTION选项 381

15.1.3FOR|AFTER子句与INSTEAD OF子句 381

15.1.4WITH APPEND选项 384

15.1.5NOT FOR REPLICATION选项 384

15.1.6AS子句 384

15.2使用触发器实施数据完整性规则 384

15.2.1处理来自于其他表的需求 385

15.2.2使用触发器来检查更新的变化 386

15.2.3将触发器用于自定义错误消息 388

15.3触发器的其他常见用途 388

15.4触发器的其他问题 388

15.4.1触发器可以嵌套 389

15.4.2触发器可以递归 389

15.4.3触发器不能防止体系结构的修改 389

15.4.4可以在不删除的情况下关闭触发器 390

15.4.5触发器的激活顺序 390

15.5INSTEAD OF触发器 392

15.6性能考虑 392

15.6.1触发器的被动性 392

15.6.2触发器与激活的进程之间不存在并发问题 392

15.6.3使用IF UPDATE()和COLUMNS_UPDATED() 393

15.6.4保持触发器短小精悍 395

15.6.5选择索引时不要忘记触发器 395

15.6.6不要在触发器中进行回滚 395

15.7删除触发器 395

15.8调试触发器 396

15.9本章小结 397

第16章 初识XML 398

16.1XML基础 399

16.1.1XML文档的各个组成部分 400

16.1.2名称空间 407

16.1.3元素内容 408

16.1.4有效与格式良好——架构和DTD 409

16.2SQL Server提供的XML支持 410

16.2.1将列定义为 XML类型 410

16.2.2XML架构集合 411

16.2.3创建、修改和删除XML架构集合 413

16.2.4XML数据类型方法 415

16.2.5强制执行架构集合之外的约束 421

16.2.6用XML格式检索关系数据 421

16.2.7RAW选项 422

16.2.8AUTO选项 424

16.2.9EXPLICIT选项 426

16.2.10PATH选项 427

16.2.11OPENXML函数 432

16.3XSLT简介 436

16.4本章小结 438

第17章 Reporting Services概述 439

17.1Reporting Services 101 439

17.2创建简单的报表模型 440

17.2.1数据源视图 443

17.2.2建立数据模型 447

17.2.3创建报表 450

17.3报表服务器项目 454

17.4本章小结 459

第18章 使用Integration Services进行集成 460

18.1理解问题 460

18.2使用导入/导出向导生成基本的程序包 461

18.3程序包基础知识 466

18.3.1“连接管理器”面板 467

18.3.2程序包编辑器面板 468

18.4执行程序包 472

18.4.1在Development Studio中运行程序包 472

18.4.2使用执行包实用工具 472

18.4.3使用SQL Server Agent执行程序包 475

18.4.4从程序中执行程序包 475

18.5关于程序包的补充说明 475

18.6本章小结 475

第19章 扮演管理员的角色 476

19.1调度作业 477

19.1.1创建操作员 477

19.1.2创建作业和任务 479

19.2备份和恢复 487

19.2.1创建备份——转储 488

19.2.2恢复模式 491

19.2.3还原 491

19.3索引维护 493

19.4数据归档 495

19.5基于策略的管理 496

19.6本章小结 496

19.7练习 497

附录A系统函数 498

附录B非常简单的连接示例 550

附录C学习资源 558