第1章 数据库基础和数据库设计 1
1.1数据库系统 1
1.1.1数据、信息、数据库 1
1.1.2数据库管理系统 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关系数据库的完整性 12
1.4教学管理数据库操作任务 14
实验与思考 17
第2章 服务器安装配置和使用 18
2.1 SQL Server 2005概述 18
2.1.1 SQL Server 2005版本 18
和环境需求介绍 18
2.1.2 SQL Server 2005的特点和组成 19
2.1.3 SQL Server 2005的安装 21
2.1.4 SQL Server ManagementStudio介绍 24
2.1.5设置安全认证模式 26
2.1.6分离和附加数据库文件 26
2.2网络协议配置 27
2.2.1 SQL Server通信结构 27
2.2.2配置服务器端网络协议 28
2.2.3配置客户端网络协议 29
2.3使用外围应用配置器配置SQL Server服务 30
2.3.1启动外围应用配置器 30
2.3.2使用服务和连接的外围应用配置器 30
2.3.3使用功能的外围应用配置器 31
2.4添加新的注册服务器 31
2.4.1新建注册服务器 31
2.4.2连接到数据库服务器 32
2.5链接服务器建立及其使用 32
2.5.1链接服务器简介 32
2.5.2创建链接服务器 33
2.5.3创建链接服务器登录标志 34
2.5.4访问链接服务器 35
2.5.5访问链接服务器的实例 36
实验与思考 37
第3章SQL Server数据库结构和管理 39
3.1数据库物理存储结构 39
3.1.1数据库文件和文件组 39
3.1.2数据文件的使用分配 41
3.1.3事务日志文件结构 44
3.2数据库的逻辑组织 46
3.2.1数据库构架 46
3.2.2系统数据库 47
3.2.3用户数据库 47
3.3数据库创建与管理 48
3.3.1创建数据库 48
3.3.2管理数据库 51
实验与思考 56
第4章 表的存储原理及完整性创建管理 58
4.1 SQL Server表的类型 58
4.1.1 SQL Server的临时表 58
4.1.2 SQL Server的系统表和系统视图 59
4.2表的存储原理 60
4.2.1内部存储概述 60
4.2.2 SQL Server数据记录结构 61
4.3 SQL Server数据类型 64
4.3.1数值型数据 64
4.3.2货币型数据 64
4.3.3字符型数据 65
4.3.4日期/时间数据类型 65
4.4数据表的创建和管理 65
4.4.1数据表结构的创建 65
4.4.2数据表结构的管理 72
实验与思考 75
第5章 查询处理和表数据编辑 76
5.1查询数据 76
5.1.1简单查询 76
5.1.2统计 84
5.1.3连接查询 86
5.1.4子查询 89
5.1.5联合查询 92
5.2表数据编辑 92
5.2.1插入数据 92
5.2.2修改数据 94
5.2.3删除数据 95
实验与思考 96
第6章 索引的机理、规划和管理 98
6.1索引的作用与结构 98
6.1.1索引概述 98
6.1.2 SQL Server索引下的数据组织结构 99
6.2索引类型 102
6.2.1聚集索引和非聚集索引 102
6.2.2主键索引和非主键索引 102
6.2.3唯一索引和非唯一索引 102
6.2.4单列索引和复合索引 103
6.3规划设计索引的一般原则 103
6.3.1什么类型查询适合建立索引 103
6.3.2索引设计的其他准则 104
6.3.3索引的特征 105
6.3.4在文件组上合理放置索引 105
6.3.5索引优化建议 105
6.4索引的创建和删除 106
6.4.1创建索引 106
6.4.2删除索引 109
6.5查询中的执行计划 110
6.5.1查看查询执行计划 110
6.5.2索引和未索引执行计划的比较 111
6.6索引使用中的维护 115
6.6.1维护索引的统计信息 115
6.6.2维护索引碎片 116
实验与思考 117
第7章SQL Server事务和并发控制 119
7.1事务 119
7.1.1事务与并发控制的关系 119
7.1.2事务对保障数据一致和完整性的作用 120
7.2事务的分类和控制 122
7.2.1事务的分类 122
7.2.2事务控制 122
7.3编写有效事务的建议 124
7.3.1编写有效事务的指导原则 125
7.3.2避免并发问题 125
7.4事务处理实例分析 125
7.5分布式事务 129
7.5.1分布式事务的两阶段提交 129
7.5.2分布式事务的处理过程 129
7.5.3分布式事务实例分析 130
7.6并发控制 131
7.6.1 SQL Server锁的粒度及模式 131
7.6.2封锁协议 134
7.6.3事务隔离 135
7.6.4死锁处理 137
实验与思考 138
第8章Transact-SQL程序结构 140
8.1注释和变量 140
8.1.1 T-SQL程序的基本结构 140
8.1.2注释 142
8.1.3变量 143
8.1.4变量赋值 143
8.2运算符和表达式 144
8.2.1算术运算符 144
8.2.2位运算符 144
8.2.3连接运算符 144
8.2.4比较运算符 144
8.2.5逻辑运算符 145
8.2.6表达式 145
8.3函数 145
8.3.1数学函数 145
8.3.2字符串函数 147
8.3.3时间日期函数 148
8.3.4转换函数 149
8.3.5配置函数 151
8.4流程控制 152
8.4.1块语句 152
8.4.2条件语句 152
8.4.3 CASE语句 153
8.4.4循环语句 154
8.4.5等待语句 155
8.4.6 GOTO语句 156
8.4.7返回语句 156
8.5程序应用实例分析 156
实验与思考 158
第9章 视图的规划与操作 160
9.1视图的作用与规划 160
9.1.1视图的作用 160
9.1.2视图的规划 161
9.2视图操作 162
9.2.1创建视图 162
9.2.2视图的修改、重命名和删除 166
9.2.3查询视图 168
9.2.4更新视图 169
9.2.5特殊类型视图简介 172
9.3视图应用综合实例分析 177
实验与思考 179
第10章 游标操作和应用 181
10.1游标声明 182
10.1.1游标声明 182
10.1.2游标变量 185
10.1.3隐式游标转换 185
10.2游标数据操作 186
10.2.1打开游标 186
10.2.2读取游标数据 187
10.2.3关闭游标 189
10.2.4释放游标 190
10.2.5游标定位修改和删除操作 191
10.3游标应用实例分析 192
实验与思考 195
第11章 用户自定义函数设计 196
11.1用户自定义函数概述 196
11.1.1用户自定义函数的特点 196
11.1.2用户自定义函数的类型 196
11.2创建用户自定义函数 197
11.2.1使用对象资源管理器 198
11.2.2使用CREATE FUNCTION命令创建用户自定义函数 198
11.3用户自定义函数的调用 202
11.4修改和删除用户自定义函数 204
11.4.1修改用户自定义函数 204
11.4.2删除用户自定义函数 205
11.5用户自定义函数实例分析 206
实验与思考 208
第12章 存储过程和用户存储过程设计 209
12.1存储过程概述 209
12.1.1存储过程的概念和分类 209
12.1.2存储过程的优点 209
12.2系统存储过程 210
12.2.1系统存储过程分类 210
12.2.2一些常用的系统存储过程 211
12.3创建和执行用户存储过程 212
12.3.1创建用户存储过程 212
12.3.2执行用户存储过程 215
12.4带状态参数的存储过程及实例分析 218
12.4.1存储过程执行状态值的返回 218
12.4.2实例分析 219
12.5修改和删除存储过程 221
12.5.1修改存储过程 221
12.5.2删除存储过程 222
12.6存储过程设计实例分析 222
实验与思考 226
第13章 触发器原理及使用 228
13.1触发器基本概念 228
13.1.1触发器的概念及作用 228
13.1.2触发器的种类 229
13.2触发器原理 229
13.2.1插入表的功能 230
13.2.2删除表的功能 230
13.2.3插入视图和删除视图 230
13.3触发器的创建和管理 230
13.3.1创建触发器 230
13.3.2管理触发器 234
13.3.3修改、删除触发器 235
13.4使用触发器实现强制业务规则 236
13.4.1 SERT触发器 237
13.4.2 UPDATE触发器 237
13.4.3 DELETE触发器 238
13.4.4 STEAD OF触发器 239
13.4.5递归触发器 241
13.4.6嵌套触发器 242
13.5使用触发器的T -SQL限制 242
13.6触发器应用实例分析 243
实验与思考 246
第14章 数据库安全及访问控制 247
14.1 SQL Server安全认证模式 247
14.2 SQL Server登录账户的管理 248
14.2.1 Windows登录账户的建立与删除 248
14.2.2 SQL Server登录账户建立与删除 251
14.3数据库访问权限的建立与删除 252
14.3.1建立用户访问数据库的权限 253
14.3.2删除用户访问数据库的权限 253
14.4角色管理 254
14.4.1固定服务器角色 255
14.4.2数据库角色 257
14.5数据库权限管理 263
14.5.1权限种类 263
14.5.2授予权限 264
14.5.3禁止权限 266
14.5.4取消权限 268
14.6安全控制设置的实例分析 269
实验与思考 271
第15章 数据备份与恢复 272
15.1数据备份概述 272
15.1.1备份策略规划 272
15.1.2数据一致性检查 274
15.2备份前的准备 275
15.2.1设置恢复模式 275
15.2.2掌握备份设备管理 276
15.3数据库备份 278
15.3.1 BACKUP语句的语法格式 278
15.3.2执行数据库备份 280
15.4数据库恢复概述 283
15.4.1系统自启动的恢复进程 283
15.4.2用户手工恢复数据库的准备 284
15.5数据库恢复 284
15.5.1 RESTORE语句的语法格式 284
15.5.2数据库恢复 286
15.6备份与恢复数据库实例分析 288
15.6.1用户数据库备份恢复 288
15.6.2系统数据库恢复方法 290
实验与思考 291
第16章 数据复制与转换 292
16.1复制概述 292
16.1.1复制结构 292
16.1.2复制类型 294
16.1.3复制代理 295
16.1.4可更新订阅 295
16.2配置复制 296
16.2.1创建服务器角色和分发数据库 296
16.2.2配置复制选项 297
16.2.3删除复制配置信息 298
16.3创建发布出版物 298
16.4订阅出版物 299
16.5管理复制选项 299
16.5.1可更新的订阅选项 299
16.5.2筛选复制数据 300
16.5.3可选同步伙伴 301
16.6复制监视器 301
16.7数据导入导出 302
16.7.1 SQL Server数据表数据导出 302
16.7.2 SQL Server数据表数据导入 303
16.8复制实例 303
实验与思考 306
附录A样例数据库创建及数据输入 307
参考文献 312