第1章 绪论 1
1.1 数据管理技术的发展 1
1.1.1 人工管理阶段 2
1.1.2 文件系统阶段 2
1.1.3 数据库管理阶段 3
1.2 数据库系统结构 5
1.2.1 三级模式结构 5
1.2.2 数据库系统的二级独立性 7
1.2.3 数据库系统的二级映像 7
1.3 数据库、数据库管理系统和数据库系统 7
1.3.1 数据库 7
1.3.2 数据库管理系统 8
1.3.3 数据库系统 8
1.4 数据库技术的发展 9
小结 10
习题 10
第2章 数据模型 12
2.1 数据模型的概念 12
2.1.1 数据的三个范畴 12
2.1.2 数据模型的组成要素及分类 14
2.2 E-R模型 15
2.2.1 基本概念 15
2.2.2 E-R图设计 18
2.3 面向对象模型 20
2.3.1 对象建模的基本知识 20
2.3.2 类图 23
小结 23
习题 24
第3章 关系数据库 26
3.1 关系数据模型 26
3.1.1 关系数据模型概述 26
3.1.2 基本术语 28
3.1.3 关系的性质 31
3.2 关系的完整性 32
3.3 关系代数 34
3.3.1 传统的集合运算 35
3.3.2 专门的关系运算 36
3.3.3 关系代数运算的应用实例 39
3.3.4 关系代数的扩充操作 42
小结 43
习题 43
第4章 结构化查询语言SQL 48
4.1 SQL概述 48
4.1.1 SQL语言的发展 48
4.1.2 SQL语言的特点 48
4.1.3 SQL语言的基本概念 50
4.2 数据定义语句 50
4.2.1 基本表的定义 51
4.2.2 基本表的修改与删除 53
4.2.3 基本表的删除 53
4.3 查询 54
4.3.1 单表查询 54
4.3.2 连接查询 68
4.3.3 嵌套查询 71
4.3.4 集合查询 78
4.4 数据操纵 80
4.4.1 插入数据 80
4.4.2 修改数据 82
4.4.3 删除数据 82
4.5 视图 83
4.5.1 视图的定义与删除 84
4.5.2 查询视图 86
4.5.3 更新视图 88
4.5.4 视图的作用 89
小结 90
习题 90
第5章 存储过程、触发器和数据完整性 92
5.1 SQL Server编程结构 92
5.1.1 变量 92
5.1.2 显示信息 93
5.1.3 注释语句 93
5.1.4 批处理 93
5.1.5 流程控制语句 94
5.2 存储过程 97
5.2.1 存储过程的基本概念 97
5.2.2 创建存储过程 98
5.2.3 使用SQL Server管理控制台执行存储过程 102
5.2.4 修改和删除存储过程 102
5.3 触发器 103
5.3.1 触发器的基本概念 104
5.3.2 创建触发器 104
5.3.3 修改和删除触发器 110
5.4 数据库完整性 110
5.4.1 约束 111
5.4.2 默认值 111
5.4.3 规则 113
5.4.4 用户定义的数据完整性 114
小结 115
习题 115
第6章 关系数据库设计理论 117
6.1 问题的提出 117
6.2 基本概念 118
6.2.1 函数依赖 119
6.2.2 码 120
6.3 规范化 120
6.3.1 第一范式 121
6.3.2 第二范式 121
6.3.3 第三范式 122
6.3.4 BC范式 122
6.3.5 多值依赖与第四范式 123
6.3.6 关系模式规范化 126
6.4 函数依赖的公理系统 127
6.4.1 Armstrong公理系统 127
6.4.2 闭包 127
6.4.3 函数依赖集的等价和最小化 128
6.5 模式分解 130
6.5.1 模式分解的准则 130
6.5.2 分解的函数依赖保持性和无损连接性 131
6.5.3 模式分解的算法 134
小结 136
习题 137
第7章 索引 140
7.1 索引的概念 140
7.1.1 聚集索引 141
7.1.2 非聚集索引 142
7.1.3 唯一索引 143
7.1.4 何时应该创建索引 143
7.1.5 系统如何访问表中的数据 143
7.2 SQL Server 2005中的索引 144
7.2.1 索引的结构 144
7.2.2 管理索引 145
小结 146
习题 147
第8章 数据库设计 148
8.1 数据库设计概述 148
8.2 数据库设计的过程 150
8.2.1 数据库设计的步骤 150
8.2.2 需求分析阶段 151
8.2.3 概念设计阶段 154
8.2.4 逻辑设计阶段 159
8.2.5 物理设计阶段 162
8.2.6 数据库实现阶段 163
8.2.7 数据库的运行与维护阶段 164
8.3 数据库设计实例:电网设备抢修物资管理数据库设计 165
8.3.1 需求分析 165
8.3.2 概念模型 168
8.3.3 逻辑模型 172
小结 175
习题 176
第9章 数据库安全 178
9.1 安全性概述 178
9.1.1 用户标识与鉴别 178
9.1.2 存取控制 179
9.1.3 自主存取控制方法 180
9.1.4 强制存取控制方法 180
9.1.5 视图机制 181
9.1.6 审计 181
9.1.7 数据加密 182
9.2 SQL Server的安全性 182
9.2.1 SQL Server 2005的身份验证模式 182
9.2.2 SQL Server 2005的安全机制 182
9.3 用户管理和角色管理 184
9.3.1 登录用户和数据库用户 184
9.3.2 用户管理 184
9.3.3 角色管理 186
9.3.4 SQL Server的固定角色 187
9.4 权限管理 189
9.4.1 授予权限 190
9.4.2 收回权限 191
9.4.3 禁止权限 193
9.5 架构 193
小结 194
习题 194
第10章 数据库保护 197
10.1 事务 197
10.1.1 事务的定义 197
10.1.2 事务的ACID性质 198
10.1.3 事务的状态 199
10.2 并发控制 200
10.2.1 并发操作与数据的不一致性 200
10.2.2 封锁 202
10.2.3 并发操作的调度 206
10.3 数据库的恢复 210
10.3.1 存储器的结构 210
10.3.2 恢复的原则和实现方法 212
10.3.3 故障类型和恢复方法 212
10.4 SQL Server数据库备份与恢复 214
10.4.1 数据库备份方法 214
10.4.2 数据库恢复 216
小结 218
习题 218
第11章 数据库技术新进展 220
11.1 数据仓库 220
11.1.1 数据仓库的概念、特点与组成 220
11.1.2 数据的技术 222
11.1.3 数据仓库的几个重要概念 224
11.1.4 数据仓库的结构 225
11.1.5 数据仓库的多维数据模型 227
11.1.6 数据仓库系统设计 229
11.1.7 数据仓库的未来 232
11.2 数据挖掘 233
11.2.1 支持数据挖掘的基础 233
11.2.2 数据挖掘的分析方法 234
11.2.3 数据挖掘常用的基本技术 236
11.2.4 数据挖掘技术实施的步骤 237
11.2.5 数据挖掘技术发展 237
11.3 数据库技术的研究及发展 237
11.3.1 数据库技术的研究热点 238
11.3.2 数据库技术的发展方向 240
11.4 结语 243
小结 244
习题 244
附录A SQL Server 2005的安装及使用 245
A.1 SQL Server简介 245
A.2 SQL Server2005的安装 246
A.3 SQL Server配置管理器 254
A.4 启动SQL Server服务 258
A.5 使用SQL Server Management Studio管理数据库 259
附录B 实验 270
实验一 通过SQL Server Management Studio创建及管理数据库 270
实验二 通过SQL语句创建与管理数据表 273
实验三 单表查询 274
实验四 复杂查询 275
实验五 视图的创建与使用 276
实验六 存储过程 277
实验七 触发器 278
实验八 实现数据完整性 280
实验九 索引及数据库安全 281
参考文献 283