数据库程序设计:SQL Server2000数据库程序设计PDF电子书下载
- 电子书积分:18 积分如何计算积分?
- 作 者:微软公司著
- 出 版 社:北京:高等教育出版社
- 出版年份:2007
- ISBN:978704014106X
- 页数:601 页
第1章 SQL Server概述 1
1.1 SQL Server 1
1.1.1 SQL Server简介 1
1.1.2 客户端—服务器组件 4
1.1.3 客户端—服务器通信过程 8
1.1.4 SQL Server服务 10
1.2 SQL Server集成 11
1.2.1 SQL Server和操作系统的集成 11
1.2.2 SQL Server和Windows 2000的集成 12
1.2.3 SQL Server和其他Microsoft服务器应用程序的集成 13
1.3 SQL Server数据库 13
1.3.1 数据库类型 14
1.3.2 数据库对象 15
1.3.3 引用SQL Server对象 15
1.3.4 系统表 17
1.3.5 元数据检索 17
1.4 SQL Server安全性 19
1.4.1 登录身份验证 19
1.4.2 数据库用户账户和角色 20
1.4.3 角色类型 20
1.4.4 权限验证 21
1.5 使用SQL Server 22
1.5.1 管理SQL Server数据库 22
1.5.2 实现SQL Server数据库 24
1.5.3 为SQL Server选择应用程序架构 25
1.5.4 使用数据库API设计应用程序 26
实验 SQL Server概述 27
练习1 使用SQL Server联机丛书 28
练习2 创建数据库关系图 29
习题 31
第2章 创建和管理数据库 33
2.1 创建数据库 33
2.1.1 定义数据库 33
2.1.2 事务日志的工作过程 36
2.1.3 设置数据库选项 37
2.1.4 检索数据库信息 38
2.2 创建文件组 39
2.3 管理数据库 41
2.3.1 管理数据文件和日志文件的增长 41
2.3.2 监视和扩展事务日志 42
2.3.3 收缩数据库或文件 43
2.4 分离和附加数据库 45
2.5 删除数据库 46
2.6 数据结构介绍 47
2.6.1 数据存储方式 47
2.6.2 页和扩展盘区类型 48
2.6.3 管理文件空间的页 49
2.6.4 跟踪表和索引的页 51
2.7 推荐操作 52
实验 创建和管理数据库 52
练习1 创建ClassNorthwind数据库 53
练习2 管理ClassNorthwind事务日志文件的增长 54
练习3 设置数据库恢复模型 55
习题 55
第3章 创建数据类型和表 58
3.1 创建数据类型 58
3.1.1 系统提供的数据类型 58
3.1.2 创建和删除用户定义的数据类型 64
3.1.3 选择数据类型的指导原则 66
3.2 创建表 67
3.2.1 SQL Server在行中组织数据的方式 67
3.2.2 SQL Server组织text、ntext和image数据的方式 68
3.2.3 创建和删除表 70
3.2.4 添加和删除列 75
3.3 生成列值 79
3.3.1 使用标识属性 79
3.3.2 使用NEWID函数和uniqueidentifier数据类型 81
3.4 生成脚本 81
3.4.1 以Transact-SQL脚本方式生成架构 81
3.4.2 生成脚本文件 81
3.5 推荐操作 82
实验 创建数据类型和表 82
练习1 创建用户自定义数据类型 83
练习2 在ClassNorthwind数据库中创建表 84
练习3 添加和删除列 86
练习4 生成Transact-SQL脚本 86
练习5 在ClassNorthwind数据库中加载数据 87
习题 87
第4章 实现数据完整性 89
4.1 数据完整性的类型 89
4.1.1 域完整性 90
4.1.2 实体完整性 90
4.1.3 引用完整性 90
4.2 强制数据完整性 90
4.2.1 由声明保证的数据完整性 90
4.2.2 由代码保证的数据完整性 90
4.3 定义约束 90
4.3.1 决定使用何种约束 91
4.3.2 创建约束 91
4.3.3 使用约束的注意事项 93
4.4 约束的类型 93
4.4.1 DEFAULT约束 93
4.4.2 CHECK约束 95
4.4.3 PRIMARY KEY约束 97
4.4.4 UNIQUE约束 98
4.4.5 FOREIGN KEY约束 102
4.4.6 级联引用完整性 103
4.5 禁用约束 108
4.5.1 禁用在现有数据上的约束检查 108
4.5.2 在加载新数据时禁用约束检查 108
4.6 使用默认值和规则 109
4.7 决定使用何种强制方法 112
4.8 推荐操作 112
实验 实现数据完整性 113
练习1 定义DEFAULT约束 114
练习2 定义CHECK约束 115
练习3 定义PRIMARY KEY约束 116
练习4 定义FOREIGN KEY约束 116
可选 创建默认值和规则 117
习题 118
第5章 Transact-SQL介绍 121
5.1 Transact-SQL编程语言 121
5.2 Transact-SQL语句的种类 122
5.2.1 数据定义语言(DDL)语句 123
5.2.2 数据控制语言(DCL)语句 124
5.2.3 数据操作语言(DML)语句 125
5.3 Transact-SQL语法的要素 125
5.3.1 批处理命令 125
5.3.2 注释语句 126
5.3.3 标识符 127
5.3.4 标识符的命名原则 129
5.3.5 数据类型 129
5.3.6 变量 130
5.3.7 函数 132
5.3.8 系统函数示例 140
5.3.9 运算符 141
5.3.10 表达式 143
5.3.11 流控制的语言元素 143
5.3.12 保留的关键字 145
实验 使用SQL Server联机丛书 145
练习 使用SQL Server联机丛书 146
习题 148
第6章 使用Transact-SQL查询工具 150
6.1 SQL查询分析器 150
6.2 使用SQL查询分析器中的对象浏览器工具 151
6.3 使用SQL查询分析器中的模板 151
6.4 使用osql实用工具 152
6.4.1 启动osql命令行实用工具 152
6.4.2 使用交互模式 152
6.4.3 使用脚本执行模式 152
6.4.4 使用扩展的osql脚本命令 153
6.5 执行Transact-SQL语句 153
6.5.1 动态构造语句 153
6.5.2 使用批处理 155
6.5.3 使用脚本 159
6.6 推荐操作 159
实验 创建并执行Transact-SQL脚本 159
练习1 编写基本SELECT语句 160
练习2 修改脚本文件 161
练习3 使用osql实用工具执行脚本 162
习题 162
第7章 检索数据 164
7.1 使用SELECT语句检索数据 164
7.1.1 使用SELECT语句 164
7.1.2 指定列 165
7.1.3 使用WHERE子句指定行 166
7.2 过滤数据 167
7.2.1 使用比较运算符 167
7.2.2 使用字符串比较符 168
7.2.3 使用逻辑运算符 170
7.2.4 检索一定范围内的值 171
7.2.5 使用值列表作为搜索条件 172
7.2.6 检索未知值 174
7.3 设置结果集格式 174
7.3.1 对数据进行排序 174
7.3.2 消除重复行 176
7.3.3 改变列名 178
7.3.4 使用字面值 179
7.4 查询处理 179
7.5 自动地缓存查询 180
7.6 需要考虑的性能问题 183
7.7 推荐操作 183
实验 检索数据并操作结果集 184
练习1 检索数据 185
练习2 操作结果集 189
练习3 使用系统函数 192
习题 193
第8章 数据分组与汇总 196
8.1 使用TOPn列出前n个记录 196
8.2 使用聚合函数 197
8.3 GROUP BY的基础知识 202
8.3.1 使用GROUP BY子句 202
8.3.2 联合使用GROUP BY子句和HAVING子句 204
8.4 在结果集中生成汇总值 206
8.4.1 使用带有ROLLUP运算符的GROUP BY子句 206
8.4.2 使用带有CUBE运算符的GROUP BY子句 209
8.4.3 使用GROUPING函数 210
8.5 使用COMPUTE和COMPUTE BY子句 213
8.5.1 生成某一列的明细值和汇总值的报表 213
8.5.2 为组中的子集生成明细值和汇总值的报表 214
8.6 推荐操作 215
实验 数据分组和汇总 216
练习1 使用TOPn关键字 217
练习2 使用GROUP BY子句和HAVING子句 219
练习3 使用ROLLUP子句和CUBE运算符 222
练习4 使用COMPUTE和COMPU-TE BY子句 224
习题 227
第9章 多表联接 229
9.1 使用表的别名 229
9.2 命名列 230
9.3 组合多个表中的数据 230
9.3.1 联接概述 230
9.3.2 使用内联接 232
9.3.3 使用外联接 235
9.3.4 使用交叉联接 237
9.3.5 联接两个以上的表 239
9.3.6 自联接(Self-Join) 241
9.4 合并多个结果集 245
9.5 推荐操作 246
实验 查询多个表 247
练习1 联接表 248
练习2 使用UNION运算符合并结果集 251
习题 253
第10章 子查询 256
10.1 子查询介绍 256
10.1.1 使用子查询的原因 256
10.1.2 使用联接查询而不使用子查询的原因 256
10.1.3 子查询的使用方法 256
10.2 把子查询用做派生表 257
10.3 把子查询用做表达式 257
10.4 使用子查询关联数据 258
10.4.1 计算一个相关子查询 258
10.4.2 模拟JOIN子句 261
10.4.3 模拟HAVING子句 263
10.5 使用EXISTS和NOT EXISTS子句 264
10.5.1 和关联子查询一起使用 264
10.5.2 判断某个值是否存在于值的列表中 264
10.5.3 SQL Server进程 264
10.6 推荐操作 265
实验 使用子查询 266
练习1 把子查询用做派生表 267
练习2 把子查询用做表达式 270
练习3 使用子查询关联数据 273
习题 274
第11章 修改数据 276
11.1 使用事务 276
11.1.1 启动事务 276
11.1.2 结束事务 276
11.2 插入数据 277
11.2.1 用Values子句插入一行数据 277
11.2.2 使用INSERT...SELECT语句 278
11.2.3 使用SELECT INTO语句创建表 279
11.2.4 插入部分数据 281
11.2.5 使用列缺省值插入数据 282
11.3 删除数据 283
11.3.1 使用DELETE语句 283
11.3.2 使用TRUNCATE TABLE语句 284
11.3.3 删除基于其他表的行 285
11.4 更新数据 286
11.4.1 根据表中数据更新行 286
11.4.2 根据其他表更新行 287
11.5 性能考虑 289
11.6 推荐操作 289
实验修改数据 289
练习1 使用INSERT语句 291
练习2 使用包含DEFAULT关键字的INSERT语句 292
练习3 使用包含DEFAULT VALUES关键字的INSERT语句 294
练习4 使用DELETE语句 295
练习5 使用UPDATE语句 296
练习6 根据其他表的数据修改现有表 297
习题 299
第12章 全文索引查询 301
12.1 Microsoft Search服务介绍 301
12.2 Microsoft Search服务组件 301
12.2.1 搜索服务结构 301
12.2.2 搜索服务功能 302
12.3 获取全文索引的信息 302
12.4 编写全文查询 304
12.4.1 CONTAINS谓词 304
12.4.2 FREETEXT谓词 306
12.4.3 CONTAINSTABLE和FREETEXTTABLE函数 306
12.4.4 使用全文关键字 307
12.5 推荐操作 308
12.6 全文索引的性能考虑事项 308
实验 全文索引查询 309
练习1 获得关于全文索引的信息 311
练习2 编写全文查询 312
习题 314
第13章 规划索引 316
13.1 索引介绍 316
13.1.1 SQL Server存储和访问数据的方法 316
13.1.2 使用索引的场合 317
13.2 索引架构 318
13.2.1 使用堆 318
13.2.2 使用聚集索引 318
13.2.3 使用非聚集索引 319
13.3 SQL Server检索存储的数据的方法 319
13.3.1 SQL Server中sysindexes表的使用 319
13.3.2 不使用索引查找行 320
13.3.3 使用非聚集索引在堆中查找行 320
13.3.4 在聚集索引中查找行 321
13.3.5 使用基于聚集索引的非聚集索引查找行 322
13.4 SQL Server维护索引和堆结构的方法 323
13.4.1 索引中的页拆分 323
13.4.2 堆中的转向指针 324
13.4.3 SQL Server更新行的方法 325
13.4.4 SQL Server删除行的方法 325
13.5 决定需要索引的列 326
13.5.1 数据 326
13.5.2 使用索引的指导原则 327
13.5.3 选择合适的聚集索引 327
13.5.4 使用索引以支持查询 328
13.5.5 决定选择性 328
13.5.6 决定密度 330
13.5.7 决定数据分布 331
13.6 推荐操作 332
实验 决定一个表的索引 332
练习1 使用sp_help识别索引 334
练习2 查看sysindexes表中的项 334
习题 335
第14章 创建和维护索引 337
14.1 创建索引 337
14.1.1 创建和删除索引 337
14.1.2 创建惟一索引 338
14.1.3 创建组合索引 340
14.1.4 在计算列上创建索引 341
14.1.5 获得现有索引的信息 342
14.2 创建索引时的选项 342
14.2.1 使用FILLFACTOR选项 342
14.2.2 使用PAD_INDEX选项 344
14.3 维护索引 344
14.3.1 数据碎片 344
14.3.2 DBCC SHOWCONTIG语句 345
14.3.3 DBCC INDEXDEFRAG语句 347
14.3.4 DROP_EXISTING选项 348
实验A 创建和维护索引 349
练习1 创建索引 350
练习2 检查索引结构 352
14.4 统计信息介绍 354
14.4.1 统计信息的收集方法 355
14.4.2 统计信息的存储方法 355
14.4.3 创建统计信息 356
14.4.4 更新统计信息 357
14.4.5 查看统计信息 358
14.5 查询sysindexes表 359
14.6 用索引优化向导设置索引 360
14.6.1 确定何时使用索引优化向导 360
14.6.2 确定怎样使用索引优化向导 360
14.7 性能考虑 361
14.8 推荐操作 361
实验B 查看索引统计信息 362
练习1 检查索引的使用 363
练习2 查看索引统计信息和评估索引选择性 366
习题 367
第15章 实现视图 370
15.1 视图介绍 370
15.2 视图的优点 371
15.3 定义视图 372
15.3.1 创建视图 372
15.3.2 示例:联接表的视图 374
15.3.3 更改和删除视图 375
15.3.4 避免破坏所有权链 376
15.3.5 查找视图定义信息 377
15.3.6 隐藏视图定义 377
15.4 通过视图修改数据 378
15.5 使用视图优化性能 379
15.5.1 性能考虑 379
15.5.2 使用索引视图 380
15.5.3 使用视图来分区数据 382
15.6 推荐操作 382
实验 实现视图 383
练习1 创建和测试视图 384
练习2 加密视图的定义 386
练习3 通过视图修改数据 387
练习4 查找视图定义 387
习题 388
第16章 实现存储过程 390
16.1 存储过程介绍 390
16.1.1 定义存储过程 390
16.1.2 存储过程的初始处理 391
16.1.3 存储过程的后续处理 392
16.1.4 存储过程的优点 394
16.2 创建、执行、修改和删除存储过程 395
16.2.1 创建存储过程 395
16.2.2 创建存储过程的指导原则 396
16.2.3 执行存储过程 398
16.2.4 修改和删除存储过程 399
实验A 创建存储过程 401
练习1 编写和执行存储过程 402
练习2 查找存储过程的信息 403
16.3 在存储过程中使用参数 404
16.3.1 使用输入参数 404
16.3.2 使用输入参数执行存储过程 405
16.3.3 使用输出参数返回值 406
16.3.4 显式地重新编译存储过程 407
16.4 执行扩展存储过程 408
16.5 错误信息处理 409
16.6 性能考虑 413
16.7 推荐操作 414
实验B 创建带参数的存储过程 414
练习1 使用创建存储过程向导 416
练习2 在存储过程中使用错误处理 417
练习3 定制错误信息 418
可选 使用返回代码 419
习题 420
第17章 实现用户定义函数 423
17.1 用户定义函数 423
17.2 用户定义函数的定义 424
17.2.1 创建用户定义函数 424
17.2.2 创建架构绑定函数 426
17.2.3 为用户定义函数设置权限 426
17.2.4 更改和删除用户定义函数 426
17.3 用户定义函数示例 427
17.3.1 使用标量用户定义函数 427
17.3.2 标量用户定义函数示例 428
17.3.3 使用多语句表值函数 429
17.3.4 多语句表值函数示例 429
17.3.5 使用内嵌表值函数 430
17.3.6 内嵌表值函数示例 430
17.4 推荐操作 431
实验 创建用户定义函数 432
练习1 创建标量用户定义函数 434
练习2 创建多语句表值用户定义函数 435
练习3 创建内嵌表值用户定义函数 435
习题 436
第18章 实现触发器 437
18.1 触发器介绍 437
18.1.1 触发器 437
18.1.2 触发器的使用 438
18.1.3 使用触发器的考虑事项 439
18.2 定义触发器 441
18.2.1 创建触发器 441
18.2.2 更改和删除触发器 442
18.3 触发器的工作过程 444
18.3.1 INSERT触发器的工作过程 444
18.3.2 DELETE触发器的工作过程 445
18.3.3 UPDATE触发器的工作过程 445
18.3.4 INSTEAD OF触发器的工作过程 446
18.3.5 嵌套触发器的工作过程 447
18.3.6 递归触发器 449
18.4 触发器示例 450
18.4.1 强制数据完整性 450
18.4.2 强制业务规则 451
18.5 性能考虑 451
18.6 推荐操作 452
实验 创建触发器 452
练习1 创建触发器 453
练习2 创建触发器以更新派生数据 454
练习3 创建触发器以维护复杂的业务规则 455
练习4 测试约束和触发器的触发顺序 456
习题 456
第19章 多服务器编程 458
19.1 分布式查询介绍 458
19.2 在远程数据源上执行特殊查询 459
19.3 设置链接服务器环境 461
19.3.1 链接到远程数据源 462
19.3.2 建立链接服务器安全性 463
19.3.3 配置链接服务器选项 464
19.3.4 获得关于链接服务器的信息 466
19.4 在链接服务器上执行查询 467
19.4.1 使用链接服务器 467
19.4.2 执行链接服务器查询 468
19.4.3 执行直接传递查询 469
19.5 在链接服务器上执行存储过程 469
19.6 管理分布式事务 470
19.6.1 使用MS DTC管理分布式事务 470
19.6.2 通过使用组件服务管理分布式事务 470
19.6.3 分布式数据处理 470
19.7 修改链接服务器上的数据 471
19.8 使用分区视图 472
19.8.1 分区视图的要求 472
19.8.2 分区视图的工作原理 473
19.8.3 实现分布式分区视图 474
19.8.4 分区数据的考虑事项 474
19.9 推荐操作 475
实验 使用分布式数据 475
练习1 设置链接服务器 476
练习2 查询远程数据 478
可选 管理分布式事务 481
习题 483
第20章 优化查询性能 485
20.1 查询优化器介绍 485
20.1.1 查询优化器的功能 485
20.1.2 查询优化器使用基于成本的优化 486
20.1.3 查询优化器工作过程 488
20.1.4 查询优化阶段 488
20.1.5 缓存执行计划 490
20.1.6 设置成本限制 492
20.2 获得执行计划信息 493
20.2.1 查看STATISTICS语句输出 493
20.2.2 查看SHOWPLAN_ALL和SHOWPLAN_TEXT输出 494
20.2.3 以图形方式查看执行计划 495
20.3 使用索引来覆盖查询 498
20.3.1 覆盖查询的索引介绍 498
20.3.2 使用覆盖查询的索引定位数据 499
20.3.3 识别可以用来覆盖查询的索引 501
20.3.4 确定是否使用索引覆盖查询 502
20.3.5 创建覆盖查询的索引的指导原则 502
20.4 索引策略 503
20.4.1 估算访问一定范围数据的查询所使用的I/O数量 503
20.4.2 多查询的索引 504
20.4.3 创建索引的指导原则 505
20.5 替代查询优化器 506
20.5.1 确定何时替代查询优化器 506
20.5.2 使用提示和SET FORCEPLAN语句 506
20.5.3 替代查询优化器之后确认查询性能 508
20.6 推荐操作 509
实验 优化查询性能 509
练习1 使用图形执行计划确定如何解析查询 511
练习2 比较索引覆盖的查询与索引未覆盖的查询之间的I/O 512
练习3 比较检索一定范围内数据的查询所需的I/O数量 514
可选 利用优化程序提示强制使用索引或联接 517
习题 518
第21章 分析查询 521
21.1 使用AND运算符的查询 521
21.1.1 处理AND运算符 521
21.1.2 索引定义的原则和性能考虑 522
21.2 使用OR运算符的查询 522
实验A 分析使用AND和OR运算符的查询 522
练习1 评估使用部分索引的查询 524
练习2 评估使用全部索引的查询 528
练习3 评估使用IN关键字的查询 533
练习4 评估包含嵌套SELECT语句的查询 535
练习5 评估包含OR运算符的查询 538
21.3 使用联接操作的查询 542
21.3.1 JOIN子句的选择性和密度 542
21.3.2 联接的处理 544
21.3.3 嵌套循环联接的处理 545
21.3.4 使用合并联接的考虑事项 547
21.3.5 哈希联接的处理 549
21.4 推荐操作 551
实验B 分析使用不同联接策略的查询 551
练习1 处理嵌套循环联接 552
练习2 处理合并联接 554
练习3 处理哈希联接 556
习题 557
第22章 管理事务和锁 560
22.1 事务和锁介绍 560
22.2 管理事务 561
22.2.1 SQL Server事务 562
22.2.2 事务恢复和检查点 563
22.2.3 使用事务的考虑事项 563
22.2.4 设定隐性事务选项 565
22.2.5 用户定义事务的限制 566
22.3 SQL Server的锁定 567
22.3.1 锁防止的并发问题 567
22.3.2 可锁定的资源 567
22.3.3 锁的类型 568
22.3.4 锁的兼容性 571
22.4 管理锁 572
22.4.1 会话级锁定选项 573
22.4.2 动态锁定架构 574
22.4.3 表级锁定选项 575
22.4.4 死锁 576
22.4.5 显示锁定信息 578
22.5 推荐操作 579
实验 管理事务和锁 580
练习1 创建和执行事务 581
练习2 回滚事务 582
练习3 查看锁定信息 582
练习4 设置锁定选项 583
习题 584
词汇表 586
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《Power BI数据清洗与可视化交互式分析》陈剑 2020
- 《全国高等中医药行业“十三五”创新教材 中医药学概论》翟华强 2019
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《习近平总书记教育重要论述讲义》本书编写组 2020
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《高等数学试题与详解》西安电子科技大学高等数学教学团队 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《教育学考研应试宝典》徐影主编 2019
- 《语文教育教学实践探索》陈德收 2018
- 《家庭音乐素养教育》刘畅 2018