第1章 数据库概论 1
1.1 数据库基础知识 1
1.1.1 数据与信息 1
1.1.2 数据处理与数据库 2
1.1.3 数据库管理系统 2
1.2 数据库技术的发展 3
1.2.1 人工管理阶段 3
1.2.2 文件系统阶段 3
1.2.3 数据库系统阶段 4
1.2.4 高级数据库系统阶段 5
1.3 数据模型 6
1.3.1 数据模型概述 6
1.3.2 概念模型 7
1.3.3 层次模型 8
1.3.4 网状模型 9
1.3.5 关系模型 9
1.4 数据库系统结构 11
1.4.1 三级模式结构 11
1.4.2 二级映像 12
本章小结 13
习题1 13
第2章 关系数据库简介 14
2.1 关系数据结构及形式化定义 14
2.1.1 关系 14
2.1.2 关系模式 15
2.2 关系代数和关系演算 16
2.2.1 关系代数 16
2.2.2 关系演算 24
2.3 关系的完整性 29
2.3.1 实体完整性 29
2.3.2 参照完整性 30
2.3.3 用户自定义完整性 30
本章小结 30
习题2 31
第3章 关系数据库查询语言SQL 32
3.1 SQL概述 32
3.1.1 SQL的产生 32
3.1.2 SQL的特点 32
3.1.3 SQL的相关术语 34
3.2 数据定义 34
3.2.1 数据定义语句与数据类型 34
3.2.2 基本表的定义、修改与删除 35
3.2.3 索引的建立与删除 40
3.3 数据查询 41
3.3.1 单表查询 42
3.3.2 连接查询 47
3.3.3 高级查询 48
3.4 数据更新 50
3.4.1 插入数据 50
3.4.2 修改数据 51
3.4.3 删除数据 51
3.5 视图 52
3.5.1 视图概述 52
3.5.2 建立视图 52
3.5.3 删除视图 53
3.5.4 查询视图 53
3.5.5 更新视图 54
本章小结 54
习题3 55
第4章 关系数据库设计理论 56
4.1 数据依赖 56
4.1.1 函数依赖 56
4.1.2 数据依赖的公理系统 57
4.2 关系的规范化 60
4.2.1 第一范式 61
4.2.2 第二范式 61
4.2.3 第三范式 62
4.2.4 BCNF 62
4.3 模式分解 63
4.3.1 模式分解规则 63
4.3.2 模式分解方法 64
4.3.3 模式分解算法 64
本章小结 65
习题4 66
第5章 数据库应用设计 68
5.1 数据库设计概述 68
5.1.1 数据库设计的特点 68
5.1.2 数据库设计方法概述 69
5.1.3 数据库设计的基本步骤 69
5.2 需求分析 71
5.2.1 需求分析的任务 72
5.2.2 需求分析的方法 72
5.3 概念设计 74
5.3.1 概念结构设计的方法 75
5.3.2 概念结构设计的实现过程 75
5.4 逻辑设计 77
5.4.1 逻辑设计的步骤 77
5.4.2 E-R图向关系模型的转换 77
5.5 物理设计 80
5.5.1 分析影响物理数据库设计的因素 80
5.5.2 为关系模式选择存取方法 80
5.5.3 设计数据库文件的物理存储结构 81
5.5.4 评价物理结构 81
5.6 数据库实施 82
5.6.1 数据库的建立 82
5.6.2 数据库的调整 82
5.6.3 应用程序的编制与调试 82
5.6.4 数据库系统的试运行 82
5.7 数据库运行和维护 83
5.7.1 数据库的转储和恢复 83
5.7.2 维持数据库的完整性与安全性 83
5.7.3 监测并改善数据库性能 83
5.7.4 数据库的重组和重构 83
本章小结 84
习题5 84
第6章 数据库保护 86
6.1 数据库的完整性控制 86
6.1.1 数据库完整性概述 86
6.1.2 数据库完整性约束 86
6.2 数据库中的事务 88
6.2.1 事务及其性质 89
6.2.2 事务的状态 90
6.2.3 使用SQL定义事务 91
6.3 数据库故障及恢复 91
6.3.1 数据库系统的故障 91
6.3.2 基于日志文件的数据恢复技术 92
6.3.3 数据转储及介质故障的恢复 94
6.3.4 检查点方法 96
6.4 数据库中的并发控制 97
6.4.1 并发的目的 97
6.4.2 并发所引起的问题 97
6.4.3 封锁 99
6.4.4 并发调度的可串行性 99
6.4.5 两段锁协议 99
6.4.6 活锁和死锁 100
6.4.7 封锁粒度和意向锁 101
6.5 数据库安全性机制 102
6.5.1 计算机系统安全性概述 103
6.5.2 数据库安全性控制 103
本章小结 105
习题6 106
第7章 SQL Server 2005基础 107
7.1 SQL Server 2005概述 107
7.1.1 SQL Server 2005的版本 107
7.1.2 SQL Server 2005的环境需求 108
7.2 SQL Server 2005的安装与配置 110
7.2.1 SQL Server 2005安装前的安全准备 110
7.2.2 SQL Server 2005的安装 111
7.2.3 SQL Server 2005安装后的安全工作 118
7.2.4 SQL Server 2005系统数据库简介 119
7.3 SQL Server 2005工具和实用程序 119
7.3.1 Analysis Services 120
7.3.2 配置工具 120
7.3.3 文档和教程 120
7.3.4 性能工具 121
7.3.5 SQL Server Business Intelligence Development Studio 124
7.3.6 SQL Server Management Studio 125
7.4 SQL Server 2005卸载 127
7.5 Transact-SQL简介 128
7.5.1 变量 129
7.5.2 注释符 129
7.5.3 流程控制语句及命令 129
7.5.4 其他语句及命令 133
本章小结 134
习题7 134
第8章 SQL Server 2005数据库管理 135
8.1 SQL Server 2005数据库的存储结构 135
8.1.1 SQL Server 2005数据库文件 135
8.1.2 SQL Server 2005数据库文件组 136
8.2 SQL Server 2005数据库操作 136
8.2.1 创建数据库 137
8.2.2 修改数据库 143
8.2.3 删除数据库 148
8.3 SQL Server 2005数据库备份 149
8.3.1 使用命令方式备份数据库 149
8.3.2 使用SQL Server 2005管理平台备份数据库 151
8.4 SQL Server 2005数据库还原 153
8.4.1 使用命令方式还原数据库 153
8.4.2 使用SQL Server 2005管理平台还原数据库 155
8.5 SQL Server 2005数据库维护 157
本章小结 163
习题8 163
第9章 数据表、索引与视图 164
9.1 数据表的定义与操作 164
9.1.1 创建数据表 164
9.1.2 修改数据表 165
9.1.3 删除数据表 167
9.2 约束的定义与操作 167
9.2.1 创建约束 167
9.2.2 操作约束 171
9.3 索引的定义与操作 171
9.3.1 创建索引 172
9.3.2 修改和删除索引 173
9.4 视图的定义与操作 174
9.4.1 创建视图 174
9.4.2 修改和删除视图 175
本章小结 176
习题9 176
第10章 存储过程与触发器 177
10.1 存储过程概述 177
10.1.1 存储过程的概念 177
10.1.2 存储过程的类型 177
10.2 存储过程的操作 178
10.2.1 创建存储过程 178
10.2.2 执行存储过程 181
10.2.3 查看存储过程 182
10.2.4 修改存储过程 184
10.2.5 删除存储过程 184
10.3 创建和执行带参数的存储过程 185
10.4 存储过程的重新编译 188
10.5 系统存储过程与扩展存储过程 189
10.5.1 系统存储过程 189
10.5.2 扩展存储过程 190
10.6 案例中的存储过程 190
10.7 触发器概述 193
10.8 触发器的创建执行 194
10.8.1 Inserted表和Deleted表 194
10.8.2 创建触发器 194
10.8.3 查看触发器信息 197
10.9 触发器的操作 198
10.9.1 修改触发器 198
10.9.2 禁止、启用和删除触发器 198
10.10 嵌套触发器 199
10.11 案例中的触发器 199
本章小结 201
习题10 201
第11章 SQL的安全管理 202
11.1 SQL Server的安全控制 202
11.1.1 SQL Server的安全机制 202
11.1.2 SQL Server的访问控制策略 203
11.2 管理SQL Server登录账户 205
11.2.1 建立登录账户 205
11.2.2 修改登录账户的属性 207
11.2.3 删除登录账户 208
11.3 管理数据库用户 209
11.3.1 建立数据库用户 210
11.3.2 删除数据库用户 211
11.4 管理权限 212
11.4.1 主体 212
11.4.2 安全对象 213
11.4.3 权限层次结构 213
11.5 角色 217
11.5.1 角色的类型 217
11.5.2 建立用户自定义的角色 218
11.5.3 为用户的角色授权 219
11.5.4 删除用户自定义角色 219
11.6 架构 220
11.6.1 架构的含义 220
11.6.2 创建架构 220
11.7 安全管理 222
11.7.1 账户管理 222
11.7.2 日志管理 223
11.7.3 扩展存储过程管理 224
11.7.4 端口管理 227
本章小结 227
习题11 227
第12章 C#.NET+SQL Server开发与编程 228
12.1 熟悉C#.NET连接数据库 228
12.1.1 C#.NET集成开发环境 228
12.1.2 通过ADO.NET连接数据库 231
12.2 使用C#.NET开发学生档案管理系统 234
12.2.1 示例介绍 234
12.2.2 数据库设计结构 234
12.2.3 建立数据库与基础数据表 236
12.2.4 创建C#.NET工程 241
12.2.5 添加C#.NET控件 242
12.2.6 设置DataGridView控件 243
12.2.7 编写事件代码 246
12.2.8 编译应用程序 249
12.3 应用程序的发布 250
本章小结 251
习题12 252
第13章 实验 253
实验1 SQL Server数据库的安装 253
实验2 创建数据库和表 253
实验3 数据的基本操作 255
实验4 数据查询 256
实验5 数据完整性 257
实验6 索引的应用 258
实验7 视图的应用 259
实验8 SQL程序 259
实验9 存储过程与触发器的应用 260
实验10 SQL Server的安全管理 261
实验11 备份与还原 262
附录 本书涉及的student数据库的安装信息 263
参考文献 272