第1章 数据库系统引论 1
1.1 数据库系统概述 1
1.1.1 几个重要概念 3
1.1.2 数据管理技术的发展 5
1.1.3 数据库系统的特点 7
1.2 数据模型 8
1.2.1 数据模型的概念 8
1.2.2 概念模型 9
1.2.3 层次模型 12
1.2.4 网状模型 12
1.2.5 关系模型 13
1.3 数据库体系结构 14
1.3.1 数据库系统模式的概念 15
1.3.2 数据库系统的三级模式和两级映像 16
1.3.3 数据库系统的组成 17
1.3.4 数据库管理系统(DBMS)的功能 18
1.4 数据库技术的发展 19
1.4.1 数据库发展特点 19
1.4.2 分布式数据库系统 20
1.4.3 XML数据库 20
习题1 22
第2章 关系数据库 25
2.1 关系模型的基本术语及形式化定义 25
2.1.1 基本术语 26
2.1.2 关系的概念及性质 28
2.1.3 关系模式 28
2.1.4 关系数据库 29
2.2 关系的完整性 30
2.2.1 实体完整性 31
2.2.2 参照完整性 31
2.2.3 用户定义的完整性 32
2.3 关系代数 33
2.3.1 传统的集合运算 33
2.3.2 专门的关系运算 34
习题2 41
第3章 关系数据库标准语言——SQL 44
3.1 SQL概述 44
3.1.1 SQL的产生与发展 44
3.1.2 SQL的特点 44
3.2 数据的定义 45
3.2.1 模式的定义与删除 45
3.2.2 基本表的定义、删除与修改 46
3.2.3 索引的定义与删除 49
3.3 数据查询 50
3.3.1 单表查询 51
3.3.2 联接查询 55
3.3.3 嵌套查询 56
3.3.4 集合查询 60
3.3.5 SELECT语句的书写规范 61
3.4 数据的更新 62
3.4.1 数据的插入 62
3.4.2 数据的修改 63
3.4.3 数据的删除 64
3.5 视图 64
3.5.1 视图的定义 65
3.5.2 视图的查询 66
3.5.3 视图的更新 66
3.5.4 视图的作用 66
3.6 存储过程 67
3.6.1 存储过程的概念、优点与分类 67
3.6.2 创建存储过程 68
3.6.3 查看存储过程 68
3.6.4 重新命名存储过程 69
3.6.5 删除存储过程 69
3.6.6 执行存储过程 69
3.6.7 修改存储过程 70
习题3 71
第4章 数据库的安全性 74
4.1 数据库安全性概述 74
4.2 数据库安全性控制 75
4.2.1 用户标识与鉴别 75
4.2.2 存取控制 76
4.2.3 授权与回收 76
4.2.4 数据库角色 79
4.2.5 自主存取控制与强制存取控制 79
4.3 视图机制 80
4.4 审计 81
4.5 数据加密 82
4.5.1 加密的原理和方法 83
4.5.2 数据加密标准 85
4.5.3 公钥加密 85
4.5.4 常用的数据库加密方法 85
4.6 统计数据库安全性 87
习题4 88
第5章 数据库的完整性 89
5.1 实体完整性 90
5.1.1 实体完整性定义 90
5.1.2 实体完整性检查和违约处理 91
5.2 参照完整性 92
5.2.1 参照完整性定义 92
5.2.2 参照完整性检查和违约处理 93
5.3 用户定义的完整性 95
5.3.1 限制属性取值的约束条件的定义 95
5.3.2 元组上约束条件的定义 96
5.3.3 约束条件的检查和违约处理 97
5.4 完整性约束命名子句 97
5.5 触发器 98
5.5.1 触发器的概念及作用 98
5.5.2 SQL Server 2005触发器概述 99
5.5.3 DML触发器的创建和应用 100
5.5.4 DDL触发器的创建和应用 104
5.5.5 查看、修改和删除触发器 107
5.6 小结 109
习题5 109
第6章 关系数据库的规范化 112
6.1 为什么要规范化 112
6.1.1 规范化理论相关的基本概念 112
6.1.2 异常问题 113
6.2 函数依赖 116
6.2.1 函数依赖的定义 116
6.2.2 函数依赖的逻辑蕴涵 119
6.2.3 关系的码 120
6.3 范式 121
6.3.1 什么是范式 121
6.3.2 第一范式(1NF) 122
6.3.3 第二范式(2NF) 123
6.3.4 第三范式(3NF) 124
6.3.5 BC范式(BCNF) 124
6.3.6 多值依赖 128
6.3.7 第四范式(4NF) 131
6.3.8 规范化小结 132
6.4 关系模式的分解 133
6.4.1 模式分解的三条准则 133
6.4.2 无损连接分解 135
6.4.3 无损分解的测试算法 136
6.4.4 保持函数依赖的分解 138
习题6 139
第7章 数据库设计 144
7.1 数据库设计概述 144
7.1.1 数据库和信息系统 144
7.1.2 数据库设计的特点与方法 145
7.1.3 数据库设计的基本步骤 147
7.2 需求分析 149
7.2.1 需求分析的任务 150
7.2.2 需求分析的步骤和方法 151
7.2.3 数据字典 152
7.2.4 编制需求说明书 154
7.2.5 数据库设计的案例分析——“BS论坛”的需求分析 155
7.3 概念结构设计 156
7.3.1 概念结构设计的必要性和特点 156
7.3.2 概念结构设计的方法与步骤 156
7.3.3 数据抽象与局部E-R模型设计 158
7.3.4 视图的集成 166
7.4 逻辑结构设计 172
7.4.1 E-R图向关系模型的转换 172
7.4.2 向特定DBMS规定的模型进行转换 176
7.4.3 数据模型的优化 176
7.4.4 设计用户子模式 178
7.5 数据库的物理设计 179
7.5.1 数据库的物理设计的内容和方法 179
7.5.2 关系模式存取方法选择 179
7.5.3 确定数据库的存储结构 181
7.5.4 评价物理结构 182
7.6 数据库的实施 182
7.6.1 定义数据库结构 182
7.6.2 数据装载 183
7.6.3 编制与调试应用程序 184
7.6.4 数据库试运行 184
7.7 数据库运行与维护 185
7.8 小结 186
习题7 186
第8章 数据库恢复技术 191
8.1 数据库恢复概述 191
8.1.1 事务的概念和特性 193
8.1.2 故障的种类 195
8.2 恢复的实现技术与策略 196
8.2.1 数据转储 196
8.2.2 登记日志文件 198
8.2.3 恢复策略 199
8.3 具有检查点的恢复技术 200
8.4 数据库镜像 202
习题8 203
第9章 并发控制 205
9.1 并发控制概述 205
9.2 封锁 207
9.2.1 封锁的概念 207
9.2.2 活锁 207
9.2.3 死锁 208
9.3 并发调度的可串行性 210
9.3.1 可串行化调度 210
9.3.2 冲突可串行化调度 210
9.4 两段锁协议 211
9.5 封锁的粒度 211
9.5.1 多粒度封锁 211
9.5.2 意向锁 212
习题9 212
第10章 数据库应用程序的开发系统案例分析 213
10.1 需求分析 213
10.1.1 案例的应用背景 213
10.1.2 系统可行性分析 214
10.1.3 系统的设计目标 214
10.1.4 具体系统的业务过程及功能要求 214
10.1.5 数据流图 215
10.2 数据库设计 220
10.2.1 概念结构设计 220
10.2.2 逻辑结构设计 222
10.2.3 物理设计 223
10.3 案例的应用程序设计 224
10.3.1 总体设计 224
10.3.2 初始用户界面设计 225
10.3.3 系统功能模块设计 226
10.4 系统实现 228
10.4.1 各用户界面的实现 228
10.4.2 C#访问数据库的方式 228
10.4.3 与SQL Server数据库的连接 229
10.4.4 主要程序代码的实现 230
10.5 数据库与应用系统的实施、运行维护 241
10.5.1 系统运行维护 241
10.5.2 数据库备份 243
10.5.3 系统测试及出现的问题 243
10.5.4 系统的优、缺点分析 245
10.6 用户系统使用说明书 246
第11章 “数据库应用程序课程设计”实验指导 247
11.1 课程设计的目的和要求 247
11.2 课程设计的实验内容 247
11.2.1 需求分析 247
11.2.2 总体模块设计 248
11.2.3 详细设计 249
11.2.4 编码、测试 250
11.2.5 调试、评价总结 251
11.2.6 课程设计参考课题 252
第12章 “数据库系统原理”实验 253
12.1 实验教学大纲 253
12.1.1 熟悉SQL Server2005环境及数据库文件管理 255
12.1.2 表和表数据的操作 262
12.1.3 关系、索引和视图 267
12.1.4 约束、默认和规则 269
12.1.5 T-SQL程序设计 271
12.1.6 存储过程和触发器 273
12.1.7 数据库备份、恢复、安全管理 275
12.2 “数据库系统原理”实验课程教案 277
12.2.1 教案1 277
12.2.2 教案2 279
12.2.3 教案3 281
12.2.4 教案4 283
12.2.5 教案5 286
12.2.6 教案6 288
12.2.7 教案7 289
12.2.8 教案8 293
第13章 习题答案 297
习题1 297
习题2 299
习题3 300
习题4 303
习题5 304
习题6 310
习题7 316
习题8 320
习题9 321
参考文献 323