第1章 绪论 1
1.1 数据库系统概述 1
1.1.1 数据、数据库、数据库管理系统、数据库系统 1
1.1.2 数据管理技术的产生和发展 3
1.1.3 数据库系统的特点 6
1.2 数据模型 9
1.2.1 数据模型的组成要素 10
1.2.2 概念模型 12
1.2.3 基本E-R模型的扩展 15
1.2.4 层次模型 22
1.2.5 网状模型 25
1.2.6 关系模型 27
1.2.7 面向对象模型 29
1.3 数据库系统结构 33
1.3.1 数据库系统的三级模式结构 33
1.3.2 数据库的二级映像功能与数据独立性 35
1.3.3 数据库管理系统的工作过程 35
1.4 数据库系统的组成 36
1.5 数据库技术的研究领域及其发展 38
1.5.1 数据库技术的研究领域 38
1.5.2 数据库技术的发展 39
1.6 小结 41
习题 42
第2章 关系数据库 45
2.1 关系模型 45
2.2 关系数据结构及形式化定义 46
2.2.1 关系 47
2.2.2 关系模式 49
2.2.3 关系数据库 50
2.3 关系的完整性 50
2.4 关系代数 52
2.4.1 传统的集合运算 54
2.4.2 专门的关系运算 55
2.5 关系演算 62
2.5.1 抽象的元组关系演算 62
2.5.2 元组关系演算语言ALPHA 64
2.5.3 域关系演算语言QBE 70
2.6 小结 75
习题 75
第3章 关系数据库标准语言SQL 78
3.1 SQL的基本概念与特点 78
3.1.1 语言的发展及标准化 78
3.1.2 SQL的基本概念 79
3.1.3 SQL的主要特点 80
3.2 SQL数据定义 81
3.2.1 字段数据类型 81
3.2.2 创建、修改和删除数据表 83
3.2.3 设计、创建和维护索引 86
3.3 SQL数据查询 87
3.3.1 SELECT命令的格式及其含义 87
3.3.2 SELECT子句的基本使用 89
3.3.3 WHERE子句的基本使用 90
3.3.4 常用集函数及统计汇总查询 94
3.3.5 分组查询 94
3.3.6 查询的排序 95
3.3.7 连接查询 96
3.3.8 合并查询 98
3.3.9 嵌套查询 98
3.3.10 子查询别名表达式的使用 103
3.3.11 存储查询结果到表中 104
3.4 SQL数据更新 104
3.4.1 插入数据 104
3.4.2 修改数据 105
3.4.3 删除数据 106
3.5 视图 107
3.5.1 定义和删除视图 107
3.5.2 查询视图 108
3.5.3 更新视图 108
3.5.4 视图的作用 109
3.6 SQL数据控制 110
3.6.1 权限与角色 110
3.6.2 系统权限与角色的授予与收回 111
3.6.3 对象权限与角色的授予与收回 111
3.7 嵌入式SQL 112
3.7.1 嵌入式SQL简介 112
3.7.2 嵌入式SQL要解决的3个问题 112
3.7.3 第四代数据库应用开发工具或高级语言中SQL的使用 116
3.8 小结 120
习题 121
第4章 关系数据库设计理论 124
4.1 问题的提出 124
4.1.1 规范化理论概述 124
4.1.2 不合理的关系模式存在的问题 124
4.2 规范化 127
4.2.1 函数依赖 127
4.2.2 码 129
4.2.3 范式 130
4.2.4 第一范式 131
4.2.5 第二范式 132
4.2.6 第三范式 133
4.2.7 BC范式 135
4.2.8 多值依赖与第四范式 136
4.2.9 连接依赖与5NF 140
4.2.10 规范化小结 140
4.3 数据依赖的公理系统 141
4.4 关系分解保持性 144
4.4.1 关系模式的分解 144
4.4.2 模式分解的无损连接性 145
4.4.3 模式分解的函数依赖保持性 146
4.4.4 模式分解算法 146
4.5 小结 148
习题 148
第5章 数据库安全保护 151
5.1 数据库的安全性 151
5.1.1 数据库安全性概述 151
5.1.2 安全性控制的一般方法 152
5.1.3 安全性控制的其他方法 156
5.1.4 SQL Server安全性概述 157
5.2 完整性控制 158
5.2.1 数据库完整性概述 158
5.2.2 完整性规则的组成 159
5.2.3 完整性约束条件的分类 160
5.2.4 SQL Server完整性概述 161
5.3 并发控制与封锁 162
5.3.1 数据库并发性概述 162
5.3.2 事务的基本概念 162
5.3.3 并发操作与数据的不一致性 164
5.3.4 封锁及其产生问题的解决 165
5.3.5 SQL Server的并发控制机制 171
5.4 数据库的恢复 173
5.4.1 数据库恢复概述 173
5.4.2 数据库恢复的基本原理及其实现技术 174
5.4.3 数据库的故障及其恢复策略 175
5.4.4 SQL Server的备份和还原机制 177
5.5 小结 178
习题 179
第6章 数据库设计 181
6.1 数据库设计概述 181
6.1.1 数据库设计的任务、内容和特点 181
6.1.2 数据库设计方法简述 182
6.1.3 数据库设计的步骤 183
6.2 系统需求分析 186
6.2.1 需求分析的任务 186
6.2.2 需求分析的方法 187
6.3 概念结构设计 189
6.3.1 概念结构设计的必要性 189
6.3.2 概念模型设计的特点 190
6.3.3 概念结构的设计方法和步骤 190
6.4 逻辑结构设计 198
6.4.1 逻辑结构设计的任务和步骤 198
6.4.2 初始化关系模式设计 198
6.4.3 关系模式的规范化 201
6.4.4 关系模式的评价与改进 201
6.5 数据库物理设计 202
6.5.1 确定物理结构 202
6.5.2 评价物理结构 203
6.6 数据库实施 203
6.6.1 建立实际数据库结构 204
6.6.2 装入数据 204
6.6.3 编制与调试应用程序 204
6.6.4 数据库试运行 204
6.6.5 整理文档 205
6.7 数据库运行和维护 205
6.7.1 数据库的安全性、完整性 205
6.7.2 监视并改善数据库性能 205
6.7.3 数据库的重组织和重构造 206
6.8 UML简介 206
6.8.1 概述 206
6.8.2 UML的构成 207
6.8.3 UML的系统开发思路及开发阶段 209
6.8.4 用例图 210
6.8.5 类图 212
6.8.6 交互图 218
6.8.7 状态图 219
6.8.8 活动图 220
6.8.9 构件图 221
6.8.10 配置图 221
6.8.11 包图 221
6.9 小结 222
习题 222
第7章 SQL Server 2005数据库管理系统 226
7.1 SQL Server 2005系统概述 226
7.1.1 SQL Server 2005系统简介 226
7.1.2 安装SQL Server 2005 232
7.1.3 SQL Server 2005的主要组件及其初步使用 234
7.2 Transact-SQL 255
7.2.1 Transact-SQL语法约定 256
7.2.2 Transact-SQL的新增功能和增强功能 258
7.2.3 运算符 259
7.2.4 数据类型 262
7.2.5 函数 267
7.2.6 Transact-SQL变量 278
7.2.7 表达式 280
7.2.8 控制流 281
7.2.9 保留关键字 287
7.2.10 批处理 288
7.2.11 Transact-SQL游标 289
7.3 小结 290
习题 290
参考文献 294