第1章 数据库系统概述 1
1.1 信息、数据、数据处理与数据管理 2
1.1.1 数据与信息 2
1.1.2 数据处理与数据管理 3
1.2 数据库技术的产生、发展 3
1.3 数据库系统的组成 8
1.4 数据库系统的内部体系结构 10
1.4.1 数据库系统的三级模式结构 10
1.4.2 数据库系统的二级映像与数据独立性 12
1.4.3 数据库系统的三级模式与二级映像的优点 13
1.5 数据库系统的外部体系结构 13
1.6 数据库管理系统 15
1.6.1 DBMS的主要功能 15
1.6.2 DBMS的组成 16
1.6.3 DBMS的数据存取的过程 18
1.7 数据模型 18
1.7.1 数据模型的概念及分类 18
1.7.2 数据模型的组成要素 19
1.8 三个世界及其有关概念 20
1.8.1 现实世界 20
1.8.2 信息世界 20
1.8.3 计算机世界 22
1.9 四种数据模型 22
1.9.1 层次模型 23
1.9.2 网状模型 24
1.9.3 关系模型 25
1.9.4 面向对象模型 28
1.10 数据库领域的新技术 29
1.10.1 分布式数据库 30
1.10.2 数据仓库与数据挖掘技术 32
1.10.3 多媒体数据库 34
1.10.4 大数据技术 35
小结 37
习题 38
第2章 关系数据库 42
2.1 关系模型的数据结构及其形式化定义 43
2.1.1 关系的形式化定义及其有关概念 43
2.1.2 关系的性质 45
2.1.3 关系模式 45
2.1.4 关系数据库与关系数据库模式 46
2.2 关系的码与关系的完整性 47
2.2.1 候选码(键)与主码(键) 47
2.2.2 外码(外部关系键) 48
2.2.3 关系的完整性 48
2.3 关系代数 49
2.3.1 关系代数的分类及其运算符 50
2.3.2 传统的集合运算 50
2.3.3 专门的关系运算 52
2.4 关系演算 56
2.4.1 元组关系演算语言 57
2.4.2 域关系演算语言QBE 61
小结 65
习题 66
第3章 关系数据库标准语言——SQL 69
3.1 SQL的基本概念与特点 70
3.1.1 SQL的发展及标准化 70
3.1.2 SQL的基本概念 70
3.1.3 SQL的主要特点 71
3.2 SQL Server 2012简介 72
3.2.1 SQL Server的发展与版本 72
3.2.2 SQL Server 2012的主要组件 72
3.2.3 SQL Server 2012企业管理器(Management Studio) 73
3.3 数据库的创建和使用 74
3.3.1 数据库的结构 74
3.3.2 SQL Server 2012的系统数据库 75
3.3.3 SQL Server的示例数据库 76
3.3.4 创建用户数据库 76
3.3.5 修改用户数据库 78
3.3.6 删除用户数据库 80
3.3.7 查看数据库信息 81
3.3.8 迁移用户数据库 81
3.4 数据表的创建和使用 83
3.4.1 数据类型 83
3.4.2 创建数据表 85
3.4.3 定义数据表的约束 87
3.4.4 修改数据表 90
3.4.5 删除基本表 92
3.4.6 查看数据表 93
3.5 单关系(表)的数据查询 94
3.5.1 单关系(表)的数据查询结构 94
3.5.2 无条件查询 94
3.5.3 条件查询 96
3.5.4 常用库函数及统计汇总查询 99
3.5.5 分组查询 100
3.5.6 查询结果的排序 101
3.6 多关系(表)的连接查询 101
3.6.1 多关系(表)的连接查询结构 101
3.6.2 内连接查询 102
3.6.3 外连接查询 103
3.6.4 交叉查询 104
3.6.5 自连接查询 104
3.7 子查询 105
3.7.1 普通子查询 105
3.7.2 相关子查询 107
3.8 其他类型查询 108
3.8.1 集合运算查询 108
3.8.2 存储查询结果到表中 109
3.9 数据表中数据的操纵 109
3.9.1 添加数据表中的数据 109
3.9.2 修改数据表中的数据 110
3.9.3 删除数据 112
3.10 视图 113
3.10.1 创建视图 113
3.10.2 修改视图 114
3.10.3 删除视图 115
3.10.4 查询视图 115
3.10.5 更新视图 115
3.11 创建与使用索引 116
3.11.1 索引概述 116
3.11.2 索引的类型 117
3.11.3 创建索引 118
3.11.4 修改索引 119
3.11.5 删除索引 120
3.11.6 查看索引 120
小结 121
习题 121
本章实验 125
第4章 关系数据库理论 130
4.1 规范化问题的提出 131
4.1.1 规范化理论的主要内容 131
4.1.2 不合理的关系模式存在的异常问题 131
4.2 函数依赖 133
4.2.1 函数依赖的定义 133
4.2.2 函数依赖的逻辑蕴涵定义 135
4.2.3 数依赖的推理规则及正确性 135
4.2.4 完全函数依赖与部分函数依赖 138
4.2.5 传递函数依赖 138
4.2.6 属性集的闭包及其算法 138
4.2.7 候选码的求解理论和算法 139
4.2.8 函数依赖推理规则的完备性 141
4.2.9 函数依赖集的等价、覆盖和最小函数依赖集 142
4.3 关系模式的分解 144
4.3.1 模式分解问题 145
4.3.2 无损连接分解 145
4.3.3 无损分解的测试算法 146
4.3.4 保持函数依赖的分解 148
4.4 关系模式的范式 149
4.4.1 第一范式 149
4.4.2 第二范式 150
4.4.3 第三范式 153
4.4.4 BC范式 156
4.4.5 多值依赖与第四范式 159
4.5 关系模式的规范化 163
4.5.1 关系模式规范化的目的和原则 163
4.5.2 关系模式规范化的步骤 163
4.5.3 关系模式规范化的要求 164
小结 166
习题 166
第5章 数据库安全保护 172
5.1 数据库的安全性 173
5.1.1 数据库安全性的含义 173
5.1.2 安全性控制的一般方法 173
5.1.3 SQL Server 2012的数据安全性机制 175
5.1.4 SQL Server 2012的身份验证模式 176
5.1.5 SQL Server 2012的登录账号和服务器角色 178
5.1.6 SQL Server 2012的数据库用户账号和数据库角色 181
5.2 完整性控制 186
5.2.1 数据库完整性的含义 186
5.2.2 完整性规则的组成 186
5.2.3 完整性约束条件的分类 187
5.2.4 数据完整性的实施 188
5.2.5 规则 189
5.2.6 默认 190
5.3 并发控制与封锁 192
5.3.1 数据库并发性的含义 192
5.3.2 事务(Transaction) 192
5.3.3 并发操作与数据的不一致性 193
5.3.4 封锁 195
5.4 数据库的恢复 200
5.4.1 数据库恢复的含义 200
5.4.2 数据库恢复的原理及其实现技术 201
5.4.3 数据库的故障和恢复的策略 202
小结 204
习题 205
本章实验 207
第6章 数据库设计 208
6.1 数据库设计概述 209
6.1.1 数据库设计的任务、内容和特点 209
6.1.2 数据库设计方法简述 210
6.1.3 数据库设计的步骤 211
6.1.4 数据库系统的设计案例描述 214
6.2 系统需求分析 214
6.2.1 需求分析的任务 215
6.2.2 需求分析的方法 216
6.2.3 案例的需求分析 218
6.3 概念结构设计 219
6.3.1 概念结构设计的必要性 219
6.3.2 概念模型的特点 220
6.3.3 概念模型的E-R表示方法 220
6.3.4 概念结构设计的方法与步骤 222
6.3.5 案例的概念结构设计 227
6.4 逻辑结构设计 229
6.4.1 逻辑结构设计的任务和步骤 229
6.4.2 初始关系模式设计 230
6.4.3 关系模式规范化 231
6.4.4 模式评价与改进 231
6.4.5 案例的逻辑结构设计 233
6.5 物理结构设计 234
6.5.1 确定物理结构 234
6.5.2 评价物理结构 236
6.6 数据库实施 236
6.6.1 建立实际数据库结构 236
6.6.2 装入数据 236
6.6.3 应用程序编码与调试 237
6.6.4 数据库试运行 237
6.6.5 整理文档 238
6.7 数据库运行和维护 238
6.7.1 维护数据库的安全性与完整性 238
6.7.2 监测并改善数据库性能 238
6.7.3 重新组织和构造数据库 239
小结 239
习题 240
本章实验 243
第7章 SQL Server 2012高级应用 247
7.1 Transact-SQL程序设计 248
7.1.1 变量 248
7.1.2 运算符 249
7.1.3 批处理 251
7.1.4 流程控制语句 252
7.1.5 常用命令 256
7.1.6 常用函数 259
7.2 存储过程 269
7.2.1 存储过程的概念、优点及分类 269
7.2.2 创建存储过程 271
7.2.3 查看存储过程 273
7.2.4 重新命名存储过程 274
7.2.5 删除存储过程 274
7.2.6 执行存储过程 274
7.2.7 修改存储过程 275
7.3 触发器 276
7.3.1 触发器概述 276
7.3.2 触发器的工作原理 277
7.3.3 创建触发器 278
7.3.4 查看触发器 281
7.3.5 修改触发器 282
7.3.6 删除触发器 283
7.4 备份和还原 283
7.4.1 备份和还原概述 283
7.4.2 创建备份设备 286
7.4.3 备份数据库 288
7.4.4 还原数据库 290
小结 291
习题 291
本章实验 292
SQL Server 2012综合练习 294
参考文献 299