第1章 数据库系统概述 1
1.1 基本概念 1
1.1.1 数据与信息 2
1.1.2 数据管理与数据库 3
1.1.3 数据库管理系统和管理信息系统 4
1.1.4 数据库系统 5
1.2 数据库技术的产生和发展 5
1.2.1 人工管理阶段 6
1.2.2 文件系统阶段 6
1.2.3 数据库系统阶段 7
1.3 数据库管理系统 11
1.3.1 数据库管理系统的主要功能 11
1.3.2 数据库管理系统的组成 12
1.3.3 数据库管理系统的工作流程 13
1.4 数据库系统结构 14
1.4.1 数据库系统的三级模式结构 14
1.4.2 数据库系统的体系结构 16
1.4.3 数据库系统的组成 18
1.5 数据库应用系统开发简介 19
1.5.1 C/S模式 20
1.5.2 B/S模式 20
1.5.3 ODBC/JDBC/OLE DB/ADO 21
1.5.4 流行的数据库应用程序开发工具 24
1.5.5 数据库应用系统总体结构 25
小结 26
习题1 26
第2章 数据模型 27
2.1 基本实体—联系模型 28
2.1.1 基本概念 28
2.1.2 实体—联系模型中各元素的图示 33
2.1.3 应用举例 35
2.2 扩展实体—联系模型 36
2.2.1 类层次 36
2.2.2 子类和超类 36
2.2.3 演绎和归纳 37
2.2.4 约束设计 37
2.2.5 范畴与范畴化 39
2.3 实体—联系模型的应用 40
2.3.1 实体与属性的选择 40
2.3.2 实体间联系属性的选择 41
2.3.3 应用举例 41
2.4 关系模型 42
2.4.1 关系模型的基本概念 42
2.4.2 关系模式 46
2.4.3 约束 47
2.4.4 实体—联系模型向关系模型的转化 49
2.5 数据库设计工具——PowerDesigner 52
2.5.1 PowerDesigner简介 52
2.5.2 PowerDesigner建模方法与应用举例 53
2.6 面向对象的数据模型 61
2.6.1 面向对象模型基础 61
2.6.2 面向对象模型的核心概念 62
2.6.3 面向对象模型与E-R模型的概念对应关系 67
小结 68
习题2 69
第3章 关系运算及关系系统 70
3.1 关系代数 71
3.1.1 传统的集合运算 71
3.1.2 专门的关系运算 73
3.1.3 扩充的关系代数运算 76
3.2 关系演算 79
3.2.1 元组关系演算 79
3.2.2 域关系演算 84
3.2.3 关系运算的安全性 87
3.3 关系代数、元组演算、域演算的等价性 90
3.3.1 关系代数表达式与元组演算表达式的等价性 90
3.3.2 元组演算表达式与域演算表达式的等价性 91
3.3.3 域演算表达式与关系代数表达式的等价性 91
3.4 查询优化 91
3.4.1 查询处理与查询优化 91
3.4.2 查询优化准则 93
3.4.3 关系代数等价变换规则 94
3.4.4 查询优化技术 95
3.4.5 关系代数表达式优化的算法 97
3.4.6 关系代数表达式的优化步骤 98
3.5 关系系统 100
3.5.1 全关系系统的十二条基本准则 101
3.5.2 关系系统的定义 102
3.5.3 关系系统的分类 103
小结 103
习题3 103
第4章 关系数据库的结构化查询语言 105
4.1 SQL概述 105
4.1.1 SQL及其标准 105
4.1.2 SQL的特点 105
4.1.3 SQL的基本概念 106
4.1.4 SQL Server中的T-SQL对标准SQL的扩充 107
4.2 SQL数据定义 107
4.2.1 SQL Server中数据库的创建、删除与修改 109
4.2.2 基本表的创建、删除与修改 111
4.2.3 创建与使用索引 115
4.3 SQL数据查询 117
4.3.1 SELECT语句格式及基本使用 117
4.3.2 简单查询 117
4.3.3 条件查询 119
4.3.4 聚合查询 123
4.3.5 分组查询 123
4.3.6 连接查询 126
4.3.7 集合查询 130
4.3.8 子查询 131
4.3.9 将查询结果存储到表中 133
4.4 SQL数据操纵 134
4.4.1 数据插入 134
4.4.2 数据删除 135
4.4.3 数据修改 136
4.5 SQL的视图、存储过程和触发器 136
4.5.1 SQL的视图 136
4.5.2 存储过程 139
4.5.3 SQL触发器 140
4.6 SQL数据控制 142
4.6.1 权限与角色 143
4.6.2 数据控制语句 143
4.7 T-SQL编程 145
4.7.1 批处理和变量 145
4.7.2 T-SQL流程控制语句 147
4.8 嵌入式SQL 154
4.8.1 嵌入式SQL的使用规定 155
4.8.2 嵌入式SQL的使用方法 157
4.8.3 动态SQL简介 159
小结 160
习题4 160
第5章 关系数据库理论 163
5.1 关系模式的一般表示及设计中的问题 163
5.2 函数依赖 165
5.2.1 函数依赖的概念 166
5.2.2 几种特定的函数依赖 166
5.2.3 逻辑蕴涵 167
5.3 函数依赖的公理系统 168
5.3.1 Armstrong公理系统 168
5.3.2 函数依赖集合F的极小函数依赖集 171
5.4 关系模式规范形式 172
5.4.1 第一范式(1NF) 173
5.4.2 第二范式(2NF) 174
5.4.3 第三范式(3NF) 176
5.4.4 Boyce-Codd范式(BCNF) 178
5.4.5 多值依赖和第四范式(4NF) 179
5.5 关系模式的规范化 181
5.5.1 关系模式分解的概念 181
5.5.2 具有无损连接性的关系模式分解 182
5.5.3 具有保持函数依赖的关系模式分解 186
5.5.4 通过分解实现关系模式的规范化 187
小结 189
习题5 190
第6章 数据库保护 192
6.1 数据库保护概述 193
6.1.1 数据库遭受破坏的主要原因 193
6.1.2 数据库管理系统对数据库提供的保护措施 193
6.2 数据库的安全性 194
6.2.1 数据库的安全保密方式 194
6.2.2 数据库安全控制 195
6.2.3 SQL Server的安全性体系简介 197
6.3 数据库完整性 199
6.3.1 完整性约束条件 199
6.3.2 完整性约束类型 200
6.3.3 完整性约束机制 201
6.3.4 SQL Server的完整性约束机制 201
6.4 数据库的并发控制 204
6.4.1 事务 204
6.4.2 并发控制 209
6.5 数据库恢复 215
6.5.1 故障的种类 216
6.5.2 恢复实现技术 218
6.5.3 恢复策略 220
小结 221
习题6 222
第7章 数据库系统设计 223
7.1 数据库设计概述 223
7.1.1 数据库设计的基本任务 223
7.1.2 数据库设计的特点 223
7.1.3 数据库设计的基本步骤 224
7.2 需求分析 226
7.2.1 需求分析的任务 226
7.2.2 需求分析的方法 227
7.2.3 数据流图 228
7.2.4 数据字典 230
7.3 概念结构设计 233
7.3.1 数据库概念设计的基本方法 233
7.3.2 概念设计 234
7.4 逻辑结构设计 240
7.4.1 E-R图向关系模型的转换 241
7.4.2 逻辑模式的规范化、调整和实现 242
7.4.3 外模式的设计 245
7.5 物理结构设计 246
7.5.1 数据库的物理设计的内容和方法 247
7.5.2 关系模式存取方法选择 248
7.5.3 确定数据库的存储结构 252
7.5.4 评价物理结构 253
7.6 设计举例 253
小结 254
习题7 255
第8章 图书管理系统应用开发 256
8.1 图书管理系统的需求分析 256
8.2 图书管理系统的概念结构设计 261
8.3 图书管理系统的逻辑结构设计 262
8.4 图书管理系统的物理结构设计 262
8.5 图书管理系统的程序开发 264
第9章 SQL Server数据库管理系统简介 275
9.1 SQL Server的发展史 275
9.2 SQL Server的数据库结构 276
9.2.1 数据库目录系统表 276
9.2.2 系统数据库的作用 277
9.3 SQL Server 2005系统概述 278
9.3.1 SQL Server 2005的新特征 279
9.3.2 SQL Server 2005的版本介绍 279
9.3.3 SQL Server 2005的组成部分 280
9.3.4 SQL Server 2005组件的分类 282
9.3.5 SQL Server 2005的安装 284
9.4 SQL Server 2005的工具和实用程序 289
9.4.1 SQL Server Management Studio 289
9.4.2 Business Intelligence Development Studio 290
9.4.3 SQL Server配置管理器 290
9.4.4 SQL Server Profiler 291
9.4.5 数据库引擎优化顾问 291
9.4.6 Analysis Services 292
9.4.7 实用程序 293
参考文献 295