第1章 数据库技术简介 1
1.1 数据库系统应用程序设计方案简介 1
1.1.1 数据库及数据库系统 1
1.1.2 数据库系统应用程序模型 2
1.1.3 常用数据库访问接口 3
1.2 SQL server简介 5
1.2.1 什么是 SQL Server 5
1.2.2 SQL Server的特点 5
1.2.3 SQL Server2005具有的新特性 6
1.3 SQL Server的组件 6
1.4 SQL Server2005的版本 8
1.5 SQL Server中常用的数据对象 9
1.5.1 数据库对象 9
1.5.2 数据库对象的引用方法 10
1.6 本章小结 11
第2章 SQL Server管理及开发工具 12
2.1 SQL Server管理器 12
2.2 启动与关闭服务器 13
2.2.1 启动SQL Server数据库引擎 13
2.2.2 暂停、停止SQL Server 14
2.3 创建服务器组和注册服务器 14
2.3.1 创建服务器组 14
2.3.2 服务器注册 15
2.4 连接和断开服务器 17
2.5 配置数据库属性 17
2.6 本章小结 20
第3章 Transact-SQL语言 21
3.1 SQL语言 21
3.2 Transact-SQL语言概述 22
3.2.1 Transact-SQL编程语言 22
3.2.2 SQL Server对象命名规则 23
3.2.3 Transact-SQL的元素 23
3.3 数据类型 25
3.3.1 系统提供的数据类型 25
3.3.2 用户自定义的数据类型 27
3.4 变量 28
3.4.1 局部变量 28
3.4.2 全局变量 29
3.5 注释符、运算符和通配符 30
3.5.1 注释符 30
3.5.2 运算符 30
3.5.3 通配符 33
3.6 流程控制命令 33
3.6.1 BEGIN…END 33
3.6.2 IF…ELSE 34
3.6.3 GOTO label 34
3.6.4 RETURN 34
3.6.5 WHILE 35
3.6.6 WAITFOR 35
3.6.7 BREAK和CONTINUE 36
3.6.8 CASE 36
3.7 其他命令 37
3.7.1 批处理 37
3.7.2 调试命令 38
3.7.3 切换数据库命令USE 39
3.8 常用函数 39
3.8.1 聚集函数 40
3.8.2 数学函数 41
3.8.3 字符串函数 41
3.8.4 日期函数 42
3.8.5 转换函数 42
3.8.6 系统函数 43
3.9 本章小结 44
第4章 管理数据库 45
4.1 创建数据库 45
4.1.1 创建新数据库的注意事项 46
4.1.2 文件与文件组 46
4.1.3 使用管理器创建数据库 47
4.1.4 使用Transact-SQL语句创建数据库 48
4.1.5 数据库对象属性设置 51
4.2 修改数据库 52
4.2.1 使用SQL Server管理器修改数据库 52
4.2.2 使用Transact-SQL语句修改数据库 52
4.3 删除数据库 55
4.4 数据库备份和恢复 55
4.4.1 备份和恢复数据库概述 56
4.4.2 创建和删除备份设备 58
4.4.3 备份数据库 61
4.5 还原数据库 65
4.5.1 使用管理器还原数据库 65
4.5.2 使用RESTORE命令还原数据库 67
4.6 SQL Server系统数据库介绍 68
4.6.1 数据库目录系统表 69
4.6.2 master数据库 70
4.6.3 msdb数据库 70
4.6.4 model数据库 71
4.6.5 tempdb数据库 71
4.7 本章小结 71
第5章 管理数据库及其完整性 72
5.1 创建表 72
5.1.1 设计表 72
5.1.2 使用SQL Server管理器创建表 73
5.1.3 使用Transact_SQL语句创建表 75
5.1.4 创建和使用5种基本约束 79
5.1.5 数据完整性分类 80
5.1.6 PRIMARY KEY约束 80
5.1.7 FOREIGN KEY约束 81
5.1.8 UNIQUE约束 82
5.1.9 CHECK约束 82
5.1.10 DEFAULT约束 83
5.2 修改表 84
5.3 查看表 89
5.4 删除表 90
5.5 创建和使用规则 90
5.5.1 创建规则 90
5.5.2 规则应用 92
5.5.3 删除规则 93
5.6 创建和使用默认 94
5.6.1 创建默认 94
5.6.2 默认应用 95
5.6.3 删除默认 96
5.7 本章小结 98
第6章 索引 99
6.1 索引简介 99
6.1.1 创建索引的目的 100
6.1.2 为何不在每一列上创建索引 101
6.1.3 考虑创建索引的列 101
6.1.4 不考虑创建索引的列 101
6.2 创建索引 102
6.2.1 使用SQL Server管理器创建索引 102
6.2.2 使用Transact-SQL语句创建索引 102
6.2.3 唯一索引 109
6.2.4 复合索引 109
6.2.5 创建索引的选项 110
6.3 索引信息查看和删除索引 111
6.3.1 索引信息查看 111
6.3.2 删除索引 112
6.4 维护索引 113
6.4.1 数据分段 113
6.4.2 DBCC SHOWCONTIG命令 114
6.4.3 DBCC DBREINDEX 119
6.4.4 索引统计值 119
6.4.5 索引分析 120
6.5 本章小结 122
第7章 数据库查询技术 123
7.1 SELECT语句 124
7.1.1 SELECT子句 124
7.1.2 INTO子句 125
7.1.3 FROM子句 126
7.1.4 WHERE子句 127
7.1.5 GROUP BY子句 127
7.1.6 HAVING子句 128
7.1.7 UNION操作符 128
7.1.8 ORDER BY子句 129
7.1.9 COMPUTE子句 129
7.1.10 FOR BROWSE子句 130
7.1.11 OPTION子句 131
7.2 简单查询 132
7.2.1 选择列 132
7.2.2 选择行 133
7.2.3 对查询结果排序 134
7.2.4 对查询结果分组 135
7.2.5 使用聚集函数 136
7.3 连接查询 136
7.3.1 等值连接查询 137
7.3.2 非等值连接查询 137
7.3.3 自连接查询 137
7.3.4 外部连接查询 138
7.3.5 复合条件连接查询 139
7.4 合并查询 139
7.5 嵌套子查询 140
7.6 存储查询结果 142
7.6.1 存储查询结果到表中 142
7.6.2 存储查询结果到变量中 142
7.7 本章小结 143
第8章 数据库更新 144
8.1添加数据 144
8.1.1 INSERT语句介绍 144
8.1.2 使用INSERT INTO…VALUES语句插入单行数据 146
8.1.3 使用INSERT…SELECT语句插入多行数据 147
8.1.4 使用存储过程插入数据 147
8.2 修改数据 148
8.2.1 UPDATE语句介绍 148
8.2.2 修改一行数据 151
8.2.3 更新多行数据 151
8.2.4 含子查询的数据更新 151
8.2.5 大量数据的更新 152
8.3 删除数据 152
8.3.1 DELETE语句介绍 152
8.3.2 删除一行数据 153
8.3.3 删除多行数据 153
8.3.4 含子查询的数据删除 154
8.3.5 删除当前游标行数据 154
8.3.6 使用TRUNCATE TABLE命令 154
8.4 事务 154
8.4.1 事务的由来 154
8.4.2 事务的概念 154
8.4.3 事务的使用 155
8.4 事务回滚 156
8.5 锁 157
8.5.1 锁的概念 157
8.5.2 锁的类型 157
8.5.3 隔离级(Isolation) 157
8.5.4 查看锁 158
8.5.5 死锁(Deadlocking)的预防 158
8.6 本章小结 158
第9章 存储过程和触发器 159
9.1 存储过程概述 159
9.1.1 存储过程的种类 159
9.1.2 存储过程的优势 160
9.2 创建和执行存储过程 160
9.2.1 创建存储过程 160
9.2.2 执行存储过程 162
9.3 修改和删除存储过程 162
9.3.1 修改存储过程 162
9.3.2 删除存储过程 163
9.4 参数化存储过程 164
9.4.1 带输入参数的存储过程 164
9.4.2 指定存储过程参数的默认值 164
9.4.3 带输出参数的存储过程 165
9.5 存储过程中的错误处理 166
9.5.1 错误处理 166
9.5.2 用户自定义错误信息 167
9.6 触发器概述 168
9.7 管理触发器 168
9.7.1 创建触发器 168
9.7.2 删除触发器 169
9.8 触发器的工作原理 169
9.8.1 inserted表和deleted表 169
9.8.2 触发器的类型 171
9.8.3 触发器限制 172
9.8.4 触发器的嵌套调用 172
9.9 INSTEAD OF触发器 173
9.9.1 INSTEAD OF INSERT触发器 173
9.9.2 INSTEAD OF DELETE触发器 175
9.9.3 INSTEAD OF DELETE触发器 175
9.10 触发器的应用 176
9.10.1 INSERT型触发器的应用 176
9.10.2 UPDATE型触发器的应用 176
9.10.3 DELETE型触发器的应用 177
9.11 触发器的高级应用 177
9.12 本章小结 180
第10章 视图、游标和自定义函数 181
10.1 视图简介 181
10.1.1 视图的概念 181
10.1.2 视图的优缺点 182
10.2 创建和管理视图 182
10.2.1 创建视图 182
10.2.2 管理视图 187
10.2.3 编辑视图 187
10.2.4 删除视图 188
10.3 通过视图管理数据 188
10.3.1 通过视图检索数据 189
10.3.2 通过视图插入数据 189
10.3.3 通过视图删除数据 190
10.3.4 通过视图更改数据 190
10.4 游标简介 191
10.4.1 游标的定义及种类 191
10.4.2 游标的声明 192
10.4.3 游标的使用 193
10.5 游标应用 195
10.5.1 使用游标查询数据 195
10.5.2 使用游标更改数据 196
10.5.3 使用游标删除数据 197
10.6 创建和使用自定义函数 198
10.6.1 标量函数 198
10.6.2 内嵌表值函数 199
10.6.3 多语句表值函数 201
10.7 本章小结 202
第11章 用户和安全性管理 204
11.1 SQL Server的登录认证 204
11.1.1 身份验证(Authentication)阶段 204
11.1.2 权限验证(Permission Validation) 204
11.2 管理SQL Server登录 205
11.2.1 身份验证模式介绍 205
11.2.2 设置身份验证模式 205
11.2.3 管理登录名 206
11.3 数据库用户 209
11.3.1 查看数据库用户 209
11.3.2 新增数据库用户 210
11.3.3 修改和删除数据库用户 211
11.4 权限管理 211
11.4.1 权限设置对话框 211
11.4.2 权限设置 213
11.5 角色管理 214
11.5.1 数据库角色 214
11.5.2 应用程序角色 216
11.5.3 用户和角色的权限问题 217
11.6 本章小结 218
第12章 ADO.Net程序设计 220
12.1 数据访问技术介绍 220
12.1.1 底层API 220
12.1.2 数据对象接口 221
12.1.3 数据控件 221
12.1.4 ADO对象模型 222
12.2 用于数据访问的命名空间 222
12.3 ADO.Net模型 223
12.3.1 ADO.Net简介 223
12.3.2 托管提供程序 224
12.3.3 ADO.Net模型体系 224
12.4 SqlConnection对象 226
12.4.1 SqlConnection的属性 226
12.4.2 SqlConnection的方法 227
12.5 SqlCommand对象 227
12.5.1 SqlCommand的属性 227
12.5.2 SqlCommand的方法 228
12.6 SqlParameter对象 230
12.6.1 SqlParameter对象介绍 230
12.6.2 SqlCommand的Parameters属性 231
12.6.3返回参数 231
12.7 SqlDataReader对象 233
12.7.1使用SqlDataReader 234
12.7.2使用SELECT语句检索数据 234
12.7.3 GetDataTypeName 235
12.7.4 GetValues/GetSqlValues 236
12.7.5检索多个结果集 237
12.7.6使用DataReader填充控件 237
12.8 SqlDataAdapter对象 238
12.9 DataSet对象 240
12.9.1 AcceptChanges 241
12.9.2 GetChanges 241
12.9.3 RejectChanges 242
12.9.4 Reset 242
12.10 DataTable对象 242
12.10.1 DefaultView属性 243
12.10.2 DataTable的方法 243
12.10.3 NewRow/ImportRow 244
12.10.4 Select 244
12.11 DataRow对象 245
12.11.1 ItemArray属性 245
12.11.2 RowState属性 246
12.11.3 RowVersion 246
12.12 DataColumn对象 247
12.12.1 AutoIncrement 247
12.12.2 DataType 248
12.12.3 Expression 248
12.12.4 ReadOnly 249
12.12.5 Unique 249
12.13 DataRelation对象 250
12.13.1 DataRelation的属性 250
12.13.2 使用DataRelation 250
12.13.3 约束条件 251
12.14 本章小结 252