第一篇 数据库系统原理 3
第1章 数据库基本概念 3
1.1 信息、数据与数据库 3
1.1.1 信息与数据 3
1.1.2 数据管理与数据库 4
1.2 数据管理技术及其发展 4
1.2.1 人工管理阶段 5
1.2.2 文件系统管理阶段 5
1.2.3 数据库系统阶段 6
1.3 数据库系统 7
1.3.1 数据库系统的构成 7
1.3.2 数据库体系结构 9
1.4 数据库管理系统 11
1.4.1 数据库管理系统的工作模式 11
1.4.2 数据库管理系统的主要功能 12
习题1 13
第2章 数据模型 14
2.1 信息描述 14
2.1.1 现实世界 15
2.1.2 信息世界 15
2.1.3 数据世界 16
2.2 概念模型 16
2.2.1 概念模型的基本概念 16
2.2.2 概念模型的表示方法 19
2.3 数据模型和关系模型 23
2.3.1 数据模型概述 23
2.3.2 关系模型概述 24
习题2 27
第3章 关系数据模型 28
3.1 关系模型及其定义 28
3.1.1 关系数据结构 28
3.1.2 关系操作概述 31
3.1.3 关系的完整性 32
3.2 关系代数 35
3.2.1 关系查询语言和关系运算 35
3.2.2 传统的关系运算 36
3.2.3 专门的关系运算 38
3.2.4 关系运算应用实例 44
3.3 关系系统 45
3.3.1 关系系统的定义 45
3.3.2 关系系统的分类 45
习题3 46
第4章 关系数据库规范化理论 48
4.1 关系模式规范化的必要性 48
4.2 函数依赖 50
4.2.1 函数依赖的定义 50
4.2.2 函数依赖的Armstrong公理 51
4.2.3 键及候选键 53
4.3 规范化与范式 53
4.3.1 第一范式(1NF) 54
4.3.2 第二范式(2NF) 54
4.3.3 第三范式(3NF) 55
4.3.4 Boyce-Codd范式(BCNF) 55
习题4 56
第5章 数据库系统设计 57
5.1 数据库设计概述 57
5.1.1 数据库系统设计的内容 57
5.1.2 数据库设计的基本方法 58
5.1.3 数据库系统设计的基本步骤 59
5.2 数据库规划 61
5.3 需求分析 62
5.3.1 需求分析的步骤 62
5.3.2 需求分析的方法 63
5.4 概念结构设计 64
5.4.1 概念结构的特点及设计方法 64
5.4.2 数据抽象与局部视图设计 66
5.4.3 视图的集成 69
5.5 逻辑结构设计 72
5.5.1 概念模型向关系模型的转换 72
5.5.2 关系模式规范化 74
5.5.3 模式的评价与优化 74
5.5.4 用户子模式的设计 76
5.6 物理结构设计 77
5.6.1 数据库物理设计的影响因素和内容 77
5.6.2 关系模式存取方法选择 78
5.6.3 确定数据库的存储结构 80
5.7 数据库的实施与维护 81
5.7.1 数据的载入和应用程序的调试 81
5.7.2 数据库的试运行 82
5.7.3 数据库的运行和维护 83
习题5 84
第二篇 MS SQL Server2008关系数据库管理系统 89
第6章 SQL Server 2008概述 89
6.1 SQL Server 2008简介 89
6.1.1 SQL Server的发展历程 89
6.1.2 SQL Server 2008的体系结构 90
6.2 SQL Server 2008的安装 91
6.2.1 SQL Server 2008的版本 91
6.2.2 软硬件安装需求 93
6.2.3 安装SQL Server 2008 93
6.3 SQL Server Management Studio功能与操作 103
6.3.1 启动SQL Server Management Studio 103
6.3.2 SQL Server Management Studio组件简介 103
6.3.3 SQL查询编辑器 105
6.4 SQL Server系统数据库 105
6.5 数据库的创建与管理 106
6.5.1 数据库的构成 106
6.5.2 创建数据库的方法 107
6.5.3 使用数据库 109
6.5.4 修改数据库 109
6.5.5 删除数据库的方法 111
习题6 111
第7章 关系数据库语言SQL 112
7.1 SQL概述及特点 112
7.1.1 SQL语言的发展历程 112
7.1.2 SQL语言的特点 113
7.1.3 SQL数据库的体系结构 114
7.1.4 T-SQL与SQL 114
7.1.5 T-SQL语言概述 114
7.2 表的定义与维护 115
7.2.1 数据类型 116
7.2.2 基本表的定义 120
7.2.3 基本表的修改 125
7.2.4 基本表的删除 126
7.2.5 向表中录入数据 127
7.3 索引的定义与维护 127
7.3.1 索引概述 127
7.3.2 索引的创建 128
7.3.3 索引的删除 130
7.4 SQL数据查询 130
7.4.1 SELECT语句 130
7.4.2 单表查询 132
7.4.3 连接查询 141
7.4.4 嵌套查询 145
7.4.5 集合查询 149
7.5 SQL的数据更新功能 151
7.5.1 SQL的数据插入功能 151
7.5.2 SQL的数据修改功能 152
7.5.3 SQL的数据删除功能 153
7.6 视图 153
7.6.1 视图的概念 153
7.6.2 视图的创建 154
7.6.3 视图的操作 157
7.6.4 使用视图的作用与限制 159
习题7 160
第8章 Transact-SQL程序设计 162
8.1 Transact-SQL程序设计基础 162
8.1.1 常量、变量与运算符 162
8.1.2 流程控制 168
8.1.3 T-SQL的常用函数 171
8.1.4 用户自定义函数 174
8.2 存储过程 177
8.2.1 存储过程概述 177
8.2.2 创建存储过程 178
8.2.3 执行存储过程 180
8.2.4 修改存储过程 181
8.2.5 删除存储过程 182
8.2.6 存储过程的参数及返回值 182
8.3 触发器 186
8.3.1 触发器概述 186
8.3.2 创建触发器 187
8.3.3 修改触发器 189
8.3.4 删除触发器 190
8.3.5 禁用/激活触发器 190
8.4 游标 191
8.4.1 游标概述 191
8.4.2 游标的基本操作 191
8.4.3 游标的应用 194
习题8 197
第9章 事务与并发控制 198
9.1 事务概述 198
9.1.1 事务的特点 198
9.1.2 事务的分类 199
9.2 管理事务 200
9.2.1 显式事务 200
9.2.2 隐式事务 202
9.2.3 自动提交事务 204
9.3 并发操作 204
9.3.1 并发操作的影响 204
9.3.2 封锁 206
9.3.3 封锁协议 206
9.3.4 活锁和死锁 208
9.4 SQL Server的并发控制 209
9.4.1 事务的隔离级别 209
9.4.2 SQL Server封锁管理 211
习题9 214
第10章 SQL Server 2008数据库安全技术 215
10.1 SQL Server安全机制 215
10.2 SQL Server的验证模式 216
10.3 SQL Server的登录和角色管理 218
10.3.1 服务器的登录账号 218
10.3.2 服务器角色管理 220
10.4 SQL Server数据库用户与角色管理 222
10.4.1 数据库用户 222
10.4.2 数据库角色 224
10.5 用户和角色的权限管理 225
10.5.1 SQL Server权限种类 226
10.5.2 T-SQL中的权限操作 226
10.5.3 利用SSMS进行权限管理 228
习题10 230
第11章 SQL Server 2008数据库维护 231
11.1 数据库的收缩 231
11.1.1 自动收缩 231
11.1.2 手动收缩 232
11.2 数据库的分离与附加 233
11.2.1 分离数据库 233
11.2.2 附加数据库 234
11.3 数据库备份与还原 235
11.3.1 数据备份类型 235
11.3.2 恢复模式 236
11.3.3 备份设备 237
11.3.4 数据库备份 239
11.3.5 还原数据库 242
11.3.6 备份策略 244
习题11 245
第三篇 基于C#.NET的数据库应用系统开发 249
第12章 Visual Studio 2008入门 249
12.1 C#概述 249
12.1.1 C#与.NET 249
12.1.2 C#的特点 250
12.2 用C#创建.NET应用程序 250
12.2.1 配置和认识Visual Studio 2008开发环境 250
12.2.2 C#程序的基本结构 252
12.3 开发Windows Form应用程序 255
习题12 259
第13章 C#编程基础 261
13.1 C#的基本语言元素 261
13.1.1 数据类型 261
13.1.2 数据类型转换 265
13.1.3 变量和常量 266
13.1.4 运算符和表达式 268
13.1.5 表达式与运算的优先级 269
13.2 C#语言的基本语句 269
13.2.1 条件语句 269
13.2.2 switch多分支选择语句 270
13.2.3 循环语句 271
13.2.4 跳转语句 273
13.3 C#面向对象程序设计 274
13.3.1 类和对象 274
13.3.2 类的成员变量 275
13.3.3 类的成员方法 276
13.3.4 类的继承、封装和多态 278
13.4 C#在VS 2008环境下调试及排错方法 282
13.4.1 编译时错误及纠正方法 282
13.4.2 运行时错误及处理方法 283
13.4.3 VS 2008调试技术 285
习题13 286
第14章 Visual Studio 2008中的数据库开发技术 287
14.1 ADO.NET概述 287
14.1.1 ADO.NET相关类库 287
14.1.2 两种ADO.NET访问数据库的模式 289
14.2 数据集DataSet和DataTable 290
14.2.1 数据表DataTable 290
14.2.2 数据集DataSet 291
14.3 ADO.NET连接模式访问数据库 292
14.3.1 SqlConnection对象 292
14.3.2 SqlCommand对象 293
14.3.3 SqlDataReader对象 295
14.4 ADO.NET无连接模式访问数据库 295
14.4.1 了解SqlDataAdapter对象 295
14.4.2 使用SqlDataAdapter操作数据 297
14.5 开发职工数据编辑窗口 297
14.5.1 职工与专业数据表设计 298
14.5.2 职工数据编辑窗口的设计 298
14.5.3 运行时错误及处理方法 301
14.6 可视化控件实现数据访问的相关技术 303
14.6.1 .NET数据绑定技术 303
14.6.2 使用TableAdapter组件进行带参数的多表查询 305
14.6.3 用TableAdapter实现主表/明细表关系 307
习题14 308
第15章 SQL Server 2008数据库应用系统开发实例 310
15.1 进销存数据库的设计 310
15.2 进销存数据库应用系统基本框架的搭建 315
15.2.1 创建Jxc工程和设计主窗体 315
15.2.2 用户登录窗体设计 317
15.2.3 账户及权限设计 319
15.3 职工管理等辅助数据管理功能的实现 320
15.3.1 职工管理窗体的权限控制 320
15.3.2 其他辅助数据管理窗体的设计 321
15.4 进货功能的实现 322
15.4.1 进货有关的视图及存储过程设计 322
15.4.2 进货窗体及有关的ADO.NET控件和程序代码设计 325
15.4.3 进货查询统计有关的视图及存储过程设计 328
15.4.4 进货查询统计窗体及程序代码设计 329
15.5 其他功能设计概要 332
习题15 334
参考文献 335