第1章 数据库基础 1
1.1 概述 1
1.2 数据库模型 2
1.2.1 网状 2
1.2.2 层次型 2
1.2.3 关系型 3
1.3 数据库系统 3
1.3.1 数据库系统的用户 4
1.3.2 数据库管理系统 4
1.3.3 数据库管理系统的网络结构 5
1.4 关系型数据库 7
1.4.1 关系型数据库的定义 7
1.4.2 关系数据库与表 8
1.4.3 表的主键和外键 9
1.4.4 数据完整性 9
1.4.5 表的关联种类 10
1.5 关系数据库的设计 10
1.5.1 数据库设计过程 10
1.5.2 关系数据库规范化 11
1.6 课堂演练 12
1.6.1 图书和订单管理系统中表的设计 12
1.6.2 公告信息系统中表的设计 13
1.7 小结 14
1.8 课后练习 14
1.8.1 简答题 14
1.8.2 操作题 14
第2章 初识SQL Server 2005 15
2.1 SQL Server 2005简介 15
2.1.1 概述 15
2.1.2 SQL Server 2005技术 16
2.1.3 SQL Server 2005的新增功能 17
2.2 SQL Server 2005版本及系统需求 20
2.2.1 SQL Server 2005的版本 20
2.2.2 SQL Server 2005的硬件需求 21
2.2.3 SQL Server 2005的软件需求 22
2.2.4 网络软件 23
2.2.5 Internet要求 25
2.3 SQL Server 2005的安装 25
2.3.1 SQL Server的配置选项 25
2.3.2 从光盘直接安装 29
2.3.3 其他安装方式 35
2.3.4 从其他版本升级到SQL Server 2005 37
2.4 SQL Server 2005的工具和实用工具概述 37
2.4.1 SQL Server Management Studio 38
2.4.2 Business Intelligence Development Studio 41
2.4.3 Analysis Services 42
2.4.4 SQL Server Configuration Manager配置工具 42
2.4.5 性能工具 45
2.4.6 文档和教程 48
2.5 管理SQL Server服务器 49
2.5.1 管理服务器组 49
2.5.2 注册服务器 50
2.6 课堂演练 51
2.7 小结 52
2.8 课后练习 52
2.8.1 简答题 52
2.8.2 操作题 52
第3章 数据库和表 53
3.1 数据库存储结构 53
3.1.1 数据库文件和文件组 53
3.1.2 页和区 54
3.1.3 事务日志 57
3.2 查看数据库 59
3.2.1 查看系统数据库 59
3.2.2 查看用户数据库 60
3.2.3 查看表之间的关系图 63
3.2.4 查看表的结构和内容 65
3.2.5 查看视图 66
3.2.6 查看存储过程 67
3.2.7 查看用户和角色 69
3.2.8 数据库架构 72
3.3 数据库的建立和删除 74
3.3.1 建立数据库 74
3.3.2 删除数据库 77
3.3.3 数据库文件和文件组设置 77
3.3.4 数据库大小估算和收缩数据库 79
3.4 表的建立、删除与修改 81
3.4.1 新建表 81
3.4.2 修改表的结构 82
3.4.3 建立表间的关联 82
3.4.4 删除表 85
3.4.5 记录的新增和修改 87
3.5 课堂演练 87
3.5.1 创建boarddb数据库 87
3.5.2 创建boarddb数据库中的表 87
3.6 小结 88
3.7 课后练习 89
3.7.1 选择题和简答题 89
3.7.2 操作题 89
第4章 账户和存取权限 90
4.1 SQL Server的验证模式 90
4.1.1 Windows验证模式 90
4.1.2 混合验证模式 91
4.1.3 设置验证模式 92
4.2 账户和角色 93
4.2.1 服务器的登录账户 93
4.2.2 数据库用户 96
4.2.3 角色 100
4.2.4 用户和角色的权限问题 104
4.3 课堂演练 105
4.3.1 创建登录账户boardacc 105
4.3.2 设置boardacc用户的权限 106
4.4 小结 106
4.5 课后练习 107
4.5.1 选择题和简答题 107
4.5.2 操作题 108
第5章 Transact-SQL及其程序设计基础 109
5.1 SQL语言 109
5.1.1 概述 109
5.1.2 SQL语言的分类 110
5.2 Transact-SQL基础 111
5.2.1 在SQL Server Management Studio中执行SQL语句 111
5.2.2 数据查询 112
5.2.3 数据插入和删除 115
5.2.4 数据修改 117
5.2.5 使用函数 117
5.2.6 使用公式 117
5.2.7 数据库的操作语句 118
5.2.8 表的操作语句 120
5.3 Transact-SQL程序设计基础 122
5.3.1 标识符 122
5.3.2 数据类型 125
5.3.3 运算符 138
5.3.4 变量 143
5.3.5 批处理 145
5.3.6 注释 146
5.3.7 控制流语句 147
5.3.8 函数 153
5.4 课堂演练 156
5.4.1 在users表中插入记录 156
5.4.2 显示打折后的书籍价格 157
5.4.3 判断学生成绩及格与否 157
5.5 小结 157
5.6 课后练习 158
5.6.1 简答题 158
5.6.2 操作题 158
第6章 提高检索效率的索引 159
6.1 索引简介 159
6.1.1 创建索引的原因 160
6.1.2 建立索引应该考虑的问题 161
6.2 索引类型 162
6.2.1 B-Tree索引结构 162
6.2.2 聚集索引和非聚集索引 163
6.2.3 唯一索引和组合索引 166
6.3 创建索引 166
6.3.1 通过SQL Server Management Studio创建索引 166
6.3.2 使用SQL语言创建索引 168
6.3.3 创建索引的选项设置 170
6.3.4 创建索引的空间考虑 171
6.3.5 在视图和计算列上创建索引 172
6.4 索引的查看和删除 172
6.4.1 使用SQL Server Management Studio 172
6.4.2 使用SQL语言 173
6.5 全文索引 173
6.5.1 SQL Server FullText Search服务 174
6.5.2 创建全文目录 174
6.5.3 创建全文索引 178
6.5.4 全文查询 181
6.6 课堂演练 186
6.7 小结 186
6.8 课后练习 187
6.8.1 选择题和简答题 187
6.8.2 操作题 187
第7章 SQL高级应用 188
7.1 SELECT高级查询 188
7.1.1 数据汇总 188
7.1.2 联接查询 195
7.1.3 子查询 199
7.1.4 使用UNION运算符组合多个结果 205
7.1.5 在查询的基础上创建新表 206
7.2 错误处理 206
7.2.1 使用@@ERROR全局变量处理错误 207
7.2.2 使用RAISERROR 208
7.3 管理ntext、text和image数据 209
7.3.1 检索ntext、text或image值 210
7.3.2 修改ntext、text或image值 213
7.4 事务处理 215
7.4.1 事务分类 215
7.4.2 显示事务 216
7.4.3 自动提交事务 219
7.4.4 隐式事务 220
7.4.5 分布式事务 221
7.5 数据的锁定 223
7.5.1 并发问题 223
7.5.2 事务的隔离级别 225
7.5.3 SQL Server中的锁定 225
7.5.4 自定义锁 228
7.6 使用游标 233
7.6.1 游标的概念 233
7.6.2 使用游标 234
7.6.3 游标类型 239
7.7 课堂演练 240
7.8 小结 241
7.9 课后练习 241
7.9.1 简答题 241
7.9.2 操作题 242
第8章 视图 243
8.1 概述 243
8.2 创建视图 244
8.2.1 使用SQL Server Management Studio管理平台创建视图 245
8.2.2 使用SQL语句创建视图 247
8.3 使用视图 248
8.3.1 使用视图进行数据检索 248
8.3.2 通过视图修改数据 249
8.4 视图的修改 250
8.4.1 修改视图 250
8.4.2 重命名视图 251
8.5 视图信息的查询 252
8.5.1 使用SQL Server Management Studio 252
8.5.2 使用sp_helptext存储过程 253
8.6 视图的删除 254
8.6.1 使用SQL Server Management Studio 254
8.6.2 使用Transact-SQL 254
8.7 课堂演练 255
8.8 小结 255
8.9 课后练习 255
8.9.1 选择题和简答题 255
8.9.2 操作题 256
第9章 数据库完整性 257
9.1 概述 257
9.2 约束 257
9.2.1 PRIMARY KEY约束 258
9.2.2 FOREIGN KEY约束 258
9.2.3 UNIQUE约束 259
9.2.4 CHECK约束 260
9.2.5 列约束和表约束 260
9.3 默认值 261
9.3.1 在创建表时指定默认值 261
9.3.2 使用默认值对象 262
9.4 规则 265
9.4.1 创建规则 265
9.4.2 绑定规则 266
9.4.3 删除规则 267
9.5 存储过程 267
9.5.1 创建存储过程 267
9.5.2 执行存储过程 270
9.5.3 存储过程的参数 271
9.5.4 存储过程的查看、修改和删除 273
9.6 触发器 274
9.6.1 创建触发器 275
9.6.2 inserted表和deleted表 277
9.6.3 使用触发器 279
9.6.4 修改触发器 280
9.6.5 删除触发器 281
9.7 课堂演练 281
9.8 小结 282
9.9 课后练习 282
9.9.1 简答题 282
9.9.2 操作题 282
第10章 数据备份、恢复和报表 283
10.1 SQL Server备份概述 283
10.2 备份数据 284
10.2.1 备份设备 285
10.2.2 备份数据库 287
10.2.3 备份系统数据库 290
10.3 数据的恢复 290
10.3.1 自动恢复 290
10.3.2 恢复用户数据库 291
10.4 数据的导入和导出 293
10.5 Reporting Services 296
10.5.1 安装和配置Reporting Services 296
10.5.2 创建和设计报表 300
10.6 课堂演练 305
10.6.1 备份boarddb数据库 305
10.6.2 制作bookdb数据库中订单的报表 306
10.7 小结 307
10.8 课后练习 307
10.8.1 选择题和简答题 307
10.8.2 操作题 308
第11章 使用VB开发SQL Server应用程序 309
11.1 数据库应用程序开发概述 309
11.2 ODBC概述 310
11.2.1 ODBC体系结构 310
11.2.2 配置ODBC数据源 311
11.3 OLE DB和ADO概述 314
11.3.1 OLE DB体系结构 315
11.3.2 ADO对象模型 316
11.4 在VB中开发SQL Server应用程序 318
11.4.1 ADO的引用和查看 318
11.4.2 使用ADO Data控件开发简单的数据库应用程序 319
11.4.3 使用代码操纵数据库 325
11.5 课堂演练 337
11.6 小结 338
11.7 课后练习 338
11.7.1 简答题 338
11.7.2 操作题 338
第12章 开发Web数据库 339
12.1 概述 339
12.1.1 ASP和ASP.NET简介 339
12.1.2 虚拟目录设置 340
12.2 使用ASP集成Web数据库 343
12.2.1 一个简单的ASP网页 343
12.2.2 ASP内置对象 344
12.2.3 书籍信息查看系统 347
12.3 使用ASP.NET集成Web数据库 352
12.3.1 ASP.NET的虚拟目录设置 352
12.3.2 ADO.NET连接数据库 353
12.3.3 基于ASP.NET的书籍信息查看系统 354
12.4 课堂演练 359
12.5 小结 360
12.6 课后练习 360
12.6.1 简答题 360
12.6.2 操作题 360
附录A SQL语法符号的表示方法 361
附录B SQL语法补充 363
B.1 CREATE DATABASE语法 363
B.2 CREATE TABLE语法 365
B.3 账户管理 368
B.3.1 添加登录账户 368
B.3.2 添加用户账户 369
B.3.3 与角色有关的存储过程 370
附录C SQL Server的内置函数 371
C.1 行集合函数 371
C.1.1 CONTAINSTABLE函数 372
C.1.2 FREETEXTTABLE函数 373
C.1.3 OPENDATASOURCE函数 373
C.1.4 OPENQUERY函数 373
C.1.5 OPENROWSET函数 374
C.1.6 OPENXML函数 374
C.2 聚集函数 375
C.2.1 AVG和SUM函数 375
C.2.2 MAX和MIN函数 376
C.2.3 COUNT和COUNT_BIG函数 376
C.2.4 CHECKSUM和CHECKSUM_AGG函数 376
C.2.5 STDEV、STDEVP、VAR和VARP函数 377
C.2.6 GROUPING函数 377
C.3 配置函数 377
C.4 游标函数 378
C.4.1 @@CURSOR_ROWS函数 378
C.4.2 CURSOR_STATUS函数 379
C.4.3 @@FETCH_STATUS函数 380
C.5 日期时间函数 380
C.6 数学函数 381
C.7 元数据函数 382
C.8 安全函数 384
C.9 字符串函数 385
C.10 系统函数 387
C.11 系统统计函数 391
C.12 文本和图像函数 392
附录D 课后练习参考答案 393