第1章 数据库系统概论 1
1.1 引言 1
1.1.1 数据与信息 1
1.1.2 数据处理和数据管理 2
1.1.3 数据库技术基本概念 2
1.2 数据库技术的发展 5
1.2.1 人工管理阶段 5
1.2.2 文件系统阶段 5
1.2.3 数据库阶段 6
1.3 数据模型 7
1.3.1 实体联系模型 8
1.3.2 层次模型 10
1.3.3 网状模型 10
1.3.4 关系模型 11
1.4 关系模型与关系数据库 13
1.4.1 关系的数学定义 13
1.4.2 关系代数基础 15
1.5 数据库体系结构 19
1.5.1 体系结构中的要素 20
1.5.2 数据的独立性 22
1.5.3 数据库系统工作流程 22
1.6 SQL Server 2005数据库系统概述 23
1.6.1 SQL Server 2005数据库的发展 23
1.6.2 SQL Server 2005体系结构 24
1.6.3 SQL Server 2005的新特性 26
本章小结 29
思考练习题 29
第2章 SQL Server 2005安装与常用工具 30
2.1 SQL Server 2005的安装 30
2.1.1 SQL Server 2005安装环境的配置 30
2.1.2 SQL Server 2005安装过程 32
2.1.3 SQL Server 2005卸载 39
2.2 SQL Server 2005系统数据库 40
2.2.1 系统数据库 41
2.2.2 SQL Server 2005系统表 42
2.2.3 SQL Server 2005系统存储过程 44
2.3 SQL Server 2005常用工具 45
2.3.1 管理控制台 45
2.3.2 配置工具 57
2.3.3 商业智能开发平台 63
本章小结 69
思考练习题 70
第3章 SQL语言基础 71
3.1 SQL语言概述 71
3.1.1 SQL语言历史 71
3.1.2 SQL语言特点 72
3.1.3 SQL语言分类 73
3.1.4 SQL数据库体系结构 73
3.2 Transact-SQL语言基础 74
3.2.1 Transact-SQL语言分类 74
3.2.2 数据类型 75
3.2.3 常量与变量 78
3.2.4 运算符 84
3.2.5 使用SQL Server Management Studio查询分析器 86
3.3 Transact-SQL函数 89
3.3.1 聚合函数 90
3.3.2 配置函数 92
3.3.3 日期和时间函数 94
3.3.4 字符串函数 96
3.3.5 数学函数 99
3.3.6 数据类型转换函数 100
3.3.7 用户自定义函数 101
3.4 流程控制语句 104
3.4.1 BEGIN…END语句 104
3.4.2 IF…ELSE语句 105
3.4.3 CASE语句 107
3.4.4 WHILE语句 108
3.4.5 BREAK和CONTINUE语句 109
3.4.6 RETURN语句 109
3.4.7 PRINT语句 110
3.4.8 WAITFOR语句 110
本章小结 111
思考练习题 111
第4章 创建与管理数据库 112
4.1 数据库的逻辑结构 112
4.1.1 SQL Server数据库的逻辑结构 112
4.1.2 SQL Server数据库的物理结构 113
4.2 创建数据库 117
4.2.1 使用DDL语句创建数据库 118
4.2.2 使用SQL Server Management Studio创建数据库 120
4.3 修改数据库 124
4.3.1 使用Transact-SQL语句修改数据库 124
4.3.2 使用SQL Server Management Studio修改数据库属性 128
4.4 删除数据库 130
4.4.1 使用Transact-SQL语句删除数据库 130
4.4.2 使用SQL Server Management Studio删除数据库 130
4.5 数据库的扩展与收缩 131
4.5.1 扩展数据库 131
4.5.2 收缩数据库 132
4.6 附加和分离数据库 137
4.6.1 分离数据库 137
4.6.2 附加数据库 140
4.6.3 分离与附加数据库的作用 143
本章小结 146
思考练习题 146
第5章 创建与管理表 148
5.1 创建表 148
5.1.1 表的结构 148
5.1.2 表的创建 149
5.2 修改表的结构 156
5.2.1 使用Transact-SQL修改表 156
5.2.2 使用Management Studio修改表 162
5.3 表的删除 167
5.3.1 使用Transact-SQL语句删除表 167
5.3.2 使用Management Studio删除表 169
5.4 数据查询与更新 171
5.4.1 使用Transact-SQL进行数据查询 171
5.4.2 使用Transact-SQL进行数据插入 174
5.4.3 使用Transact-SQL进行数据更新 178
5.4.4 使用Transact-SQL进行数据删除 182
5.4.5 使用SSMS工具快速对表中数据查询与更新 182
本章小结 185
思考练习题 185
第6章 创建与管理其他数据库对象 187
6.1 视图 187
6.1.1 视图的基本概念 187
6.1.2 视图的创建 188
6.1.3 视图的管理 192
6.1.4 使用视图 196
6.2 索引 199
6.2.1 索引的基本概念 199
6.2.2 索引及其分类 202
6.2.3 创建与管理索引 206
6.3 存储过程 212
6.3.1 存储过程的类型与特点 213
6.3.2 用户自定义存储过程的创建 214
6.3.3 管理存储过程 218
6.4 触发器 223
6.4.1 触发器基本概念 224
6.4.2 创建触发器 224
6.4.3 管理触发器 226
6.4.4 DML触发器的使用 228
6.4.5 DDL触发器 230
6.5 游标控制 232
6.5.1 游标的基本概念 232
6.5.2 游标的创建和使用 233
本章小结 237
思考练习题 237
第7章 SQL Server数据查询 239
7.1 数据查询语法表达式 239
7.1.1 简化的查询表达式 239
7.1.2 完整的SQL Server查询语法 240
7.2 简单数据查询 240
7.2.1 列的选择 241
7.2.2 查询结果排序 244
7.2.3 查询结果分组 245
7.2.4 使用WHERE子句筛选结果 247
7.2.5 使用TOP子句 248
7.2.6 使用INTO关键字指定查询结果的输出目的地 249
7.3 复杂查询 250
7.3.1 连接查询 250
7.3.2 集合查询 255
7.4 子查询 257
7.4.1 简单子查询 258
7.4.2 复杂子查询 259
7.4.3 子查询中的谓词 260
7.5 数据透视表 264
本章小结 269
思考练习题 269
第8章 数据库保护 271
8.1 数据库系统安全性 271
8.1.1 安全性基本概念 271
8.1.2 数据库安全管理机制 272
8.1.3 视图、审计与数据加密 274
8.1.4 SQL Server 2005的安全概述 274
8.1.5 SQL Server 2005的登录和用户 277
8.1.6 SQL Server 2005中的权限设定 281
8.1.7 SQL Server 2005数据加密 284
8.2 数据完整性 288
8.2.1 数据完整性类型 288
8.2.2 完整性约束 289
8.2.3 完整性控制 292
8.3 事务处理与并发控制 293
8.3.1 事务处理的基本概念 293
8.3.2 并发控制 295
8.4 数据库恢复 298
8.4.1 数据库恢复的基本概念 298
8.4.2 故障类型及其恢复 299
8.5 SQL Server 2005数据库恢复的实现 300
8.5.1 数据库恢复模式 300
8.5.2 备份操作 301
8.5.3 还原 304
本章小结 307
思考练习题 307
第9章 数据库设计 308
9.1 数据依赖 308
9.1.1 问题的提出 308
9.1.2 函数依赖 309
9.2 关系模式的规范形式 312
9.2.1 第1范式 312
9.2.2 第2范式 313
9.2.3 第3范式 314
9.2.4 Boyce-Codd范式 315
9.2.5 多值依赖与第4范式 315
9.3 关系模式的规范化 317
9.3.1 函数依赖的公理系统 318
9.3.2 模式分解的算法 320
9.4 数据库系统设计 322
9.4.1 需求分析 324
9.4.2 概念结构设计 327
9.4.3 逻辑设计 330
9.4.4 物理结构设计 334
9.4.5 数据库实施与运行维护 336
本章小结 337
思考练习题 337
第10章 数据库应用与开发技术 339
10.1 数据库访问概述 339
10.1.1 数据库系统的体系结构 339
10.1.2 常用数据库开发工具 342
10.1.3 数据访问接口 342
10.2 CLR数据库对象的创建与使用 358
10.2.1 CLR基本概念 359
10.2.2 CLR对象 360
10.2.3 CLR对象创建与使用示例 361
10.3 网络数据库及其访问技术 365
10.3.1 网络数据库概述 365
10.3.2 网站访问技术简介 366
10.3.3 ASP.NET应用程序开发 368
10.3.4 ASP.NET的Web应用程序开发示例 371
本章小结 381
思考练习题 381
参考文献 383