数据库系统原理 1
第1章 数据库系统基本概念 1
1.1 数据管理技术的发展 1
1.1.1 人工管理阶段 1
1.1.2 文件系统阶段 2
1.1.3 数据库阶段 3
1.1.4 高级数据库阶段 6
1.2 数据描述 6
1.2.1 概念设计中的数据描述 7
1.2.2 逻辑设计中的数据描述 7
1.2.3 物理设计中的数据描述 8
1.2.4 数据联系的描述 9
1.3 数据抽象的级别 11
1.3.1 数据抽象的过程 11
1.3.2 概念模型 12
1.3.3 逻辑模型 13
1.3.4 外部模型 17
1.3.5 内部模型 18
1.3.6 三层模式和两级映像 18
1.3.7 高度的数据独立性 19
1.4 数据库管理系统(DBMS) 20
1.4.1 DBMS的工作模式 20
1.4.2 DBMS的主要功能 21
1.5 数据库系统(DBS) 22
1.5.1 DBS的组成 22
1.5.2 DBS的全局结构 24
1.5.3 DBS的效益 26
小结 26
习题1 27
2.1 数据库系统生存期 29
第2章 数据库设计和ER模型 29
2.1.1 规划阶段 30
2.1.2 需求分析阶段 30
2.1.3 概念设计阶段 31
2.1.4 逻辑设计阶段 32
2.1.5 物理设计阶段 33
2.1.6 数据库的实现 33
2.1.7 数据库的运行与维护 35
2.2 ER模型的基本概念 36
2.2.1 ER模型的基本元素 36
2.2.2 属性的分类 38
2.2.3 联系的设计 40
2.2.4 ER模型的操作 45
2.2.5 采用ER模型的数据库概念设计步骤 46
2.3.1 关系模型的基本术语 52
2.3 关系模型的基本概念 52
2.3.2 关系的定义和性质 53
2.3.3 三类完整性规则 53
2.4 ER模型到关系模型的转换 55
2.4.1 ER图转换成关系模式集的算法 55
2.4.2 采用ER模型的逻辑设计步骤 57
2.5 ER模型实例分析 58
2.5.1 库存管理信息系统的ER模型及转换 58
2.5.2 人事管理信息系统的ER模型 59
2.5.3 住院管理信息系统的ER模型 60
2.5.4 公司车队信息系统的ER模型 61
2.6 增强的ER模型 62
2.6.1 弱实体与强实体 62
2.6.2 子类实体与超类实体 63
习题2 65
小结 65
3.1 关系模式的设计准则 68
3.1.1 关系模式的冗余和异常问题 68
第3章 关系模式设计理论 68
3.1.2 关系模式的非形式化设计准则 70
3.2 函数依赖 70
3.2.1 函数依赖的定义 71
3.2.2 FD的逻辑蕴涵 72
3.2.3 FD的推理规则 72
3.2.4 FD和关键码的联系 74
3.2.5 属性集的闭包 74
3.2.6 FD集的最小依赖集 75
3.3.1 关系模式的分解 76
3.3.2 无损分解 76
3.3 关系模式的分解特性 76
3.3.3 模式分解的优缺点 79
3.3.4 无损分解的测试方法 79
3.3.5 保持FD的分解 80
3.3.6 模式分解与模式等价问题 81
3.4 范式 82
3.4.1 第一范式(1NF) 82
3.4.2 第二范式(2NF) 82
3.4.3 第三范式(3NF) 83
3.4.4 BCNF 85
3.4.5 分解成BCNF模式集的分解算法 86
3.4.6 分解成3NF模式集的合成算法 86
3.4.7 模式设计方法小结 87
3.5 多值依赖和第四范式 87
3.5.1 多值依赖 87
3.5.2 关于FD和MVD的推理规则集 89
3.5.3 第四范式(4NF) 90
小结 90
习题3 91
第4章 关系运算 95
4.1 关系代数 95
4.1.1 关系代数的五个基本操作 95
4.1.2 关系代数的四个组合操作 97
4.1.3 关系代数运算的应用实例 100
4.1.4 关系代数的两个扩充操作 101
4.2 关系演算 102
4.2.1 元组关系演算 102
4.2.2 域关系演算 106
4.2.3 关系运算的安全约束和等价性 107
4.3.1 关系代数表达式的优化问题 108
4.3 关系代数表达式的优化 108
4.3.2 关系代数表达式的启发式优化算法 109
小结 112
习题4 113
第5章 SQL语言 115
5.1 SQL简介 115
5.1.1 SQL发展史 115
5.1.2 SQL数据库的体系结构 116
5.1.3 SQL的组成 116
5.1.4 SQL的特点 117
5.2 SQL的数据定义 117
5.2.1 SQL模式的创建和撤销 117
5.2.2 SQL的基本数据类型 118
5.2.3 基本表的创建和撤销 119
5.2.4 索引的创建和撤销 121
5.3.1 SELECT查询语句的基本结构 122
5.3 SQL的数据查询 122
5.3.2 SELECT语句完整的结构 126
5.3.3 数据查询中的限制和规定 128
5.3.4 条件表达式中的比较操作 129
5.3.5 嵌套查询的改进写法 133
5.3.6 基本表的连接操作 134
5.4 数据更新 135
5.4.1 数据插入 135
5.4.2 数据删除 136
5.4.3 数据修改 137
5.5 视图 138
5.5.1 视图的创建和撤销 138
5.5.2 对视图的操作 139
5.6 嵌入式SQL 139
5.6.1 嵌入式SQL的实现方式 140
5.6.2 嵌入式SQL的使用规定 141
5.6.3 嵌入式SQL的使用技术 142
5.6.4 动态SQL语句 145
5.7 存储过程与SQL/PSM 146
5.7.1 数据库存储过程与函数 146
5.7.2 SQL/PSM 148
小结 149
习题5 149
第6章 数据库管理 152
6.1 事务 152
6.1.1 事务的定义 152
6.1.2 事务的ACID性质 153
6.2 数据库的恢复 154
6.2.1 典型的恢复策略 154
6.2.2 故障类型和恢复方法 155
6.2.3 检查点技术 156
6.2.4 SQL对事务的支持 157
6.3 数据库的并发控制 157
6.3.1 并发操作带来的三个问题 157
6.3.2 封锁技术 160
6.3.3 并发操作的调度 163
6.3.4 SQL对并发处理的支持 163
6.4 数据库的完整性 164
6.4.1 完整性子系统 164
6.4.2 SQL中的完整性约束 165
6.4.3 SQL3的触发器 169
6.5 数据库的安全性 172
6.5.1 安全性问题 172
6.5.2 SQL中的安全性机制 173
6.5.3 常用的安全性措施 175
小结 177
习题6 178
第7章 SQL Server 2000简介及应用 180
7.1 SQL Server 2000概述 180
7.1.1 SQL Server 2000的结构和版本 180
7.1.2 SQL Server 2000的环境介绍 182
7.1.3 工具介绍 183
7.2 企业管理器 185
7.2.1 数据库的操作 188
7.2.2 表的操作 189
7.2.3 索引 191
7.2.4 视图 192
7.2.5 存储过程 193
7.2.6 触发器 196
7.2.7 用户自定义函数 199
7.2.8 备份恢复与导入导出 202
7.2.9 安全管理 206
7.3 T-SQL语言 209
7.3.1 T-SQL批处理 209
7.3.2 变量 210
7.3.3 流程控制 211
7.3.4 临时表和表变量 213
小结 214
习题7 214
第8章 PowerBuilder 9.0简介及应用 216
8.1 PowerBuilder 9.0集成开发环境 216
8.1.1 PB的特点 216
8.1.2 开发空间 217
8.1.3 PB 9.0的启动 217
8.1.4 系统树、剪贴板和输出窗口 217
8.1.5 PB 9.0的工具栏 219
8.1.6 PB 9.0的主要画板 220
8.2 “学生选课系统”的开发过程 221
8.2.1 “学生选课系统”概貌 221
8.2.2 建立数据库newdb,并自动连接数据库 226
8.2.3 在数据库中建立三张表及一个视图 228
8.2.4 新建工作空间、目标和应用对象 232
8.2.5 在应用中建五个数据窗口 235
8.2.6 在应用中建六个窗口 237
8.2.7 编写脚本 240
8.2.8 运行应用程序 249
8.3 PB 9.0与数据库的连接 249
8.3.1 建立ODBC数据源 249
8.3.2 建立数据库描述文件 253
8.3.3 连接数据源 255
习题8 256
小结 256
第9章 数据库技术的发展 257
9.1 面向对象的概念建模 257
9.1.1 面向对象的数据类型系统 257
9.1.2 对象联系图 259
9.1.3 UML类图 260
9.2 开放数据库互连(ODBC) 267
9.2.1 ODBC概念 267
9.2.2 ODBC的体系结构 268
9.2.3 SQL/CLI 270
9.2.4 典型的数据库应用系统开发工具 273
小结 274
习题9 274
参考文献 276
出版前言 279
数据库系统原理自学考试大纲 279
一、课程性质与设置目的 281
二、课程内容与考核目标 283
第1章 数据库系统基本概念 283
第2章 数据库设计和ER模型 284
第3章 关系模式设计理论 286
第4章 关系运算 287
第5章 SQL语言 288
第6章 数据库管理 290
第7章 SQL Server 2000简介及应用 291
第8章 PowerBuilder 9.0简介及应用 292
第9章 数据库技术的发展 293
实践环节 293
三、关于大纲的说明与考核实施的要求 295
附录 题型举例 298
后记 300