第1章 数据库系统概述 1
1.1 数据库技术的产生、发展与研究领域 1
1.1.1 数据库技术的产生与发展 1
1.1.2 数据库技术的研究领域 7
1.2 数据库系统的组成和特点 7
1.2.1 数据库系统的组成 7
1.2.2 数据库系统各组成部分的特点 7
1.3 数据库系统的体系结构 10
1.3.1 三级模式结构 10
1.3.2 数据库系统的二级映像功能 13
1.4 数据库管理系统 14
1.4.1 DBMS的主要功能 14
1.4.2 DBMS的组成 15
1.4.3 用户访问数据的全过程 15
1.5 数据模型 17
1.5.1 数据模型概念 17
1.5.2 数据之间的联系 17
1.5.3 实体联系模型 20
1.5.4 结构数据模型 22
1.5.5 面向对象模型 28
第2章 关系数据库模型 31
2.1 关系模型的基本概念 31
2.1.1 关系数据库的优点和特点 31
2.1.2 关系数据库的内部结构 31
2.2 关系数据库的设计规划 32
2.2.1 表的关联与关系的性质 32
2.2.2 关系的键 35
2.2.3 数据完整性 36
2.3 关系代数 38
2.3.1 关系代数的分类及其运算符 38
2.3.2 传统的集合运算 39
2.3.3 专门的关系运算 40
第3章 关系数据规范化理论 48
3.1 规范化问题的提出 48
3.1.1 规范化理论的主要内容 48
3.1.2 不合理的关系模式存在的存储异常问题 48
3.2 函数依赖 49
3.2.1 函数依赖的定义及性质 50
3.2.2 函数依赖的相关概念 50
3.2.3 函数依赖的推理规则 51
3.2.4 函数依赖与码的联系 51
3.2.5 闭包及其运算 52
3.3 函数依赖的等价与覆盖 53
3.3.1 等价与覆盖 53
3.3.2 函数依赖集的最小集 53
3.4 关系模型的分解特性 54
3.4.1 无损连接性 55
3.4.2 函数依赖保持性 55
3.5 关系模式的规范化 56
3.5.1 第一范式(1NF) 57
3.5.2 第二范式(2NF) 58
3.5.3 第三范式(3NF) 59
3.5.4 BC范式(BCNF) 60
3.5.5 多值依赖与(4NF) 61
3.6 候选关键字的求解理论和算法 62
3.6.1 快速求解候选关键字的一个充分条件 62
3.6.2 左边为单属性的函数依赖集的候选关键字成员的图论判定法 63
3.6.3 多属性依赖集候选关键字求解法 65
第4章 数据库设计 69
4.1 数据库设计概念 69
4.1.1 数据库设计的任务、内容和特点 69
4.1.2 数据库设计方法简述 69
4.1.3 数据库设计步骤 70
4.2 规划 71
4.3 需求分析 71
4.3.1 需求描述与分析 71
4.3.2 需求分析的方法和步骤 72
4.4 概念结构设计 73
4.4.1 概念设计的必要性 73
4.4.2 概念模型 73
4.4.3 概念设计的方法与步骤 74
4.4.4 概念设计实例 74
4.5 逻辑结构设计 78
4.5.1 逻辑设计的任务和步骤 79
4.5.2 E-R模型向关系模型的转换 79
4.5.3 关系模式规范化 80
4.5.4 模式优化 81
4.6 物理结构设计 82
4.6.1 物理设计的环境 82
4.6.2 物理设计的步骤 82
4.6.3 物理设计的性能评价 83
4.7 数据库实施 83
4.7.1 建立实际数据库结构 83
4.7.2 装入数据 84
4.7.3 应用程序编码与调试 84
4.7.4 数据库试运行 84
4.8 数据库运行与维护 85
4.8.1 维护数据库的安全性和完整性 85
4.8.2 监测并改善数据库性能 85
4.8.3 重新组织和构造数据库 85
第5章 数据库安全保护 87
5.1 数据库的安全性控制 87
5.1.1 数据库安全性的含义 87
5.1.2 安全性控制的一般方法 87
5.1.3 安全控制模型 88
5.2 数据库完整性控制 92
5.2.1 完整性的含义 92
5.2.2 完整性规则 92
5.2.3 完整性约束条件的分类 94
5.3 事务的基本概念 95
5.3.1 事务的定义 95
5.3.2 事务的特征 95
5.3.3 SQL事务处理模型 96
5.4 数据库的并发控制与封锁 97
5.4.1 数据库并发性的含义 97
5.4.2 数据库的并发操作带来的问题 97
5.4.3 并发控制措施 99
5.4.4 封锁协议 100
5.4.5 死锁和活锁 103
5.5 数据库备份与恢复 105
5.5.1 数据库故障的种类 105
5.5.2 数据库备份 106
5.5.3 数据库恢复的原理及其实现技术 106
5.5.4 数据库恢复 108
第6章 SQL Server 2000系统概述 110
6.1 SQL Server 2000的功能和特点 110
6.1.1 SQL Server 2000的功能 110
6.1.2 SQL Server 2000的特性 111
6.2 SQL Server 2000安装和配置 111
6.2.1 SQL Server 2000安装前的准备 111
6.2.2 SQL Server 2000的安装 112
6.2.3 SQL Server 2000安装后的故障及其处理 119
6.3 SQL Server 2000工具 120
6.3.1 服务管理器 120
6.3.2 企业管理器 122
6.3.3 查询分析器 123
6.3.4 网络实用工具 125
第7章 SQL Server 2000数据库操作 127
7.1 创建数据库 127
7.1.1 使用企业管理器创建数据库 127
7.1.2 使用CREATE DATABASE语句创建数据库 130
7.2 设置数据库选项 134
7.2.1 使用企业管理器设置 134
7.2.2 使用查询分析器设置 136
7.3 修改数据库 138
7.3.1 更改数据库名称 138
7.3.2 修改数据库文件大小 139
7.3.3 修改数据库结构 145
7.4 删除数据库 147
7.4.1 使用企业管理器删除 147
7.4.2 使用DROP DATABASE语句删除 147
第8章 SQL Server 2000数据库对象操作 150
8.1 基本概念 150
8.1.1 SQL语言的特点 150
8.1.2 SQL语言功能概括 150
8.2 SQL的数据类型 151
8.2.1 字段数据类型 151
8.2.2 类型的说明 153
8.3 数据定义功能 153
8.3.1 基本表的定义与删除 153
8.3.2 修改基本表 158
8.3.3 创建和维护索引 159
8.4 SQL数据查询功能 161
8.4.1 查询语句的基本结构 161
8.4.2 简单查询 162
8.4.3 条件查询 163
8.4.4 利用计算函数统计汇总数据查询 167
8.4.5 分组查询 168
8.4.6 对查询结果进行排序 169
8.4.7 数据表连接及连接的查询 170
8.4.8 子查询 173
8.4.9 合并查询 176
8.4.10 存储查询结果到表中 176
8.5 SQL数据更新 177
8.5.1 插入数据记录 177
8.5.2 更新数据记录 178
8.5.3 删除数据记录 179
8.6 视图 179
8.6.1 视图的概念 179
8.6.2 定义和删除视图 180
8.6.3 查询视图 181
第9章 用企业管理器创建基本表和管理数据 185
9.1 用企业管理器定义表及完整性约束 185
9.1.1 定义表及约束 185
9.1.2 修改表结构 191
9.1.3 查看表 192
9.1.4 用Enterprise Manager器删除表 194
9.2 用Enterprise Manager管理数据 194
9.2.1 添加数据 194
9.2.2 删除数据 195
9.2.3 修改数据 195
9.3 索引 195
9.3.1 创建索引 195
9.3.2 查看与修改索引 198
9.3.3 删除索引 200
9.4 数据完整性 201
9.4.1 数据完整性概述 201
9.4.2 使用约束实施数据完整性 202
9.4.3 使用规则 206
9.4.4 使用默认值 209
9.5 存储过程 212
9.5.1 存储过程概述 212
9.5.2 创建存储过程 212
9.5.3 执行存储过程 215
9.5.4 查看存储过程 217
9.5.5 修改存储过程 218
9.5.6 删除存储过程 218
9.6 触发器概述 219
9.6.1 触发器的简介 219
9.6.2 创建触发器 220
9.6.3 查看触发器 222
9.6.4 修改触发器 224
9.6.5 删除触发器 224
9.7 企业管理器管理视图 225
9.7.1 创建视图 225
9.7.2 管理视图 226
9.8 数据库图表 227
9.8.1 创建数据库图表 227
9.8.2 添加外码限制 227
9.8.3 向数据图表中加入表格 229
第10章 T-SQL程序设计 236
10.1 变量 236
10.1.1 全局变量 236
10.1.2 局部变量 238
10.2 SQL Server函数 241
10.2.1 SQL Server的数学函数 241
10.2.2 SQL Server的字符串函数 244
10.2.3 SQL Server的日期函数 245
10.2.4 SQL Server的系统函数 247
10.2.5 其他常用函数 248
10.2.6 用户自定义函数 249
10.3 程序流程控制 252
10.3.1 BEGIN...END语句 252
10.3.2 IE...ELSE语句 253
10.3.3 WHILE语句 254
10.3.4 RETURN语句 255
10.3.5 WAITFOR语句 256
10.3.6 GOTO语句 256
10.4 使用游标 257
10.4.1 声名游标 257
10.4.2 打开和使用游标 260
10.4.3 关闭和释放游标 262
10.5 使用注释 263
10.6 使用批处理 263
第11章 SQL Server 2000数据库的安全性管理 265
11.1 SQL Server 2000的安全模式 265
11.1.1 SQL Server 2000的身份验证 265
11.1.2 选择身份验证模式 265
11.2 登录账号 266
11.2.1 创建登录账号 266
11.2.2 修改账号信息 269
11.2.3 查看登录账号信息 269
11.2.4 删除登录账号 269
11.3 数据库用户 270
11.3.1 创建数据库用户 270
11.3.2 删除数据库用户 271
11.4 数据库角色 271
11.4.1 创建数据库角色 271
11.4.2 为服务器固有角色添加成员 272
11.4.3 删除数据库角色 273
11.5 权限 274
11.5.1 权限的分类 274
11.5.2 管理对象权限 275
11.5.3 管理系统权限 277
11.6 使用T-SQL语句管理权限与角色 278
11.6.1 系统权限与角色的授予、收回与拒绝访问 278
11.6.2 使用Transact-SQL语句管理对象权限 279
第12章 数据库的备份和恢复 282
12.1 数据备份概念 282
12.1.1 备份策略 282
12.1.2 备份设备 283
12.2 数据库备份 284
12.2.1 使用备份向导 284
12.2.2 使用企业管理器 284
12.2.3 使用BACKUP DATABASE语句 288
12.2.4 备份事务日志 289
12.3 恢复数据库 291
12.3.1 使用企业管理器 291
12.3.2 使用RESTORE DATABASE语句恢复数据库 293
第13章 数据库应用实例 296
13.1 建立数据访问接口 296
13.1.1 建立ODBC数据源 296
13.1.2 用ADO数据控件进行数据绑定 299
13.1.3 DataGrid数据绑定控件 302
13.2 三个实例 302
13.2.1 示例1——学生基本信息录入 303
13.2.2 示例2——课程基本情况录入 305
13.2.3 示例3——学生成绩查询 306
主要参考文献 310