第1章 数据库系统概述 1
1.1 初识数据库 1
1.1.1 数据、信息与数据处理 1
1.1.2 数据管理技术的发展 2
1.1.3 数据库系统的组成 3
1.2 数据模型 4
1.2.1 数据模型概述 4
1.2.2 概念层数据模型 4
1.2.3 组织层数据模型 7
1.3 关系模型 8
1.3.1 关系模型的数据结构 8
1.3.2 关系模型的数据操作 10
1.3.3 关系模型的完整性约束 10
1.4 关系代数基础 11
1.4.1 传统的集合运算 12
1.4.2 专门的关系运算 13
1.4.3 用关系代数实现关系查询 15
1.5 数据库系统的体系结构 16
1.5.1 数据库系统的内部体系结构 16
1.5.2 数据库系统的外部体系结构 18
1.6 常见的关系数据库 18
1.6.1 Access数据库 18
1.6.2 SQL Server数据库 19
1.6.3 MySQL数据库 19
1.6.4 Oracle数据库 19
习题 19
第2章 SQL Server 2008概述 21
2.1 SQL Server 2008简介 21
2.1.1 SQL Server的发展 21
2.1.2 SQL Server 2008版本及系统需求 22
2.1.3 SQL Server 2008的体系结构 23
2.1.4 实例 23
2.2 SQL Server 2008的安装与启动 23
2.2.1 SQL Server 2008的安装 23
2.2.2 SQL Server 2008服务器服务的启动和停止 36
2.3 SQL Server 2008的主要管理工具 37
2.3.1 SQL Server Management Studio 38
2.3.2 SQL Server Analysis Services 39
2.3.3 SQL Server配置管理器 39
2.3.4 SQL Server文档和教程 39
习题 39
第3章 T-SQL基础 40
3.1 T-SQL概述 40
3.1.1 SQL概述 40
3.1.2 T-SQL的发展 40
3.1.3 T-SQL的特点 41
3.1.4 T-SQL的分类 41
3.2 系统提供的数据类型 41
3.2.1 数值类型 41
3.2.2 字符串类型 42
3.2.3 日期和时间类型 43
3.2.4 货币类型 44
3.3 用户自定义数据类型 44
3.3.1 创建用户自定义数据类型 44
3.3.2 删除用户自定义数据类型 45
3.4 T-SQL语法要素 45
3.4.1 标识符 45
3.4.2 常量 45
3.4.3 变量 45
3.4.4 注释 47
3.4.5 批处理 48
3.4.6 脚本 48
3.4.7 运算符与表达式 48
3.5 T-SQL函数 49
3.5.1 数学函数 49
3.5.2 聚合函数 49
3.5.3 时间日期函数 49
3.5.4 字符串函数 50
3.5.5 转换函数 51
3.5.6 其他函数 51
3.6 T-SQL流程控制语句 51
3.6.1 BEGIN...END语句 52
3.6.2 IF...ELSE语句 52
3.6.3 CASE语句 52
3.6.4 WHILE、BREAK和CONTINUE语句 54
习题 54
第4章 创建和管理数据库 56
4.1 SQL Server数据库概述 56
4.1.1 系统数据库 56
4.1.2 数据库的文件和文件组 57
4.1.3 数据库文件的属性 58
4.1.4 常见数据库对象 58
4.2 创建数据库 60
4.2.1 用图形化方法创建数据库 60
4.2.2 用T-SQL语句创建数据库 65
4.2.3 查看和设置数据库选项 69
4.3 修改数据库 72
4.3.1 扩展数据库 72
4.3.2 收缩数据库 73
4.3.3 创建和更改文件组 77
4.3.4 删除数据库 80
4.3.5 分离和附加数据库 81
习题 83
第5章 架构和数据表 85
5.1 创建和管理架构 85
5.1.1 创建架构 85
5.1.2 在架构间传输对象 86
5.1.3 删除架构 86
5.2 创建和管理数据表 87
5.2.1 设计表结构 87
5.2.2 创建数据表 88
5.2.3 修改表结构 91
5.2.4 删除表 92
5.2.5 完整性与约束 93
5.3 分区表 98
5.3.1 基本概念 98
5.3.2 创建分区表 99
习题 103
第6章 数据查询 105
6.1 单表查询 105
6.1.1 查询语句的基本结构 105
6.1.2 对列的查询 106
6.1.3 对行的查询 108
6.1.4 对查询结果排序 112
6.1.5 使用聚合函数 112
6.1.6 对查询结果分组 113
6.1.7 HAVING子句 114
6.1.8 COMPUTE和COMPUTE BY子句 115
6.1.9 使用查询结果创建新表 116
6.2 连接查询 117
6.2.1 内连接 117
6.2.2 自连接 119
6.2.3 外连接 120
6.3 子查询 122
6.3.1 嵌套子查询 122
6.3.2 相关子查询 126
6.3.3 其他形式的子查询 128
6.4 集合查询 129
6.4.1 并运算 130
6.4.2 交运算 131
6.4.3 差运算 131
6.5 添加和管理表数据 132
6.5.1 使用图形化界面管理表数据 132
6.5.2 使用T-SQL语句插入表数据 132
6.5.3 使用T-SQL语句更新表数据 134
6.5.4 使用T-SQL语句删除表数据 135
习题 135
第7章 索引与视图 137
7.1 索引 137
7.1.1 索引的概念与作用 137
7.1.2 索引的存储结构及分类 138
7.1.3 创建索引 140
7.1.4 查看与修改索引 144
7.1.5 删除索引 146
7.2 视图 147
7.2.1 视图的概念与作用 147
7.2.2 创建视图 147
7.2.3 修改视图 153
7.2.4 删除视图 154
7.2.5 使用视图 155
习题 160
第8章 存储过程与触发器和用户自定义函数 161
8.1 存储过程 161
8.1.1 存储过程概述 161
8.1.2 创建存储过程 162
8.1.3 调用存储过程 165
8.1.4 管理存储过程 167
8.1.5 常见的存储过程 169
8.2 触发器 169
8.2.1 触发器概述 169
8.2.2 创建触发器 170
8.2.3 DML触发器示例 173
8.2.4 DDL触发器示例 174
8.2.5 管理触发器 174
8.3 用户自定义函数 176
8.3.1 基本概念 176
8.3.2 创建和调用标量值函数 177
8.3.3 创建和调用内联表值函数 179
8.3.4 创建和调用多语句表值函数 179
8.3.5 查看、修改和删除用户自定义函数 181
习题 183
第9章 事务与游标 184
9.1 事务 184
9.1.1 事务概述 184
9.1.2 管理事务 184
9.1.3 并发操作与数据不一致性 188
9.1.4 锁机制 188
9.2 游标 190
9.2.1 游标的概念 190
9.2.2 游标的操作 190
9.2.3 利用游标修改和删除表数据 194
9.2.4 游标的示例 195
习题 197
第10章 数据库安全性 198
10.1 身份验证模式 198
10.1.1 Windows身份验证 198
10.1.2 混合身份验证 198
10.1.3 设置身份验证模式 199
10.2 登录账户管理 200
10.3 用户管理 208
10.4 权限管理 211
10.4.1 对象权限的管理 212
10.4.2 语句权限的管理 218
10.5 角色管理 227
10.5.1 固定服务器角色 228
10.5.2 固定数据库角色 229
10.5.3 自定义数据库角色 230
10.5.4 应用程序角色 237
习题 237
第11章 数据库备份与恢复 238
11.1 数据库备份 238
11.1.1 备份类型 238
11.1.2 备份策略 239
11.1.3 创建备份设备 240
11.1.4 备份操作 242
11.2 数据库恢复 246
11.2.1 故障类型及恢复模式 246
11.2.2 恢复操作 247
习题 252
第12章 数据库设计 253
12.1 数据库设计概述 253
12.2 需求分析 254
12.2.1 需求分析的方法与步骤 254
12.2.2 数据流图 255
12.2.3 数据字典 256
12.3 概念结构设计 258
12.3.1 概念结构设计的方法与步骤 258
12.3.2 局部E-R模型设计 258
12.3.3 全局E-R模型设计 259
12.3.4 优化全局E-R模型 260
12.4 逻辑结构设计 261
12.4.1 E-R模型向关系模型的转换 261
12.4.2 关系模型的优化 263
12.4.3 设计外模式 263
12.5 函数依赖与关系的规范化 263
12.5.1 问题的提出 264
12.5.2 函数依赖 265
12.5.3 关系规范化 267
12.6 物理结构设计 270
12.6.1 确定数据库存取方法 270
12.6.2 确定数据库存储结构 271
12.7 数据库的实施及维护 272
12.7.1 数据库的实施 272
12.7.2 数据库的运行和维护 272
习题 273
参考文献 275