第1章 数据库系统概述 1
1.1 数据管理技术的发展 1
1.1.1 人工管理阶段 1
1.1.2 文件系统管理阶段 2
1.1.3 数据库系统管理阶段 4
1.1.4 高级数据库阶段 4
1.2 数据库系统 5
1.2.1 数据库系统的组成 5
1.2.2 数据库系统的特点 7
1.3 数据库管理系统 9
1.3.1 SQL Server 2008简介 10
1.3.2 SQL Server 2008的组件与功能 10
1.3.3 SQL Server Management Studio 11
1.3.4 配置SQL Server服务 12
1.3.5 数据库的基本操作 13
1.4 数据库系统结构 18
1.4.1 三级模式结构 18
1.4.2 二级映像功能 20
本章小结 21
习题1 21
第2章 关系数据库的设计 23
2.1 数据库设计概述 23
2.2 概念模型的设计 24
2.2.1 E-R模型的基本概念 24
2.2.2 子类的设计 28
2.2.3 E-R图设计实例 28
2.3 逻辑模型的设计 31
2.3.1 数据结构——关系 31
2.3.2 关系的操作和完整性约束 35
2.3.3 E-R图向关系模型的转换 35
2.4 物理模型的设计 38
2.4.1 物理结构设计的任务 38
2.4.2 物理结构设计方法 38
2.4.3 学生选课管理数据库的物理设计 39
2.5 数据库的实施与维护 40
2.5.1 数据库实施 40
2.5.2 数据库运行和维护阶段 40
2.6 使用Management Studio创建数据表 40
本章小结 44
习题2 45
第3章 关系数据库的定义与完整性的实现 47
3.1 SQL语言 47
3.1.1 SQL的特点 47
3.1.2 SQL的主要功能 48
3.1.3 SQL Server提供的主要数据类型 49
3.2 关系数据库的定义 50
3.2.1 数据库的创建 50
3.2.2 数据库的删除 53
3.3 SQL表结构的定义 53
3.3.1 基本表的创建 53
3.3.2 修改表结构 54
3.3.3 删除表 55
3.4 完整性约束 55
3.4.1 实体完整性 56
3.4.2 参照完整性 57
3.4.3 用户定义完整性 58
本章小结 61
习题3 62
第4章 查询、视图与索引 64
4.1 关系代数 64
4.1.1 传统的集合运算 65
4.1.2 专门的关系运算 67
4.2 单表查询 73
4.2.1 基本查询 73
4.2.2 使用列表达式 75
4.2.3 查询满足条件的元组 76
4.2.4 对查询结果进行排序 80
4.2.5 聚合函数 80
4.2.6 GROUP BY子句 81
4.3 连接查询 82
4.3.1 内连接查询 82
4.3.2 自连接查询 84
4.3.3 外连接查询 86
4.4 子查询 88
4.5 集合查询 94
4.6 视图 96
4.6.1 定义视图 97
4.6.2 修改和删除视图 99
4.6.3 查询视图 99
4.6.4 更新视图数据 101
4.6.5 视图的作用 102
4.6.6 物化视图 103
4.7 索引 104
4.7.1 索引的建立 104
4.7.2 索引的删除 105
4.7.3 建立索引的原则 106
本章小结 106
习题4 107
第5章 数据操作 109
5.1 数据的插入 109
5.1.1 插入一个元组 109
5.1.2 插入多个元组 110
5.2 数据的更改 110
5.2.1 无条件更改 111
5.2.2 有条件更改 111
5.3 数据的删除 111
5.3.1 无条件删除 112
5.3.2 有条件删除 112
本章小结 113
习题5 113
第6章 关系数据库的规范化 114
6.1 函数依赖 114
6.1.1 关系数据库中的问题 114
6.1.2 函数依赖的基本概念 115
6.1.3 一些术语和符号 116
6.1.4 关系模式中的码 117
6.1.5 函数依赖的推理规则 118
6.2 关系模式的规范化 120
6.2.1 第一范式 120
6.2.2 第二范式 121
6.2.3 第三范式 122
6.2.4 BC范式 123
6.2.5 将关系规范到BCNF 124
6.3 模式分解 125
本章小结 127
习题6 128
第7章 管理数据库 129
7.1 数据库的安全管理 129
7.1.1 数据库安全控制的目标 130
7.1.2 数据库安全的威胁 130
7.1.3 数据库安全问题的类型 131
7.1.4 安全控制模型 131
7.1.5 授权和认证 131
7.1.6 自主存取控制方法 132
7.1.7 强制存取控制(MAC)方法 134
7.1.8 视图机制 135
7.1.9 审计跟踪 136
7.1.10 统计数据库安全性 136
7.2 数据库的恢复技术 137
7.2.1 事务的基本概念 137
7.2.2 数据库恢复概述 139
7.2.3 恢复的实现技术 141
7.2.4 恢复策略 144
7.2.5 具有检查点的恢复技术 145
7.2.6 数据库镜像 147
7.3 并发控制 148
7.3.1 并发控制概述 148
7.3.2 封锁 153
7.3.3 并发调度可串行化的两个充分条件 156
本章小结 158
习题7 159
第8章 T-SQL程序设计与开发 161
8.1 T-SQL程序设计基础 161
8.1.1 变量 161
8.1.2 运算符 163
8.1.3 函数 165
8.2 流程控制语句 169
8.2.1 语句块:BEGIN…END 170
8.2.2 条件执行:IF…ELSE语句 170
8.2.3 多分支CASE表达式 171
8.2.4 循环:WHILE语句 172
8.2.5 非条件执行:GOTO语句 174
8.2.6 调度执行:WAIT FOR 174
8.3 游标 175
8.3.1 游标的原理及使用方法 175
8.3.2 游标应用举例 178
8.4 存储过程 180
8.4.1 存储过程的创建与执行 180
8.4.2 存储过程的管理与维护 182
8.4.3 用户自定义函数 184
8.5 触发器 187
8.5.1 触发器的基本概念 188
8.5.2 创建触发器 188
8.5.3 管理触发器 191
本章小结 192
习题8 192
第9章 SQL Server 2008编程应用实例 194
9.1 数据库应用结构 194
9.1.1 客户/服务器结构 194
9.1.2 浏览器/服务器结构 195
9.2 数据访问接口 195
9.2.1 ODBC 195
9.2.2 ADO 196
9.2.3 JDBC 197
9.3 数据库应用系统的开发 198
9.4 数据库设计 199
9.4.1 数据的需求分析 199
9.4.2 概念模式设计 199
9.4.3 逻辑模式设计 200
9.4.4 物理模型的设计 200
9.4.5 数据库的实施 201
9.5 系统实现 203
本章小结 208
习题9 208
参考文献 209