第1章 绪论 1
1.1 数据库系统概述 1
1.1.1 基本概念 2
1.1.2 数据管理技术的发展 5
1.1.3 数据库系统特点 9
1.1.4 教学管理数据库实例 12
1.2 数据库系统组成及模式结构 12
1.2.1 数据库系统组成 12
1.2.2 数据库模式 14
1.2.3 数据库系统三级模式 15
1.2.4 数据库系统二级映像 17
1.2.5 数据字典 18
1.3 数据库技术的发展 18
1.3.1 数据库系统向多样化方向发展 18
1.3.2 面向应用领域的数据库新技术 20
本章小结 21
思考题与习题 22
第2章 数据模型 25
2.1 数据模型的概念 25
2.1.1 数据模型概述 25
2.1.2 数据模型的要素 25
2.2 概念模型 26
2.2.1 信息世界的基本概念 26
2.2.2 概念模型的表示方法 28
2.3 主要的逻辑数据模型 29
2.3.1 关系模型 29
2.3.2 网状模型 31
2.3.3 层次模型 32
本章小结 34
思考题与习题 34
第3章 关系数据库 36
3.1 关系模型概述 36
3.2 关系数据结构 36
3.2.1 关系 36
3.2.2 关系模式 39
3.2.3 关系数据库 39
3.3 关系完整性 39
3.3.1 实体完整性 39
3.3.2 参照完整性 40
3.3.3 用户定义完整性 41
3.4 关系操作 41
3.4.1 基本的关系操作 41
3.4.2 关系数据语言的分类 41
3.4.3 关系代数 42
本章小结 47
思考题与习题 47
第4章 数据库和数据表 51
4.1 关系数据库标准语言概述 51
4.1.1 SQL语言的产生和发展 51
4.1.2 SQL语言的基本概念 51
4.1.3 T-SQL语言的特点 52
4.2 SQL Server 2000系统概述 53
4.2.1 SQL Server 2000系统简介 53
4.2.2 SQL Server 2000的安装环境 55
4.2.3 SQL Server 2000的安装步骤 55
4.2.4 SQL Server 2000的主要工具 57
4.2.5 SQL Server服务器启动、注册与配置 58
4.3 建立数据库与数据表 61
4.3.1 SQL Server 2000数据库结构 61
4.3.2 标识符命名规则 65
4.3.3 教学管理数据库 65
4.3.4 创建、修改和删除数据库 66
4.3.5 创建、修改和删除数据表 72
4.4 建立表间的关系 77
4.5 数据更新 78
4.5.1 插入数据 78
4.5.2 修改数据 80
4.5.3 删除数据 81
4.6 建立索引 82
4.6.1 索引的概念 82
4.6.2 创建索引的优、缺点 83
4.6.3 考虑建索引的列和不考虑建索引的列 83
4.6.4 索引的分类 84
4.6.5 创建索引 85
4.6.6 删除索引 86
本章小结 86
思考题与习题 86
第5章 数据查询与视图 88
5.1 SELECT语句 88
5.2 单表查询 88
5.2.1 选择表中若干列 88
5.2.2 选择表中若干记录 89
5.2.3 对查询结果排序 92
5.2.4 对数据进行统计 93
5.2.5 对结果进行分组 93
5.3 连接查询 94
5.3.1 内连接查询 94
5.3.2 自身连接 94
5.3.3 外连接查询 95
5.3.4 复合连接条件 96
5.4 嵌套查询 96
5.4.1 使用IN或NOT IN语句的子查询 97
5.4.2 比较运算符的子查询 97
5.4.3 带有ANY或ALL谓词的子查询 97
5.5 视图 98
5.5.1 创建视图 98
5.5.2 修改视图 100
5.5.3 删除视图 101
5.5.4 查询视图 101
5.5.5 更新视图 101
5.5.6 视图的作用 102
本章小结 103
思考题与习题 103
第6章 数据库保护 105
6.1 数据库的安全性 105
6.1.1 数据库安全性概述 105
6.1.2 数据库安全性控制 106
6.1.3 登录用户 107
6.1.4 管理权限 109
6.1.5 数据库角色 110
6.1.6 存储过程的建立和删除 112
6.1.7 触发器的建立和删除 113
6.2 数据库的完整性 114
6.2.1 实体完整性 114
6.2.2 参照完整性 116
6.2.3 用户自定义完整性 116
本章小结 118
思考题与习题 118
第7章 数据库恢复技术 120
7.1 事务的基本概念 120
7.2 事务的性质 121
7.3 故障的种类和恢复技术 121
7.3.1 故障的种类 121
7.3.2 数据库恢复的基本原则 122
7.3.3 恢复方法 122
7.4 备份操作 123
7.4.1 创建备份设备 124
7.4.2 备份数据库 126
7.4.3 备份事务日志 129
7.5 还原操作 130
7.5.1 还原数据库 130
7.5.2 还原事务日志 131
7.6 数据导出与导入 132
7.6.1 数据导出 132
7.6.2 数据导入 136
7.7 数据库分离与附加 137
本章小结 138
思考题与习题 139
第8章 并发控制 140
8.1 数据库的并发操作带来的问题 140
8.2 排它型封锁 141
8.2.1 X封锁和PX协议 141
8.2.2 并发事务的可串行化 142
8.2.3 事务的ROLLBACK引起的丢失更新问题 143
8.3 活锁与死锁 144
8.4 共享型封锁 144
8.5 两段封锁法 147
8.5.1 两段封锁协议 147
8.5.2 两段封锁法与可串化调度的关系 147
本章小结 147
思考题与习题 148
第9章 代理服务与数据复制 149
9.1 自动化管理任务 149
9.1.1 SQL Server Agent服务 149
9.1.2 操作员 152
9.1.3 设计和规划作业 152
9.1.4 创建警报相应事件 153
9.2 复制 155
9.2.1 复制的基本概念 155
9.2.2 复制的功能 155
9.3 复制的模型 155
9.3.1 服务器角色 156
9.3.2 复制的类型 156
9.3.3 复制代理程序 157
9.4 配置复制 157
9.4.1 复制前的考虑 157
9.4.2 配置分发服务器 158
9.4.3 配置发布服务器和创建出版物 159
9.4.4 订阅 161
9.4.5 复制监控 165
9.4.6 提高复制性 166
9.4.7 停止复制 167
本章小结 167
思考题与习题 167
第10章 关系数据库设计理论 168
10.1 关系数据库设计理论的提出 168
10.2 基本概念 170
10.2.1 函数依赖 170
10.2.2 码 171
10.3 关系范式 171
10.3.1 第一范式 172
10.3.2 第二范式(2NF) 173
10.3.3 第三范式(3NF) 174
10.3.4 BC范式(BCNF) 175
10.4 关系模式的规范化 176
10.5 教学管理系统数据库关系模式分析 178
本章小结 178
思考题与习题 178
第11章 数据库设计 181
11.1 数据库设计概述 181
11.1.1 数据库设计的内容 181
11.1.2 数据库设计的方法 182
11.1.3 数据库设计的步骤 183
11.2 需求分析 184
11.2.1 需求分析的任务 184
11.2.2 需求分析的步骤 184
11.2.3 需求分析的方法 185
11.2.4数据流图 186
11.2.5 数据字典 187
11.3 概念结构设计 189
11.3.1 概念模型 189
11.3.2 E-R图表示方法 191
11.3.3 概念结构设计步骤 192
11.3.4 局部E-R图 193
11.3.5 基本E-R图 195
11.4 逻辑结构设计 198
11.4.1 逻辑结构设计步骤 198
11.4.2 E-R图向数据模型转换 199
11.4.3 数据模型的优化 200
11.4.4 设计用户子模式 201
11.5 物理结构设计 201
11.5.1 确定物理结构 202
11.5.2 评价物理结构 203
11.6 数据库的实施与维护 204
11.6.1 数据库的实施 204
11.6.2 数据库的试运行 205
11.6.3 数据库的运行与维护 205
本章小结 206
思考题与习题 206
第12章 SQL Server综合应用 210
12.1 在Visual Basic环境中的应用 210
12.1.1 数据库连接 210
12.1.2 创建用户界面 212
12.2 在Delphi环境中的应用 212
12.2.1 用户界面设计 212
12.2.2 数据库的连接 213
12.3 在PowerBuilder环境中的应用 214
12.3.1 使用ODBC接口 214
12.3.2 使用Micsoft SQL Server专用接口 216
12.4 在Visual Studio 2003环境中的应用 217
参考文献 220
附录A 教学管理系统数据表结构 221
附录B 教学管理系统各数据表记录 222
附录C 习题参考答案 224