第1章 认识数据库 1
1.1数据管理技术的发展 2
1.1.1数据处理技术 2
1.1.2数据库技术的发展阶段 2
1.1.3数据库技术的新进展 4
1.2数据库系统 6
1.2.1数据库系统的组成 6
1.2.2数据库系统的模式结构 6
1.2.3数据库系统的体系结构 9
1.3 SQL Server数据库管理系统 11
1.3.1 SQL Server 2008简介 11
1.3.2配置SQL Server 2008 13
1.3.3 SQL Server 2008主要管理工具 15
1.3.4 SQL概述 18
1.4数据库的基本操作 22
1.4.1 SQL Sever数据库的存储结构 22
1.4.2 SQL Server系统数据库 24
1.4.3创建数据库 25
1.4.4修改数据库 28
1.4.5删除数据库 30
1.4.6数据备份与还原 31
1.5数据库的其他操作 35
1.5.1分离和附加数据库 35
1.5.2脱机和联机数据库 37
1.5.3收缩数据库 37
思考与练习 38
第2章 管理与维护表 39
2.1关系模型 39
2.1.1关系模型的基本术语 39
2.1.2关系的键 40
2.1.3关系的完整性 41
2.2表结构与数据类型 43
2.2.1数据类型 43
2.2.2约束 47
2.2.3表结构设计 49
2.3表的创建、修改和删除 50
2.3.1表的创建 50
2.3.2表的修改 51
2.3.3表的删除 52
2.4表的数据操作 53
2.4.1插入数据 53
2.4.2修改数据 54
2.4.3删除数据 54
2.4.4更新操作与数据库的一致性 55
2.5实例——学籍管理数据库中表的创建 57
思考与练习 59
第3章 查询、视图和索引 61
3.1关系代数 61
3.1.1传统的集合运算 64
3.1.2专门的关系运算 65
3.1.3关系代数查询综合举例 70
3.2简单查询 71
3.2.1选择表中的若干列 71
3.2.2选择表中的若干元组 74
3.2.3对查询结果排序 79
3.3连接查询 80
3.3.1等值与非等值连接查询 80
3.3.2自身连接 83
3.3.3外连接 83
3.4分组及汇总查询 85
3.4.1聚合函数 85
3.4.2分组聚合 86
3.5嵌套查询 88
3.5.1使用IN的子查询 89
3.5.2使用比较运算符的子查询 91
3.5.3使用ANY或ALL的子查询 92
3.5.4使用存在量词EXISTS的子查询 93
3.6集合查询 95
3.7 SQL查询的一般格式 96
3.8视图 97
3.8.1创建视图 97
3.8.2管理视图 100
3.8.3查询视图 101
3.8.4更新视图 102
3.8.5视图的作用 105
3.9索引 106
3.9.1索引的概念 106
3.9.2索引的分类 107
3.9.3创建索引 107
3.9.4管理索引 109
思考与练习 110
第4章 数据库设计 112
4.1数据库设计概述 112
4.1.1数据库设计任务及方法 112
4.1.2数据库设计阶段划分 114
4.2需求分析 114
4.2.1需求分析方法 115
4.2.2数据流图与数据字典 116
4.2.3实例——学籍管理需求分析 119
4.3概念结构设计 123
4.3.1概念结构设计的特点和方法 123
4.3.2概念模型 123
4.3.3数据抽象与局部视图设计 125
4.3.4视图的集成 126
4.3.5实例——学籍管理概念结构设计 127
4.4逻辑结构设计 129
4.4.1 E-R图向关系数据模型的转换 129
4.4.2函数依赖 133
4.4.3范式 136
4.4.4关系模式的规范化 145
4.4.5设计用户子模式 148
4.4.6实例——学籍管理逻辑结构设计 149
4.5物理结构设计 150
4.5.1分析影响数据库物理设计的因素 151
4.5.2关系模式存取方法选择 152
4.5.3确定系统配置 153
4.5.4评价物理结构 153
4.6数据库实施与维护 153
4.6.1创建数据库 153
4.6.2组织数据入库 154
4.6.3数据库试运行 154
4.6.4数据库运行与维护 154
4.7数据库建模工具 155
思考与练习 157
第5章SQL程序设计与开发 158
5.1批处理与脚本 159
5.1.1批处理 159
5.1.2脚本 160
5.2 SQL程序设计基础 160
5.2.1 SQL程序基本成分 161
5.2.2 SQL程序编写规范 163
5.3流程控制语句 164
5.3.1语句块::BEGIN.END 165
5.3.2条件执行:IF…ELSE语句 165
5.3.3多分支CASE表达式 166
5.3.4循环:WHILE语句 167
5.3.5非条件执行:GOTO语句 168
5.3.6调度执行:WAITFOR 168
5.4游标 168
5.4.1游标 168
5.4.2声明游标 169
5.4.3打开游标 170
5.4.4读取数据 170
5.4.5关闭游标 172
5.4.6释放游标 172
5.5 SQL程序的调试与错误处理 174
5.5.1 SQL程序的错误类型 174
5.5.2 SQL程序的错误处理 174
5.6 SQL程序实例 175
5.6.1自定义函数 175
5.6.2存储过程 176
5.6.3触发器 179
思考与练习 180
第6章 管理数据库 182
6.1数据库的安全管理 183
6.1.1安全性概述 183
6.1.2数据库管理系统的身份识别机制 183
6.1.3 SOL Server的用户和角色管理 184
6.1.4 SQL Server的安全认证模式 192
6.2数据库的完整性管理 193
6.2.1完整性约束 193
6.2.2完整性控制 195
6.2.3 SQL Server数据完整性的实现方法 197
6.3 SQL Server数据库恢复 200
6.3.1恢复的原理 201
6.3.2恢复的实现 202
6.3.3数据库镜像 207
6.4并发控制 208
6.4.1并发控制概述 209
6.4.2并发调度的可串行性 211
6.4.3封锁协议 212
6.4.4死锁和活锁 214
思考与练习 215
第7章 应用实例——学籍管理系统 217
7.1系统开发环境 217
7.2系统功能结构设计 218
7.3数据库设计 218
7.4 ADO.NET数据库访问SQL Server技术 219
7.4.1 ADO.NET的数据处理类 219
7.4.2 ADO.NET的数据处理类的常用属性和方法 220
7.4.3 ADO.NET访问数据库的步骤 221
7.5系统实现 222
7.5.1系统主框架布局设计 223
7.5.2系统页面模板设计 223
7.5.3设置数据库连接信息 223
7.5.4系统公共类 224
7.5.5系统部分存储过程、自定义函数、视图 230
7.5.6系统部分页面 233
附录A SQL Server支持的运算符与函数 241
附录B学籍管理数据表结构 245
参考文献 248